1、年度总结

时间一转眼就到了2021年最后一天,以2021最后一个工作周的周五结束,是的2021年就这样过去了

2021年是来北京的第3个年头,也是本科毕业的第2年

在这一年年末,完成了北漂两件(大)事:换工作、换房

工作

如封面图,现在的工作地点在五道口

有时候我会觉得我是一个念旧的人,对于人生旅途上的人和事总会有那些美好让你难以释怀

因此换工作对我来说是一件艰难的事情

但转而一想,从初中开始,我们所处的环境、我们身边的人每过3年、4年就会换一拨

所以工作其实也是一样罢了,只要我们时常想起的时候总是充满美好就可以了

换工作对于职业发展、技术路线、公司发展等多方面也进行了多方取舍,最终选择了现在的公司

学习

这一年也在Todo中定下了不少学习计划,具体这里就不列出了

部分计划的成果以博客/公众号文章的形式进行了输出,公众号原创的确是一件不容易的事情,上半年坚持周更三篇,下半年就只能周更两篇了,明年再接再厉

当然,在计划充分饱满的前提下,应该没有人能说把年初计划完美的完成了

计划赶不上变化,人生总会有遗憾 ~

生活

从实习来到北京,就一直住在被冠以“老破小”称号的六七十年代筒子楼

搬家或许对于多数人来说都是一件很艰难的事情

为了减少通勤时间,改善改善居住环境

终于在最近一个周末狠下了心,连续完成了看房、搬家

下面就是以后经常战斗的小窝啦 ~

骑行

这一年由于在前司找到了完美的停车位,感谢领导让我的小小爱好得以坚持

由于工作以及个人时间安排经常和俱乐部时间冲突,所以这一年去俱乐部一起参加活动的时间也就少了

更多骑行的时间还是在通勤以及和朋友休闲骑

希望新的一年到来后能继续并有所突破

2、公众号文章回顾

这一年开始在写博客的同时发表到了公众号,除去转载的部分好文,剩下的原创文章和学习笔记按照领域分类,或按时间先后、阅读量排序整理如下,方便大家继续点击直达

云原生、Kubernetes、容器相关

k8s生产实践之获取客户端真实IP

基于ack k8s集群调度的方案设计

Dockerfile语法概要

k8s环境下处理容器时间问题的多种姿势

SkyWalking链路追踪系统-部署篇

SkyWalking链路追踪系统-接入篇

SkyWalking链路追踪系统-告警篇

浅谈Prometheus的数据存储

使用kube-prometheus部署k8s监控(最新版)

基于k8s集群部署Nexus与旧数据的迁移

基于Dockerfile构建容器镜像的最佳实践

两大grafana实用插件快速监控kubernetes

Helm Chart语法概要

k8s内网和办公网络的打通实践

基于k8s手动部署rabbitmq集群

任务执行龟速,原因竟然是......

在k8s中解决pod资源的正确识别

k8s之Ingress自动化https

k8s Ingress nginx错误页面的深度定制

基于k8s Ingress Nginx+OAuth2+Gitlab无代码侵入实现自定义服务的外部验证

使用flannel+canal实现k8s的NetworkPolicy

kubernetes存储之GlusterFS

ack集群Terway网络场景下的vSwitch扩容

DevOps、Jenkins相关

DevOps建设之基于钉钉OA审批流的自动化上线

Jenkins API+Pipeline深度实践之input的自动化

JenkinsPipeline语法概要

Jenkins连接k8s的多种姿势

Jenkins workflowLibs库的使(妙)用

Jenkins ShareLibrary实践之自定义通知器

使用Jenkins Operator在k8s中部署Jenkins

利用Github Action实现Github到Gitee的持续同步

Azure DevOps的使用入门

Python

Celery在Django中的简单应用

drf的接口文档生成与管理

浅谈Python鸭子类型

drf分页器的使用

基于Python实现原生的登录验证码

Python分析Nginx日志

Django分页器的用法

Django自定义实现分页器

vue+drf+第三方滑动验证码的接入实现

数据分析之Numpy入门

剖析和解决Python中网络粘包的正确姿势

drf序列化器之反序列化的数据验证

Django之URL反向解析

Golang

浅谈GoPath和Go Modules包管理

Golang格式化输出

Golang数据类型之数组

Golang数据类型之切片

浅谈float浮点型的底层存储与运算

Golang数据类型之Map

Golang函数参数的值传递和引用传递

Golang结构体类型的深浅拷贝

Golang数据类型之指针

Golang单元测试

Golang基准测试

Golang数据类型之结构体-上篇

Golang数据类型之结构体-下篇

Golang文件操作-上篇

Golang文件操作-下篇

Golang开发命令行工具之flag包的使用

Golang接口类型-上篇

Golang接口类型-下篇

Golang反射-上篇

Golang反射-下篇

Golang与散列算法

Golang与对称加密

Golang与非对称加密

数据库相关

MySQL工具Atlas的安装使用

MySQL多实例的部署

MySQL MHA部署与测试-上篇

MySQL MHA部署与测试-下篇

MySQL备份工具之Xtrabackup

MySQL基于Binlog的数据恢复实战

数据库中间件Mycat的安装使用

Centos7静默安装Oracle11g

Git相关

使用git-svn无损迁移SVN至GitLab

Git目录为什么这么大

利用Git钩子实现代码发布

Linux相关

Squid代理及常见的代理上网

非LVM的xfs文件系统扩容

DNS or hosts ?

Tomcat调优整理

利用GoAccess分析web服务日志

LVS负载均衡之DR模式

LVS负载均衡之NAT模式

Nginx 目录浏览基础与进阶

其他杂文

我的生产力工具推荐-终端01篇

我的生产力工具推荐-IDE插件篇

Mac + VMware Fusion + Windows11尝鲜

Mac下iTerm2配置lrzsz功能

写在 2021 快要结束的夏天

好了,年度总结就到这里吧

感谢身边时长陪伴与关心的人,感谢这一年来遇到的人和事,感谢所有公众号读者

新的一年继续保持初心,向大家分享更好的内容,一起进步