合抱之木,生于毫末

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。

“合抱之木,生于毫末”是我非常喜欢的一句话,强调万事积于忽微,也就是积累的重要性。

要说到积累,我积累的最多的应该就是写代码和写作。由于接触计算机比较晚,本科阶段一直想做学术,所以本科阶段的编码训练并不是很多。在本科毕业之后,本来是去中科院硕博连读,经过一个学期,终于决定还是要去工业界。确定了之后,就开始高强度的代码编程训练。光《算法导论》我就刷了三遍,课后习题做了一遍。《深入理解计算机系统》等书籍也是刷了三遍以上。研究生阶段基本由个人负责的大型项目的代码行数也是在十万行以上。找工作的时候参加 Google Code Jam 校招比赛,打到全球前两百名,最后通过 Google 的校招算法面试。

但是本文要说的是我的另外一个坚持的习惯:写作,以及我之后的关于写微信公众号的打算。我大概是从大二,也就是 2009 年的时候开始写个人博客,只不过后来因为个人原因很多早期的文章都丢掉了,实在可惜。那么下面就简单说一下写文章这么一件简单的小事对我的个人影响。

1. 写文章对于个人的影响

其实这么长时间的写作训练对于个人的影响还是很明显的的。

加深知识的理解

在写技术文章的时候,这一点感受尤其强烈。本来以为对某个技术已经了然于胸了,但是在写的过程中才发现要写出来让别人明白,可能并不是那么容易。所以才有教学相长的说法,“学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。故曰:教学相长也。”

练习表达能力

这一点是显而易见的,因为写作本来就是将表达思想。我们在义务教育抑或是高中阶段的作文其实也是一种表达能力的锻炼,但是可能是应试教育总有一种舍本逐末的感觉。在我看来,最好的表达方式应该是将复杂的事情用最简单明了的方式表达出来,而学生时代的作文往往过于追求辞藻的华丽。

提高个人的品味

这一点可能有点言过其实,但是确实是我自己的亲身感受。为了写好文章以及追求好的排版,我看过很多书籍并对比过不同文章的写作风格。比如说在文章中使用短句就要比使用长句让读者读起来更加的轻松;排版方面英文单词和中文单词混排的时候如果中间能够有个半角符的空格间隔带来的阅读体验提升也是一种享受。

意外的机会

在《绣春刀》电影里面有一句台词:“咱没银子没路子,靠的就是机会。机会来了接住了,就能翻身”。

问题在于机会是可遇不可求的。但是在写文章的过程中,因为一直在曝光,所以有的时候还是有一些意向不到的机会的,比如企业的有偿培训要求,有偿网课录制,出版社出书邀请等,这些我都遇到过。

2. 为什么要写公众号

我过去一段时间一直在思考如果将个人的作用尽量最大化。我在学生初入职场的困惑别人肯定也有,我们在日常工作中使用的技术在其他公司可能也有使用,我们在日常工作中踩到的坑其他公司的朋友可能也会遇到,那么为什么不将这些东西分享出去呢?

不管是在个人博客,还是在知乎专栏这种平台上面写文章,总感觉作者和读者之间的纽带相对薄弱。知乎相对于个人博客还更好一点。但是可能是因为公开平台的原因,有很多个人的想法总有一种 “不足为外人道也” 的感觉。所以现在尝试在微信公众号上写技术文章以及自己的一些感悟,毕竟这里有一种自留地的感觉。

3. 关于我

最后补充一点自我介绍。我 2012 年本科毕业于哈尔滨工业大学,2015 年毕业于中国科学院计算技术研究所。目前就职于阿里云。

毕业 4 年对于一个人来说长也不长,短也不短。我在过去 4 年通过阅读源代码的方式深入研究过 Golang 的底层原理,runtime 机制,并产出了一系列的文章,包括的 Golang 内存管理,GC 剖析,Interface 解析,Channel 解析等。这些文章应该是国内互联网上面第一批研究源码的系列技术文章。现在再看新的解析文章,很多文章多多少少都有我之前的文章的影子。

另外,我还在系统的学习分布式系统方面的知识,包括分布式存储和计算。我学习的方式比较原始,一般都是通过读 paper,跑 demo,看官方文档,最后某个细节看源码。

如果想了解更多,欢迎阅读我的博客:www.legendtkl.com。以及知乎专栏:Golang Inside 和 Distributed Computing Technology。当然最好是关注公众号或者加微信与我交流。微信号和公众号如下: