系列文章目录
第100篇,我的10年3000粉心得
文章目录
前言
CSDN2022
2021年的年度报告出来,才发现自己也是个在CSDN有4千多天的“老用户”了:
2021年10月回归后,开始耐心经营自己的博客,至今也4000粉丝了。写了一些散碎的文章,也开始了一个新的系列。
一、写文心得
已经发了99篇,这应该是第100篇原创了,聊聊这几年的写作心得。
- 文章排版
说起写文章,得感谢我的第一家实习单位,当时我们几个实习生一起做过小系统,从0开始。第一件事就是写自己负责部分的需求规格说明书,对格式要求的非常严格。从文章的层次结构、字体、排版,到目录、页眉页脚等,都要求的非常高。也是在那时学习了Visio,到现在依然喜欢用这它来画流程图,当时有件事记得非常深刻,那就是流程图的检查,会将图放大,然后看线条是否存在打弯的情况。现在想想当时的经历,收获还是非常大的。
现在写文章,除非是写一个简单的问题解决记录,否则都会很细致的调文章的格式、配图等。一个好的版面是读者能看下去的第一步。
- 文章内容
关于文章内容,一般分为两种,一张是单独的文章,一种则是多篇形成一个系列的文。个人还是喜欢按系列来写,写文章也是对自己的知识、思路的梳理,系列文章形成一整套知识的集合,也方便自己后期查阅。
二、回顾2021
2021年,开了两个系列:
1. Tomcat 10 源码分析系列
本着知其然也要知其所以然的习惯,开始阅读Tomcat的源码,版本选择了当前最新的Tomcat10,随着源码的分析,同时顺便解析其中的设计思路,学习其中的设计模式。
至今已完成了5篇文章,后面会继续。
- 拆解Tomcat10: (一) 如何快速的学习一门新的语言
- 拆解Tomcat10: (二) 在Idea中调试最新的Tomcat10源码
- 拆解Tomcat10: (三) 图解Tomcat的启动过程
- 拆解Tomcat10: (四) 图解架构
- 拆解Tomcat10: (五) 核心组件的协调控制与设计模式解析
2. Java Vs C#系列
本系列将对比Java和C#两种语言的不同,例如类、集合、泛型等,以对比的方式进行深入学习。
【.Net vs Java? 】 先来看一下Java和C#的数据类型区别。
【.Net vs Java? 】 看一看二者的类有多像?
三、展望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
2. Linux系统目录
- /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等。
4. Linux网络设置
显示所有包括不活动连接
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 明明就是半分钟的事情。
先建个目录:
sudomkdir -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 lineports:- 8443:8443volumes:- ./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插件。
- 打开一个终端窗口。
- 下载
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年的展望了。定个小目标,走起!
版权归原作者 FlyLolo 所有, 如有侵权,请联系我们删除。