写点什么

不忘初心,砥砺前行|暨 InfoQ 写作平台一周年

发布于: 2021 年 04 月 20 日
不忘初心,砥砺前行|暨InfoQ写作平台一周年

一 缘起 2007

与 InfoQ 相识的时间不算短了,2017 年 10 月 22 日加入,但 2020 年 9 月才在平台上发布第一篇文章,11 月后才开始连载。

之前也在其他平台上断断续续发布过一些文章,像 csdn,职业早期的一些学习比较会在上面同步,记录自己的学习过程和思考,但文章很浅,大多没有深入探索。在有几年的工作经验后,开始在公司的 wiki 上维护设计文档、调研结果等等,但没有同步到外部的写作平台,当时也没有抽出专门的精力来做这件事情。一直到 20 年,在经历了多次挫折之后,决定把自己这些年的工作经验、教训,和新的学习成果及时整理、记录、分享,即是自我提升的良好习惯,也是授人以渔的有效方式。

二 内容回顾

回顾最近的这段时间,整理的文章数已经超过百篇了,不过关注和阅读、评论都不太多。也很正常,毕竟整体来看写作时间不长,加上内容相对分散,有不少还是比较基础的内容。计划在未来一段时间,会把内容进行整合。


目前内容覆盖的几个方向,包括算法、架构设计、源码分析、容器 &虚拟化、微服务、数据库(Mysql)、缓存、热门话题等,已整理的系列如下:

2.1 微服务网关

微服务架构:网关概念与 zuul

微服务网关:Spring Cloud Gateway —— Zuul

微服务网关:Spring Cloud Config- 配置中心

微服务网关方案:Kong & Nacos

Nacos 实践

微服务网关:Nacos 源码实践(二)

2.2 容器 &服务

容器 & 服务:开篇,压力与资源

容器 & 服务:一个 Java 应用的 Docker 构建实战

容器 & 服务:Docker 应用的 Jenkins 构建

容器 & 服务:Docker 应用的 Jenkins 构建 (二)

容器 & 服务:K8s 与 Docker 应用集群 (一)

容器 & 服务:K8s 与 Docker 应用集群 (二)

容器 & 服务:Kubernetes 构件及 Deployment 操作

容器 & 服务: ClickHouse 与 k8s 架构

2.3 算法 &面试

算法思考:红包金额生成

【leetcode 题目】2. 两数相加

近期某大厂的技术面试题及答案整理

算法:求两个单向链表的最早公共交点

【算法题目解析】杨氏矩阵数字查找

2.4 源码分析

怎样更好地阅读源码?

2.4.1 Netty

源码分析 -Netty:开篇

源码分析 -Netty:多线程在 Netty 中的应用

源码分析-Netty: 并发编程的实践(二)

源码分析-Netty: 架构剖析

源码分析-Netty: 高性能之道

源码分析 Netty:核心组件及启动过程分析

2.4.2 Dubbo

dubbo 源码 v2.7 分析:结构、container 入口及线程模型

dubbo 源码 v2.7 分析:SPI 机制

dubbo 源码 v2.7 分析:核心机制(一)

dubbo 源码 v2.7 分析:核心机制(二)

dubbo 源码 v2.7 分析:通信过程及序列化协议

2.4.3 Spring

不过只整理过一篇:

Spring 框架源码:BeanFactory 与 Bean 的生命周期

2.5 并发编程系列

并发编程系列:关于线程中断

并发编程系列:阻塞队列的实现原理

并发编程系列:线上问题定位

【并发编程的艺术】JVM 体系与内存模型

【并发编程的艺术】JAVA 并发机制的底层原理

【并发编程的艺术】JAVA 原子操作实现原理

【并发编程的艺术】JVM 内存模型

【并发编程的艺术】详解指令重排序与数据依赖

【并发编程的艺术】Java 内存模型的顺序一致性

【并发编程的艺术】详解单例模式的实现方式(Java)

【并发编程的艺术】Java 内存模型总结

2.6 数据库-Mysql

【Mysql-InnoDB 系列】InnoDB 架构

【Mysql-InnoDB 系列】锁

【Mysql-InnoDB 系列】事务模型

【Mysql-InnoDB 系列】关于一致读

【Mysql-InnoDB 系列】锁定读

【Mysql-InnoDB 系列】事务提交过程

【Mysql-InnoDB 系列】幻读、死锁与事务调度

2.7 操作系统

【Linux 系统】一个常驻进程问题的再次分析

【Linux 系统】常驻进程应用实践

【shell 命令】关于 mac 的 open 命令

Linux 的进程 pid 编号极限

关于 linux 操作系统中的 buff/cache

提升 awk 技能的两个教程【译】

2.8 工作思考 &方法论总结

迭代技术方案设计文档规范

面试,到底在考察什么?

上线操作规范——基础版本

业务架构设计迭代演进思路

也谈“中年焦虑”

架构进阶之路:复杂业务开发与领域驱动设计

设计与思考,关于资源和生命周期(三)

2.9 话题

话题讨论 | 工作之外的时间怎样分配

话题讨论 | 比特币攻击重现江湖,你准备好了吗?

话题讨论 | 你”节后综合症“了吗?

话题讨论 | 国产 GPU 公司连续融资,春天已来?元芳你怎么看?

话题讨论 | 再现 MWC,5G 的商用落地进展如何?

话题讨论 | 又一家大厂进入汽车领域,"百车大战"即将来临?

话题讨论|造车之外的另一战场,AI 芯片前景如何

三 关于知识体系

相信大家有了几年的工作经验之后,应该都有构建知识体系的思考,什么是知识体系?为什么构建知识体系?

对于职场新人来说,能够解决工作上的问题往往是优先级最高的,因为知识储备还不够,所以使用到、解决问题时获取的知识点是零散的,细碎的。当然,这本身在职业初期是正常的,但问题在于之后。因为零散的知识点之间缺乏足够的联系,而且很可能某个(或很多)知识点在用过之后就会被忘记,从长远来说并不利于个人成长。这带来的一个很常见的问题就是,“我明明做了很多事,解决了很多问题,但为什么感觉没有印象?没有成就感?”

另一个方面,大家如果仔细思考,就会想起我们的大脑通常具有以下几个特点:

1)距离当前时间越近的事情越容易想起且记忆清晰;

2)某些特定的人/事/知识点会记得特别牢靠,例如特定的时间点(生日、重大事件当天或前后)、反复强化的内容(小学课文,阅读并背诵全文)等;

3)记忆可能会出现偏差,可能 A,又好像是 B,但其中某一个或几个事实上是没发生过的

这里无意深入探讨大脑的结构和运行逻辑,但基于一些常见的特征,我们可以尝试并总结出合适的方法来更好地让大脑发挥出最大的功能。例如,重要知识点反复强化理解,抽时间系统学习某个领域/技术/框架知识,从浅入深,自上而下;当思维有调理,遇到问题寻找答案时,能够使用合理建立在脑中的“索引”,那么就能够事半功倍。

是不是感觉跟我们使用的某些技术有些类似?Mysql 的索引,缓存(Redis)的淘汰机制,决策树... 当对某个领域深入掌握并融会贯通之后,你很可能会发现,这些知识在其他的地方也存在类似的逻辑/原理,这也是支持快速掌握不同技术的基础。

四 不忘初心,砥砺前行

从事行业已久,尤其是最近一段时间,又花时间对工作经历做了深刻的反思。同样的起点,不同的选择,在几年之后会发现,你与当初能力、背景基本相同的同学、同事在发展上可能有了天壤之别。而这也很可能不是技术、业务能力的原因,而是差在选择。当然,即使做过同样的选择,由于各种因素的存在,也不会有相同的收获。

不要过多的抱怨,因为这就是现实。理想很丰满,现实很残酷。选择在很多时候会大于努力,这就是现实与各种鸡汤之间的最大差别。但并不意味着努力无用,我们只是需要在每次挫折之后,重新审视自己的选择,把努力放在正确的方向上,才能收获属于自己的最佳结果。即使这仍然不足以让自己成为让人羡慕的少数人,至少也能够保证在当前的方向上,得到让自己相对满意的结果。

新的机遇和挑战即将开始,珍惜每一次选择的机会,不断夯实基础,保持所在领域技术和业务的敏感度,相信未来一定能有所收获。

开发不只是一个职位,更是一种追求。2021,与 InfoQ 一起,不忘初心,砥砺前行。你的坚持,终将美好!

发布于: 2021 年 04 月 20 日阅读数: 669
用户头像

磨炼中成长,痛苦中前行 2017.10.22 加入

微信公众号【程序员架构进阶】。多年项目实践,架构设计经验。曲折中向前,分享经验和教训

评论 (4 条评论)

发布
用户头像
来给大佬点个赞
2021 年 05 月 19 日 13:48
回复
哈哈,不敢不敢,吓得我赶紧去你主页点个关注
2021 年 05 月 19 日 13:50
回复
😁,大佬别这样,我只是来膜拜一下
2021 年 05 月 19 日 13:54
回复
你们才是大佬啊,我都停更好几天了。。哈哈,过几天工作有空闲再向大佬们看齐
2021 年 05 月 19 日 19:20
回复
没有更多了
不忘初心,砥砺前行|暨InfoQ写作平台一周年