IT瞎说
首发于IT瞎说

构建自已的知识系统

首发于 bigzhu 的 blog


在知乎的专栏里写了对昆明 IT 环境的吐糟, 结果有不少迷茫的大学生和应届生找我咨询.

与其说具体的事, 说昆明的 IT 公司哪家行, 哪家不行, 实在是意义不大. 不如授之与渔, 无论是不是在昆明干 IT, 甚至是不是干 IT, 都会很有用, 可以伴随一生.

这篇我认为最重要的之一: 构建自已的知识系统

为什么

知识系统

类似期货中的交易系统的概念. 是一套方法论, 有进有出, 有动态调整.

如果将人的大脑比喻为电脑, 是很难区分出硬盘和内存的. cpu 高速运转时, 内存是不停的更新和替换的, 很难同时保持思维高速运转和过目不忘. 所以一些不怎么用脑但反而记忆力很出众的人, 这些应试教育的受益者, 因为 cpu 运转速度慢, 反而因记忆出众而成绩名列前茅......偏题了, 接着说主题.

目标是要让大脑全速运转, 以获得比其他人更大的优势.

但很多东西又必须记住, 思考得出的结果总不能忘了吧; 矛盾在于大脑的空间是有限的, 扩大了内存, 硬盘就小; 扩大了硬盘, 内存就限制了运算速度. 虽然能通过训练提升, 但我们说下另一个更有效的, 适用于每个人的方法: 构建自已的知识系统, 解决存储问题, 轻装上阵, 从而加速思维速度.

存储

好记性不如烂笔头

使用真实的计算机来辅助我们的大脑, 把记忆性的东西记到电脑里, 以放空大脑, 便于更好的思索.

但不要说一些刚工作的学生没有做这个事, 连一些工作了很多年的人也没有做这个事. 有意思的是, 工作多年来, 接触到比较成功, 能力比较强的人, 往往都有类似的存储系统, 不一定是电脑, 有用手机记的, 也有用传统纸质笔记本的.

没有这个习惯的人呢, 就比较......咳, 还是少提别人不好不足的地方.

无论用哪种方式来记, 以下这几个要点我建议都要具备

随手记

我90%的工作时间是在使用电脑, 自然是记在电脑上.

刚工作时有登录 AIX 小型机操作的要求, 被迫学会了 vi, 而后对 vi 的操作中毒上瘾了. 巴不得一切软件操作都用 vim 的模式(鼠标什么的去死吧).

我100%的代码都是用 vim 写出来的, 包括现在这篇文章. 随手记, 必然是用 vim 来记录. 所以选择了 vimwiki 来编写和记录我的知识库.

工作时敲几个命令就能把遇到的问题记录下来. 如果还要打开另外的软件来记, 相信我, 人都是懒到极致的, 即便只是稍微麻烦一点点, 可能就无法去做这个事了.

我并不建议不会使用 vim 的人因此去学 vim, 因为学习曲线太陡峭了, 现在有很多好的软件也能实现随手记.

现在我也不再使用 vimwiki 了, 因为它有自已的一套 wiki 语法, 对 MarkDown 的支持并不好, 虽然用了很多年了, 为了统一用 MarkDown 避免切换语法出神经病, 我写了个东西来代替了, 详见: 知识库从 vimwiki 切到以 markdown 为主来写

快速检索

千万不要用分类法!

分类法是相当反人类的知识存储方法, 因为我们的大脑自身就不是用分类法来检索记忆的. 一个事情, 可能会模糊, 会清晰. 但是回忆起来的时候并没有出现一个目录, 让人一层层往下找, 能想起来就想得起来, 想不起来就是空白; 有个东西提醒下, 可能就会又检索出来.

我推崇基于 wiki 的符合人类记忆的二步检索法. 二步检索法这概念是我想出来的, 不是什么正规的名词和理念, 解释下: 比如我现在遇到 javascript 转换日期时的一个问题, 似乎以前记过一篇, 文章名字不记得了, 怎么办, 输入 日期, 于是找到能匹配到的这样一个列表:

不多, 都不用再找, 肉眼就能识别出该打开哪一篇了. 虽然是叫二步检索法, 但很多时候一步就能找到想要的内容了.

再比如说, python 里有个自带的 http 服务器, 但想不起启动的命令了, 于是一找 python, 结果出现了非常非常多, 超出一屏的内容:


于是用 vim 的快速查找, 在找出的当前内容里再找 http, 马上就找到想要的那一篇了

以上是用我当前使用的工具做个说明, 只要能满足快速搜索, 索引的功能就可以了. 现在市面上好用的工具很多.

但是有几点要注意的:

  1. 必须要能实现快速搜索, 随手即查. 用 wiki 式管理, 一定不要用分类法
  2. 建议使用文本的存储方式, 不要用数据库或者特殊的软件格式(原因后面会说)

