zoukankan      html  css  js  c++  java
  • 如何搭建一个好用的笔记系统

    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 EnhancedMarkdown Shortcuts等插件,体验大致与Typora可比。

    当然长篇带格式的文档更推荐用Typora编写。

    Obsidian
    专门的笔记软件,所有文档内容,在本地,以无侵入式的明文方式存储。

    这两个工具都是支持双向链接特性的。

    2.3.2 同步工具

    坚果云
    几乎是国内同步盘的唯一靠谱选择,对于以文档为主的笔记来说,免费版本足够使用。

    2.3.3 痛点

    表格支持
    Markdown天生对表格支持比较弱,如果对表格处理数据的需求很高的,可以搭配钉钉/腾讯在线文档中的表格来使用,作为补充。

  • 相关阅读:
    NDCG
    卷积核
    高斯核函数映射到无限维
    《Towards Knowledge-Based Recommender Dialog System》阅读笔记
    Pytorch官方教程:含注意力的seq2seq2机器翻译
    cad 已知拱高弦长求弧长
    MySQL直接将数据库的文件夹从服务器复制到本地,打开表提示需要修复 “is marked as crashed and should be repaired ”
    CSS小技巧:利用border实现三角形箭头
    完美解决ERROR 1064 (42000): You have an error in your SQL syntax; check the manual…
    Java 理论与实践:正确使用 Volatile 变量
  • 原文地址:https://www.cnblogs.com/lylec/p/15705205.html
Copyright © 2011-2022 走看看