如何搭建一个好用的笔记系统
1. 方法论
研发是一个标准的知识密集型工作。知识的积累对于工作的高效完成和个人的持续提升都有重要的作用。
1.1 为什么
人脑在认知上的两个特点:
- 人脑更适合思考,而不适合记忆;
- 有逻辑关系、成体系、有结构的知识,能够更高效地被调用。
对应的优化办法就是建立外脑(Second Brain):
- 承担信息的存储记忆功能;
- 知识存入的过程,就是将知识结构化的过程,打入已有的体系中。
1.2 是什么
通过一套统一的笔记系统,建立自己的外脑,由两部分构成:
- 存储系统:如何把知识分门别类地组织起来;
- 索引系统:如何在需要的时候快速提取到知识。
1.3 如何做
1.3.1 如何存储
不要一开始就追求一个大而全的分类,以适合自己的需求为主。
一种可行的思路:
- 收集:
- 收集箱(外部):网页剪藏,微信收藏……
- 等待处理:待办,日程,备忘,记事……
- 将来可能:计划、规划、想法、点子……
最主要的作用是随时记录,同时减轻大脑的记忆负担
- 归档:组织并整理资料,将收集的信息和笔记归入这一部分
将知识吸收、理解、重组,并纳入自己的知识体系的过程
- 输出:再经过一轮吸收、整合后,自己的总结和再创作
比如总结材料、分享材料等,甚至自己写一本书
1.3.2 如何整理
归档和输出的资料是笔记的核心,对于这部分资料如何组织,可以参考以下几个指导思想:
- 层级最简:用尽量少的文件夹和层级
- 目录编码:对文件夹的编码可以参考图书馆管理图书的编码方式
- 命名统一:可以采用
【类别】标题
的格式
在建立资料层级的时候,可参考MECE原则(Mutually Exclusive Collectively Exhaustive),即相互独立、完全穷尽。 另外,意义不明的层坚决不要。在归档资料中不要出现如“其他”,“待分类”,“临时”这样的类别。
1.3.3 如何提取
知识在存储时是按照树状结构进行整理的,但很多时候是按照网状结构去提取的。 此时就需要依靠标签。
标签使用的简单版本 在上述的笔记系统中,同一篇文档,同一个知识点,必须要归入某一个特定的分类,但同时可以被打上多个标签,搜索任何一个标签时都能够索引到这个知识点。 可以以文档的维度打标签,也可以以文档中段落的维度打标签,利于更快捷地搜索到想要的信息。
标签使用的进阶版本 标签与标签之间也建立起逻辑关系,形成体系和结构,最后内化成我们的知识体系。
标签的体系结构一定是与存储结构的体系不同的,如果相同则失去了意义。
- 存储的结构是以某个具体知识的所属分类的
可以类比学校中学科的分类,比如语文、数学、物理等
- 索引的结构是以某种应用场景的所属分类的
可以类比应用场景的分类,比如写一本书,造一幢房子等
1.3.4 双向链接
传统的笔记模式,按照树状存储,网状提取,已经可以满足基本的使用需求。 通过Markdown格式的链接,还可以实现文档间的引用,但这种引用属于单项链接。
双向链接是最近兴起的一个概念,核心功能包括:
- 每一个内部链接,可以指向所引用的文档
- 每一个文档,可以生成指向它的所有内部链接的列表
由此,可以实现文档间的双向链接,并进一步形成网络联结图。
2. 实践方式
2.1 需求分析
从一个人整个学习、工作生涯的维度去考虑,再具体到做研发、特别是软件研发相关的应用场景,应该会有两个核心需求:
- 资料在必要时较易实现本地化
- 资料在必要时较易实现跨平台
本地化 在合理的场景中,在线化、上云是大势所趋。 但对于需要积累和沉淀的资料,全部在线化被云端绑定,是有一定风险的。 所以在享受在线化便利的同时,在最坏的时刻,还有一个托底方案,能够把所有的原始资料掌握在自己手中。
跨平台 另一种隐形风险就是所有资料被某一款软件绑定。
比如微软OneNote,以及印象笔记等云端笔记应用,如果在这上面部署了这套笔记系统,那基本属于上了贼船下不来了。 针对跨平台,期望能达到的效果是:
- 跨操作系统:兼容Win/Linux/Mac
- 跨软件:资料以明文存储,且文本不被污染
2.2 实施方案
基于以上需求分析,我建议的方式为:
- 纯文本(Markdown)写作
- Git+同步盘双备份
2.3 工具推荐
2.3.1 笔记工具
Foam for VSCode插件
搭配Markdown Preview Enhanced
和Markdown Shortcuts
等插件,体验大致与Typora可比。
当然长篇带格式的文档更推荐用Typora编写。
Obsidian 专门的笔记软件,所有文档内容,在本地,以无侵入式的明文方式存储。
这两个工具都是支持双向链接特性的。
2.3.2 同步工具
坚果云 几乎是国内同步盘的唯一靠谱选择,对于以文档为主的笔记来说,免费版本足够使用。
2.3.3 痛点
表格支持 Markdown天生对表格支持比较弱,如果对表格处理数据的需求很高的,可以搭配钉钉/腾讯在线文档中的表格来使用,作为补充。