关于blog书写及技术知识管理的一些感想

这周二下班在路边饭馆吃饭的时候,在开发者头条上看到这篇文章,程序员的知识管理,其中一段话引起了我的思考,前几天按照文中提到的simiki,搭建了个人的wiki,于是在今天就将阅读文章的一些感想书写出来,与大家分享。

我的blog 2014年9月在博客园开通,但是中间一直没有坚持写下去,直到今年3月初的一天,我突然想让自己养成书写blog的习惯,于是就规定自己一个月最少4篇日志,平均一周一篇blog,用于记录平时的技术点滴。于是,我在3月-5月份这三个月分别写了4篇、6篇、10篇blog,看着数量上越来越多,能够坚持下来,我很庆幸。但是,如果我没有读过刚才提起的那篇文章,我还是会按照之前的习惯来书写我的blog。

文章将程序员的知识管理分为三个过程,分别是知识积累、碎片整理、思考加工:

  1. 知识积累,将网络上好的技术文章按照类别,分们别类 保存到笔记软件中,避免遇到旧问题重复搜索,属于知识的仓库。

  2. 碎片整理,如Linux常用的命令、Python常用的库函数等等,通过man手册,或者python的help(函数)可以比搜索引擎快,但是1)按照指导,依然需要尝试;2)不知道命令或者函数名称,那就go die。将看到的技术文章的精华提取、整理到wiki,初步消化这些知识,也是为后续的思考加工做准备,这部分更多的属于知识的搬运。

    不用笔记软件保存知识碎片,是因为保存到笔记软件的文章终究还是别人的,我只是保存下来,并没有消化。

    wiki可以随处访问;wiki是共享的。

  3. 思考加工,写blog是最好的思考加工知识,网络上大部分blog以操作指南类为主,这类文章更应该放在wiki中,因为 纯操作指南类的文章只是描述步骤,关注点是怎么做,而不是为什么这么做,而写blog,关注点应该在为什么,需要我们讲清楚为什么这么做,需要我们从原理的角度来解释这个问题,这部分知识才属于自己。

思考: 前段时间我的blog也多是操作指南类文章为主,包括各种深度学习开源框架的环境安装、git命令等等,在我看到这篇文章后,我开始反思自己所写的blog,它们是我按照网络上许多文章(其中的关键文章,我会放入blog中的参考链接)的指导,摸索着搭建好环境,然后书写这些blog,这些blog的成型,里面有着我所付出的努力。但是,正如文章中提到,它们并非不重要,只是放错了位置,这类文章更应该放在wiki中,而blog更应该记录我们对于一个知识点的系统理解,可以做到让看过这篇blog的读者不仅知其然,还能知其所以然。以机器学习中svm模型为例,关于svm的blog更应该以这样一种形式出现,介绍svm的大体思路,然后引入线性分类,根据线性分类的缺陷,引入核函数,再放宽条件,引入松弛因子;在实际中,该如何求解svm中的参数,引入smo算法,以及svm的应用场景,最终一个可以在理论上完备,在实际中可训练的svm模型就出现了,如此这篇blog在记录了理论推导、程序编写等工作,也溶入了我们很多思考的结晶,分享出来,或许可以有益于别人更容易的理解这个模型。

写出一篇对知识系统理解的blog,需要我们预先做很多工作,做到理解这个知识点的所有细节,而不仅仅是停留在这个知识点的表象之外,就像我们看待事情一样,用心眼去看,而非肉眼去看。这不经让我想起了电影“大话西游”中至尊宝的那句台词,“以前我看事物,是用肉眼去看,但是在我死去的那一刹那,我开始用心眼去看这个世界”。

能够用心眼去好好看待这个知识点,深入了解它的每一个细节,了解它的优点,了解它的缺点,就像是《小王子》中,在认识这只狐狸之前,它不过是一只狐狸,和其他千万只狐狸一样,但是,驯服了它,他们之间就互相不可缺少,对狐狸来说,小王子就是世界上唯一的了;而对小王子来说,狐狸也是世界上唯一的了。而对于那些玫瑰,它们一点都不像是小王子的玫瑰,没有人驯服过它们,它们也没有驯服过任何人,它们就像小王子的狐狸过去那样,它那时不过是和千万只别的狐狸一样的一只狐狸,但是,小王子现在已经把它当成了朋友,于是,它现在就是世界上独一无二 的了。这些玫瑰很美,但它们是空虚的,没有人能为它们去死。当然,小王子的那朵玫瑰花,一个普通的过路人以为她和这些玫瑰一样。可是, 她单独一朵就比这些玫瑰全体更重要,因为她是小王子浇灌的。因为她是小王子放在花罩中的。因为她是小王子用屏风保护起来的。因为她身上的毛虫(除了留下两三只为了变蝴蝶而外)是小王子除灭的。因为小王子倾听过她的怨艾和自诩,甚至有时小王子聆听着她的沉默。因为她是小王子的玫瑰,她在小王子心中,就是独一无二的

或许别人的blog很好看,但是它于我不过是千千万万篇blog中的一篇blog,而我的这篇blog,于别人而言,也不过是千千万万篇blog中的一篇blog,可是它于我而言,却是我独一无二的blog,因为在书写这篇blog时,溶入了我的苦苦思考、仔细推导、调试代码,最终分享出来。

后续:

常用的知识点 -> wiki

系统级、思考完备后的知识点 -> blog

与君共勉,不仅仅是知识的搬运工;