整理个站已经有三周了。最初是因为Evernote开始收紧免费空间,考虑到以后可能还会继续收紧。一开始打算转有道云,但是很快发现有道云远远不如Evernote,而且说不定哪天它也要收费。刚好看了一篇博文,作者说自己在Github上写了一本书。然后我就想既然能在上面写书,那么也可以写博客。加深搜索,发现Github有专门的Github Pages服务,免费提供建立个人静态站点服务。这种服务的好处在于,格式内容自己掌控,就算有一天收费了甚至不提供服务了,我还可以把代码转移到自己的服务器中。恰好此前买了一个域名,正好用上。这就是我整理个站的初衷。

     虽然在整理个站的时候遇到一些前端问题(如果有人有兴趣帮我改善网站界面,可以联系我,你能很方便地通过Github提交你的修改),但根本目的还是要回归本源:就是把自己的知识系统地整理出来,用以分享备忘积累。因为以前写的东西都是自己一个人看的,所以零零碎碎,杂乱无章。而且以前从来不在博客网站写博文,一是觉得水平不够,二是觉得博客网站的体验太差。现在一切都变得不一样了,写出来的东西要面向所有人,而且因为格式内容都可以自己掌控,因此我下定决心,以后只用个站记录知识。所以,以后加上去的内容都必须是高质量的,拿得出手的。

     我从差不多毕业的时候发现了Evernote,从此一直使用它记录问题、做笔记、做收藏……到现在已经四年有余了,积累了近六百条笔记。我试图把这些内容搬到个站,可事实证明这是不可能的。它们有的可能是一条备忘录,有的可能是一段突如其来的感悟,有的可能是没有上下文的读书笔记,有的可能是一段假设,有的可能是一篇完整的文章,有的可能是剪藏他人的网页,有的可能是写了一半没写完……因为杂乱,所以尘封,所以也没有积累的效果。找来找去,只找到两处还算比较系统的。一处是刚毕业去公司的时候,听培训老师讲的Oracle课程的学习笔记;一处是应公司要求做一个技术分享,写了一套关于Tomcat源码解析的系列文章。令人苦笑的是,两处都是因为有外界的压力,所以才让它们变得系统。

     现在正好做个比较,系统的知识和零碎的知识有什么区别。我重新看了一遍Tomcat源码解析文章,有一种很奇怪的感觉,就是觉得怎么以前那个时候就那么聪明了?怎么那么聪明过却不记得了?哈哈……然后又看了一篇记录的不怎么完整的笔记,怎么也想不起当初到底是为了什么要写这些东西,觉得这些东西根本不需要记。仔细思考了一会,其实不难理解,系统的知识充满了上下文、因果关联还有一些独创性的想法,这些东西很容易被遗忘,当自己重温的时候,结合新学的知识能激起更深刻的理解,甚至能做一些修正补充。而零碎的知识可能只在当时有用,在以后的情境中,可能都作用不大了,就算有作用也会忘记去找它。对自己如此,对别人差异就更大了。经常看到网上有人贴一大串代码在自己的博客上,可是那有什么意义呢?没人能看出有什么用。

     人和知识打交道的时候,无外乎三种方式,一种是学习,一种是分享,一种是应用。刚才讲的其实是分享,讨论了分享系统的知识才有意义。而学习系统的知识就更重要了。经常在技术公众号里面看到各种各样看起来很厉害的架构图,经常看的云里雾里,因为它不是系统的知识。可以这么说,任何流行的技术,应该都是很简单就可以学会的,要不然流行不起来。如果你觉得很难,不是你智商的问题。你应该首先检查你学的知识是不是系统的权威的。如果你只是依靠零散的文章学习新技术,那你十有八九会觉得很难。而且那种机械地堆在一起的高大全的知识不是系统的知识,国产技术书一般都是这样。以我的经验,一本好的技术书,都充满了对过去、现状、未来的描述,让人知道来龙去脉,而且还有很多独家见解,不一定客观但是很能激发思考,让人学起来如沐春风。相信其他载体或题材的知识也一样。

     同样,应用系统的知识也很重要。这就是技术项目中需要一个架构师的原因。架构师通过理解现实情景,在大量技术中进行选型,选出最合适的技术组合。这个时候如果来了一个初级工程师,使用了自己最近学的最炫酷的技术,但是不适合在这个项目中用。那么架构师的最初设想就会偏离。如果多来几个这样的初级工程师,并且架构师离开了的话,整个项目过不了多久就没法维护了。架构师应用的是系统的知识,初级工程师应用的是零碎的知识。这是一个在技术项目领域很常见的例子,相信这也是一个放之四海而皆准的道理。

     有些人可能会强烈反对。他们认为遇到问题的时候,最快的解决方式就是使用搜索引擎,而通过搜索引擎得到的知识大都是零散的。没错,那是因为搜索引擎使用了非人类的思考方式(人工智能)帮你筛选出了符合你遇到的问题的情境。但是你别忘了,这只能解决你当前的问题。而这个问题本身就是小而孤立的。如果你要创建一个独一无二的系统,你用搜索引擎能搜出来吗?可以,但是你必须专门搜那些系统的知识,看零碎的知识是解决不了这种系统性问题的。

     有一个很现实的问题是,不论是学习系统的知识,还是分享系统的知识,还是应用系统的知识,都需要付出巨大的努力,需要投入大量的时间。像我这个例子,四年写了600篇笔记,只有10来篇是系统的,还是在外力作用下完成的,所以对我这样的普通人来说要付出努力是多么困难。但是,当你看到一个博士刚毕业的学生比你厉害,当你看到一本好书的作者年龄竟然比你小,当你看到你的年龄竟然和架构师一样大(而你还是一个初级程序员),你就会明白,因为害怕投入你丢失了多少青春。

     还有一个很现实的问题是,当你跑进书城,你看到了一片浩瀚的书海……这时候,记住两句话,一句是有舍才有得,另外一句是一切随缘……我只看一个书城中的一两个书架的书。

     开个玩笑,这篇文章其实一句话就够了:系统的知识才有意义。其它都是废话,哈哈……但是你看完整篇文章肯定比看完一句话要感触深很多,因为这篇文章经过了系统思考。