第100篇,我的10年4000粉心得

系列文章目录

第100篇,我的10年3000粉心得

文章目录

  • 系列文章目录
  • 前言
  • 一、写文心得
  • 二、回顾2021
    • 1. Tomcat 10 源码分析系列
    • 2. Java Vs C#系列
  • 三、展望2022,Linux系列
    • 1. Linux系统安装
    • 2. Linux系统目录
    • 3. Linux系统常见命令
    • 4. Linux网络设置
    • 5. Linux系统中Docker安装及配置
    • 6. Linux系统Docker中Git配置
    • 7. Linux系统Docker中配置Jenkins
    • 8. 其他计划文章
  • 总结


前言

CSDN2022

2021年的年度报告出来,才发现自己也是个在CSDN有4千多天的“老用户”了:

image-20220112212107750

2021年10月回归后,开始耐心经营自己的博客,至今也4000粉丝了。写了一些散碎的文章,也开始了一个新的系列。

一、写文心得

已经发了99篇,这应该是第100篇原创了,聊聊这几年的写作心得。

image-20220120143827684

  • 文章排版

说起写文章,得感谢我的第一家实习单位,当时我们几个实习生一起做过小系统,从0开始。第一件事就是写自己负责部分的需求规格说明书,对格式要求的非常严格。从文章的层次结构、字体、排版,到目录、页眉页脚等,都要求的非常高。也是在那时学习了Visio,到现在依然喜欢用这它来画流程图,当时有件事记得非常深刻,那就是流程图的检查,会将图放大,然后看线条是否存在打弯的情况。现在想想当时的经历,收获还是非常大的。

现在写文章,除非是写一个简单的问题解决记录,否则都会很细致的调文章的格式、配图等。一个好的版面是读者能看下去的第一步。

  • 文章内容

关于文章内容,一般分为两种,一张是单独的文章,一种则是多篇形成一个系列的文。个人还是喜欢按系列来写,写文章也是对自己的知识、思路的梳理,系列文章形成一整套知识的集合,也方便自己后期查阅。

image-20220120170507396

二、回顾2021

2021年,开了两个系列:

1. Tomcat 10 源码分析系列

本着知其然也要知其所以然的习惯,开始阅读Tomcat的源码,版本选择了当前最新的Tomcat10,随着源码的分析,同时顺便解析其中的设计思路,学习其中的设计模式。

至今已完成了5篇文章,后面会继续。

  • 拆解Tomcat10: (一) 如何快速的学习一门新的语言

image-20220120170756763

  • 拆解Tomcat10: (二) 在Idea中调试最新的Tomcat10源码

image-20220120170852834

  • 拆解Tomcat10: (三) 图解Tomcat的启动过程

image-20220120170907388

  • 拆解Tomcat10: (四) 图解架构

image-20220120170923537

  • 拆解Tomcat10: (五) 核心组件的协调控制与设计模式解析

image-20220120170935452

2. Java Vs C#系列

本系列将对比Java和C#两种语言的不同,例如类、集合、泛型等,以对比的方式进行深入学习。

【.Net vs Java? 】 先来看一下Java和C#的数据类型区别。

image-20220120170959962

【.Net vs Java? 】 看一看二者的类有多像?

image-20220120171020398

三、展望2022,Linux系列

2022年,在上面提到的两个系列之外,还准备再写个Linux系列,当然不是非常专业的深挖Linux,而是专注后端程序员涉及到的一些常见操作。初步列了几篇文章的计划如下。标题及摘要:

1. Linux系统安装

本打算以CentOS为例的,结果CentOS已经停止维护了,决定以Rocky Linux为例。

2020 年 12 月 8 日,Red Hat 宣布他们将停止开发 CentOS,这是 Red Hat Enterprise Linux 的生产就绪下游版本,转而支持该操作系统的更新的上游开发变体,称为“CentOS Stream” . 作为回应,CentOS 的原创始人 Gregory Kurtzer 在 CentOS 网站上发表评论宣布,他将再次启动一个项目以实现 CentOS 的最初目标。 它的名字被选为对早期 CentOS 联合创始人 Rocky McGaugh 的致敬。 到 12 月 12 日,Rocky Linux 的代码仓库已经成为 GitHub 上的热门仓库。

官网下载地址如下:

https://rockylinux.org/download

image-20220112090309682

2. Linux系统目录

image-20220120210242786

  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

3. Linux系统常见命令

常用的linux命令一般可以分为很多种,比如查看硬件信息相关命令就有8个,分别是ifconfig、free、fdisk、ethtool、mii-tool、dmidecode、dmesg、lspci,用于内存的命令是top、free、vmstat、mpstat、iostat、sar等。

image-20220120210800061

4. Linux网络设置

image-20220120210917665

 显示所有包括不活动连接

 nmcli con show

 显示所有活动连接

 nmcli con show --active

 显示网络连接配置

 nmcli con show 网卡名

 显示设备状态

 nmcli dev status

 显示网络接口属性:

 nmcli dev show eth0

 创建新连接default,IP自动通过dhcp获取:

 nmcli con add con-name default type Ethernet ifname eth0

 删除连接:

 nmcli con del default

 创建新连接static ,指定静态IP,不自动连接:

 nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254

5. Linux系统中Docker安装及配置

安装Docker-Compose

1.进入https://github.com/docker/compose/releases 查看最新版本,当前版本为1.23.1

curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose

 
2.设置权限
sudo chmod +x /usr/local/bin/docker-compose
 

3.查看是否安装成功
docker-compose --version

最后再该目录下启动 docker:

sudo docker-compose up

查看所有 docker ps -a

6. Linux系统Docker中Git配置

很多程序员在内网搭建 gitlab 都搭建的坑坑洼洼,不支持 https,或者装个 gitlab 就把服务器弄得乱七八糟的,根本不知道该怎么维护和迁移。还有程序员再用最原始的,远程机器上:

git --bare init

然后其他人按照 ssh 的协议来克隆的刀耕火种的方法,还有项目用 php 写 fastcgi 来提供 git 服务。真的有那么麻烦么?正确使用 Docker 搭建 Gitlab 明明就是半分钟的事情。

先建个目录:

sudo mkdir -p /home/data/gitlab/config

新建并编辑文件:/home/data/gitlab/docker-compose.yml

gitlab:
    image: gitlab/gitlab-ce:14.0.7-ce.0
    restart: always
    hostname: '192.168.1.11'
    environment:
        GITLAB_OMNIBUS_CONFIG: |
            external_url 'https://192.168.1.11:8443'
            nginx['redirect_http_to_https'] = true
            letsencrypt['enable'] = false
            nginx['ssl_certificate'] = "/etc/gitlab/nginx.pem"
            nginx['ssl_certificate_key'] = "/etc/gitlab/nginx.key"
            # Add any other gitlab.rb configuration here, each on its own line
    ports:
        - 8443:8443
    volumes:
        - ./data:/var/opt/gitlab
        - ./logs:/var/log/gitlab
        - ./config:/etc/gitlab

然后在该文件目录下,新建自签名的证书:

sudo openssl req -new -x509 -days 36500 -nodes -out config/nginx.pem \
         -keyout config/nginx.key -subj "/C=US/CN=gitlab/O=gitlab.com"

安装Docker-Compose

7. Linux系统Docker中配置Jenkins

建议使用的Docker映像是jenkinsci/blueocean image(来自 the Docker Hub repository)。 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插件和功能。这意味着你不需要单独安装Blue Ocean插件。

  1. 打开一个终端窗口。

  2. 下载 jenkinsci/blueocean 镜像并使用以下docker run 命令将其作为Docker中的容器运行 :

    docker run \
      -u root \
      --rm \  
      -d \ 
      -p 8080:8080 \ 
      -p 50000:50000 \ 
      -v jenkins-data:/var/jenkins_home \ 
      -v /var/run/docker.sock:/var/run/docker.sock \ 
      jenkinsci/blueocean 
    

8. 其他计划文章

Linux系统中自动部署

Linux系统中配置Nginx

Linux…

总结

以上就是对2021年的总结以及对2022年的展望了。定个小目标,走起!

你可能感兴趣的:(杂谈,linux,网络,docker,csdn)