可靠性和备份

可靠性

当年为了构建自已的知识系统, 06 年到 08 年能找到的所有笔记类软件我都尝试了一遍.

那时 blog 兴起, 用过 blog 来构建, 搜索也 ok, 就是写起来麻烦, 找到了 cs 客户端来写, 写起来也方便了. 但是依然建议不要用 blog 来构建, 因为用着用着, 你的 blog 服务商就消失了, 当年那么多的 blog 服务商现在也就 google 的 blogspot 还在. 如果负责任, 提醒迁移那还好, 否则就这么没了? 迁移的时候也很麻烦, 自动迁移基本没什么用, 各种格式转换出错, 重复. 最终我都是用人肉自已来转的. 如果是程序员, 基于 github.io 的文本来构建, 那自然没问题.

微软的 office 里有个叫 note 还是什么的, 很骚很绚, 各种贴图, 很专业的样子. 但是千万别用, 记录了不到 100 个 wiki 词, 就开始很卡很钝要等很久. 微软一直给我留下了大笨慢映像, 太多年没用微软的东西了, 不知现在好些了没.

有一个知识笔记本台湾人开发的(忘记名字了), 用下来还不错, 于是花钱买了, 这是人生第一次花钱买应用软件. 可是, 总有一些不适应的地方, 不好用的地方, 比如软件必须强制你分类, 这时我就纠结了, 比如一个 python 连数据库的问题, 我是放 python 类里呢? 还是放数据库类里呢? 再次说明分类法有多么的不人性化, 加一个文章能把人逼出选择困难症来. 软件本身只有 windows 下的版本, 当我切换使用 ubuntu 时, 迁移的工作花了我大量时间.

后来用过一个现在看来还是很神的 TiddlyWiki, 就是单个 html 文件, 任何一个浏览器一打开就可以用. 增删改查, 功能一应具全. 用个 U 盘装着, 就能把你的知识库带着到处走了. 但是我文章太多了, 上千以后 TiddlyWiki 或者应该说浏览器就抗不住了, 各种操作都很慢. 后来迁移出来也是花了大量时间, 一点点才迁移完. 如果你的文章不会太多, 那么这个其实很好.

试这么多软件, 每次更换都把我折腾的很惨, 所以在建立自己知识库的时候, 要和具体的软件解耦, 不能用某软件特殊的存储格式. 更不能用在线的服务商, 因为不知什么时候就会消失倒闭, 自已那么重要的东西是不适合放到任何一个团体 or 公司手上的. 怎么解耦呢? 当然是要用通用文本格式来存储. 后来我挑选记录软件时, 首选都是支持文本存储的, 这样切换就不再痛苦了, 把文本的那个目录改一下就ok. 直到遇到 VimWiki 就再也没换过了, 文章上万以后, 其本身的搜索还是很慢了, 于是我写了 python 脚本来辅助搜索, 速度杠杠的, 用了快 10 年, 一直用到上个月.

能满足上面的原则, 随你用什么.

备份

刚工作1年多的时候, 我拿着一块坏了的移动硬盘, 在昆明圆通北路上彷徨而不知所措.

因为维修工程师告诉我硬盘修不好了, 要尝试修可以要花上千去北京的数据实验室, 还不一定能修好. 对于当时穷逼的我, 无疑是判死刑了.

移动硬盘里是工作近 500 天里写下的差不多2000篇 wiki, 有文章, 有知识点, 有技巧, 甚至有遇到什么问题该联系谁. 是的, 你没算错, 差不多一天3, 4篇的速度, 在亚信联创工作一年有3年经验(这么算, 我现在其实有20多年 IT 从业经验了)

这次的数据损失, 甚至影响到了我很长一段时间的工作效率, 犹如残废一样, 再惨痛不过了.

那次以后都是几块移动硬盘, 几台电脑各种备份; 那时早, 没什么网盘服务, 直到 Dropbox 出现......

现在都是 VPS + Dropbox 实时备份, 国内的网盘我信不过. 顺便结合上个月刚写的 markdown_blog 自动实现 blog 发布, 现在不喜欢花哨骚绚的 blog , 返璞归真, 喜欢最简单的.

知识系统不能只是存储, 要有进有出.

我有带人的命, 刚工作就被迫带人, 多年下来, 都不记得带了多少人了. 很多人彷徨迷茫, 一直在 IT 门外徘徊, 很大的一个问题是, 他根本没有找到一个有效可靠的知识入口和渠道.

以前以为因为云南过于偏远, 消息闭塞, 后来去发达城市, 发现哪都有入口堵塞死水一潭的人.

blog 兴盛的年代, 我订阅了大量优质 blog 的 rss, 阅读理解思考 + 实践, 转化为了自已的东西, 记录到了自已的知识库里. 很庆幸当时这样做了, 没有当松鼠只是囤积食物, 不吃下去的话是没有意义的. 后来写 blog 的人逐渐少了, 更新速度也越来越慢了.

约2010年时, 我做过一个网站叫叶脉 yemai.in(已经关了), 取自树叶的脉络, 有联通串联的含义, 让养分流动. 是一个优秀网站的分享共享的工具型网站, 甚至还做了 chrome 的插件, 便于收藏和分享网站. 因为很多人根本不知道优质的网站, 只会上 qq 空间, 上门户网, 上百度. 互联网是星辰大海, 但如果不知道座标, 只能在那个小范围扑腾, 永远无法提高. 因为有带过一些人, 不是没有潜力, 不是不努力, 但是如果没有人告诉他, 给他指指方向, 他永远不知道翻过某些东西后, 外面有多广阔多优质的东西.

可能你会觉得, 这年头, 还有谁不知道这些, 可我曾经带过工作了近10年的"程序员", 不知 github 是什么, 没上过 v2ex, 没用过 windows 以外的操作系统, 没学过 java 以外的开发语言(我不是有意黑 java 的), 技术社区只知道 csdn, 搜索只知道baidu. 蹉跎了岁月, 固化了思维, 有些东西有人提点下, 知道的早晚这么几年, 可能就是天差地别.

现在的互联网嘈杂而又喧嚣, 火热但是浮躁. 现在的 IT 新人是幸运也是不幸, 东西比 10 年前 blog 刚兴起时不知多了多少, 可精华的部分似乎比以前少了. 以前没那么丰富, 可是无论大牛还是小牛, 都在认认真真的写自已的 blog, 搜一搜, 往往都能在别人的 blog 上找到刚货. 现在这个知识变现的年代, 看的到却是遍地垃圾, 即便用 google 搜也往往找到是要不成的东西. 搜索引擎正在失效, 有时还真不如直接拿知乎来搜.

再说了, 引流也不能四处去搜, 拿桶去挑水多累, 我应该引条河进来. 要么还是用 rss 订阅 blog, 但 blog 一是太少, 二是实效性不足, 现在的知识更迭太快.

站在巨人的肩膀上

问题我不认识那么多巨人,牛人啊, 于是我盯上了社交网络. 牛人的社交网质量很不错, 好处有以下这些:

  1. 省去了四处搜罗的力气. 牛人的信息和资讯来源绝对要优质.
  2. 省去了甄别垃圾的力气. 牛人自然帮你甄别和筛选过了.
  3. 实效性超级高. 往往是我看牛人发出来, 过了都1天2天了, qq 技术群里才有人提这个事.

认真关注了才发现, 有价值关注的人, 没想象中的多. 于是我又做了 Follow Center 这个用来关注牛人的网站, 用来聚合某人在各个社交的信息, 顺便筛选和梳理优质值得关注的牛人, 主要目的这里也详细写了

于是我每天就是刷一刷Follow Center, 信息焦虑和恐惧症也没了. 今日头条什么真找不到我想看的内容.

意外的是开始关注牛人周遭人和事以后, 让我停滞了好几年的视野和思路竟然又慢慢的开始延展和拓展了. 能让自已比以前的自已强就足以了.

有时我也会看看土豪的颓废生活

看看国外的著名模特秀秀身材, 放松下身心

当然更多的是看到程序员们努力的在 github 上提交代码, 关注有意思的项目什么的


嗯, 越来越火的 vue.js

项目做累了, 看看鸡汤文风景图


上面很明显的安利看出来了么? 写这么多, 不安利下太浪费了. (没忍住)

不过我并不希望有太多的人来使用 Follow Center(因为流量和主机资源消耗都很大), 更多的是希望有人来向我推荐值得关注的人, 或者能和我一起开发完善 Follow Center(开源的). 现在为了生存赶项目, 太忙, 已经很久很久没有继续完善过这货了.


如果你有关注国外资源的需求, 我推荐使用即刻这款 APP, 应该是上海公司, 有投资, 专职的在做, 也能抓取关注国外的社交. 诞生比 Follow Center 晚了好几年, 不过人家有投资......唉, 昆明这地有谁会投入 IT, 不如多买几套房子, 又偏题了......

认真的记录, 把思考和想法随时记到知识库里, 这算是一层"出", 能让人理清楚思路和想法. 我无数次都是一边解决问题, 一边记录解决的思路和尝试的方法, 井井有条也不会头脑发晕胡乱尝试, 最终问题解决时, 往往还能得到一篇不错的原创 blog/wiki.

更高一级的出, 在于分享培训, 带人. 能够将你的思路, 技术分享传授给别人, 对自已的提升搞不好更大. 你以为懂了, 和你真懂了能传授给别人是两个完全不同的层级.

前面写太多, 这里就虎头蛇尾下了. 希望你别看的睡着.

文章被以下专栏收录