知识库编写(专业知识库)满满干货
终生学习,终生教育。
❝终生学习,终生教育❞引语对于知识工作者来说,知识库是持续支撑整个职业生涯的重要基础程序员,算是半个知识工作者工种知识库可以看作是海量资源库的本地缓存它的特点是:少而精要,重点突出知识库建设,基本步骤包括:搜集、分类、整理和提纯。
「目标」工作所需触手可达,避免重复搜索积累足够深度和广度的专业领域知识阅读/创作/小记温故而知新素材库「内容」搜集内容的目标是为工作、生活和创作提供持续动力,解决实际问题原理、问题、方案、思路、优化、踩过的坑、经验教训等;。
好用的命令、有益的示例、有用的官方文档;有益的方法、独特的见解、清晰有条理的总结;生活的经验与感悟,随手记等搜集准备一款笔记软件,方便搜集和整理各种来源(包括自己写的)的文章和内容能够在 PC、移动端自由编辑、管理和同步内容;。
能够方便地从各种来源拷贝感兴趣的文章和内容;有浏览器插件、微信公众号文章分享等插件拷贝到笔记软件我目前使用的是为知笔记基本满足以上要求当然,印象笔记的“剪藏”功能也好用搜集内容的基本标准是:具备实用性或思想性;。
侧重原理和设计搜集来源和途径主要有:优秀网站、博客、微信公众号;好书段落精彩摘录;论文、官方文档「避免重复搜索」思考第一个目标:工作所需触手可达,避免重复搜索如何做到这一点呢?一个实际场景是,有时会临时写一个脚本或执行一个命令,比如要 for 循环处理一个文件或列表,或者执行一个 mongo 查询语句,但是我对语法记得不熟,总是忘记。
怎么办呢?就可以建一个 for 代码片段或 mongo 命令片段的笔记需要的时候,直接从笔记里拷贝并修改另一个实际场景是要去查询环境信息和一些常用命令也可以记在笔记里,而不是去翻飞书群和聊天记录这不,我就建立了一个“环境与工具”的文件夹,有“环境”、“脚本”、“命令”、“代码片段”四个细分类,下面放的是各种常用的工具、脚本和命令,方便随时取用。
这些命令和脚本可以有两种方式来积累:集中搜集常用的命令,建议集中搜集,一次搞定,多次使用例如,工作过一段时间,想必对需要用到哪些命令比较熟悉,就可以集中搜集下日常工作中,安装和更新软件、搜索文件、搜索日志、拷贝文件、文本析取与替换、压缩与解压、Git 操作、Docker、K8S 等;。
日积月累适用于不怎么常用的命令,在需要的时候搜索后立即记录下来比如视频截取、文件格式转换等日常工作中,未必有时间在聊天软件与笔记软件之间切换,这时,可以顺手记录在聊天软件上,消息发给自己有空时再去整理工欲善其事,必先利其器。
「知识卡片 VS 完整文章」一般来说,做笔记倾向于建立完整性的文章之前我也一直是这么做的,非完整的文章甚至觉得有点不适应不过,知识卡片的思想令人眼前一亮文章虽然具有完整性,但如果比较长,翻起来就比较麻烦,而且往往难以记住自己想要的内容在哪里。
知识卡片则类似于“微文”,一个知识卡片就承载着一个小知识,很适合于搜索和快速获取因此,如果是优秀的观点文章,可以原文保留,领略其风范;如果是知识类摘录,适合“大卸八块”后做成知识卡片不是一脑古全扔到一篇笔记里,而是一个知识点一篇微笔记。
「如何避免“50%的概率都不会去读”的“悲惨结局”」之前的亲身实践证实:无脑拷贝到笔记里的文章,基本上大半年都不会读一次换句话说,可以假设:摘录的文章,至少有 50% 的概率很长时间都不会去碰它那么,如何避免这种情形?如何不重蹈覆辙呢?有什么可能性是会吸引自己去读呢?那当然是优质文,值得反复阅读。
因此,在网络上搜集知识和文章时,就要遵守“质优+严进”准则最好能至少读完一遍,觉得确实可以(值得分享的那种)或者只拷贝所需要的内容切忌囫囵一看,无脑全文拷贝摘录的时候多花一分钟,就不会面对零乱的摘录内容和凌乱的格式的莫可名状的心情了。
食之乏味、弃之可惜的文章,要忍心舍弃删除我已经把之前技术文摘的 99% 文章全部删除了重新来过:( 其实还有一种办法,应用“知识卡片”的思想,将这些文章“大卸八块”,把精华的内容制作成知识卡片emmm…… 删都删了。
只保留优质的文章只保留核心有用的内容「该读书还是得去读书」大致整理下所摘录的文章,会发现:很多文章多是一两本书上的知识集合,少有系统阐述或者有着独特见解的文章这说明:要获得系统有条理的知识体系,还是得静下心来读书。
想办法收集优质的技术类电子书和教学视频网络文章主要是作为补充,而非主餐分类分类相当于对知识做了索引,能够快速找到同一类别的文章,同时为知识体系化勾勒轮廓建立知识库,分类是一个仔细要下的功夫「存与取」笔记类软件,无非是要做两件事:灵活存,高效取。
存容易,胡乱一扔,也算是存进去了;取,可就不那么容易了如何能够高效地取出感兴趣的已存入内容,并组织起来呢?取,主要是索引和搜索功能索引,即是建立目录和标签;搜索,则是根据关键字进行文本定位索引,可以根据自己感兴趣的或者有重要实用价值的建立大类,或打上标签;搜索,则依赖于笔记软件的搜索功能了。
一般来说,使用者主要是做好文档和知识索引「主题-大类-细分类」应用基本的分类思想,可以将整个笔记空间分成三层:主题、大类、细分类最多三层避免嵌套过深主题是关于一个大方向的概括囊括工作与生活比如我定的主题有:生命与爱(ME、碎碎念)、总体设计(规划与方法论)、工作(业务、工程、团队、方案、项目、备忘等)、生活(感悟、往昔)、札记(自己写的小结与感悟)、技术文摘、环境与工具、思维与技能、知识、写作札记、阅读札记、公众表达、网摘素材。
大类是某个主题下的有重要实用价值的分类细分类是大类下的细分范畴大类侧重一个特定方向或分支,细分类则细化到实用的点比如札记是一个技术输出类主题里面有“系统设计”、“结构与算法”、“代码修行”、“工程质量”、“软件开发”、“职业生涯”、“编程技术”、“问题启示录”等大类。
“系统设计”下又有“设计思考”、“设计方案”、“设计实践”等细分类我的笔记和微信收藏作为一个过渡,里面的文章会进一步归类到各个主题、大类或细分类里要注意的一点是:一开始不要分类太多太细,预先只分少量最感兴趣的类别,待需要时再添加。
「分类的烦恼」知识分类的一个常见困扰是,有些知识,可同时归类于多个不同的大类或细分类归类准则是:价值优先,精确优先于通用其次看文章内容的侧重,侧重在哪里,归类到哪里这个准则是自己定的,适合自己的口味和需求就好。
比如 redis 性能优化相关,既属于 “缓存-redis”细分类 ,又属于 “系统设计-性能与稳定性”细分类由于缓存是很重要的大类,redis 是精确垂直领域,优先归类于“缓存-redis”“系统设计-性能与稳定性”倾向于是一种经验的普遍总结,而不是具体细分知识。
当然,这种视角不是唯一的如果从问题求解角度来看,归类于“性能与稳定性优化”分类更合适,因为性能与稳定性优化是研发求解问题中的不可或缺的组成部分,也是职业进阶、获取更好待遇的技术优势和阶梯「标签的用法」大多数笔记软件都提供了标签功能。
标签是用来做什么呢?标签至少有两种使用场景:大类和细分类无法覆盖所有的主题,且知识往往是关联的有跨越性的,可以归类于多个细分类但文档只能归类于一个大类和细分类怎么办呢?这时候,可以给文档打多个标签比如“一道关于二叉树的字节面试题的思考”,就可以打上“二叉树”、“数据结构”、“代码”、“面试”标签。
同一类别的知识,有的是你的心得体会,有的是网络摘抄,而你不想把两者混在一起,又希望在某个时候都搜索出来,怎么办?可以给归到不同大类和细分类的相同知识打上同样的标签比如面试相关,有自己的感悟,也有别人的经验,不想都放在一起,又希望能够一起搜索出来,就可以都打上“面试”的标签,分别归类于“札记-面试”和“技术文摘-面试”细分类里。
标签是更灵活的“归属”方式,可以起到“聚合同一类别知识”的作用比如“代码”就是一个标签,任何类别中的文章只要包含代码,就可以打上“代码”的标签;“喜欢”是一个标签,任何类别的文章,无论是工作还是生活,只要是自己喜欢的内容,都可以打上“喜欢”的标签。
有位 UP 主分享了使用标签的一种心得:随手记录自己的生活,然后打标签定期回顾标签的内容,就会发现自己的一些不好的习惯,从而去改进运用之妙,存乎一心为了打标签省力一点,我的标签采用全英文这样,利用软件的自动补全功能,通常只要输入一两个字符即可,无需切换中文输入。
还能顺便学下英文(备个有道词典)此外,如果标签下只有一篇文章,且显得比较孤立,则会删除该标签之前的笔记都没有打标签,一度觉得打标签是个比较繁重的活不过为了利用上标签的功能,还是给绝大部分文章打上了标签可以分拆到几周,一周给一个主题打标签。
另外,标签也要尽量通用一点,不然每个文章都有很多“专有”的标签,标签过多,也不好维护「以问题求解为中心」工作的核心内容是解决问题各种各样的问题大范围的,比如研发管理,或者小范围的,电脑卡慢笔记的目的不是为了表面拥有这些知识,而是能够灵活运用于实际解决问题。
提出一个问题,然后围绕这个问题搜集所有相关的知识和经验优先以“问题求解为中心”的视角整理整理步骤主要是文章排版整理文章排版整理是一个相对繁重琐碎的事情试想,在阅读之前,还要费力气去把文章的排版格式弄好一点,那阅读的心思就折了一半。
最好是在保存时就保证文章的排版基本整洁目前自己写的文章,统一用 Markdown 了不求样式绚丽,只要平实质朴尽量少为样式耗费精力对于网络摘录,将网络内容拷贝到笔记软件有三种办法:直接手动拷贝优点是,可以避免将网页的格式和不相干的内容混进来,减少排版整理步骤的繁琐。
缺点是,长文手动拷贝略微费点力气利用工具摘录利用现成的工具(比如公众号文章分享、浏览器插件、App 工具等),优点是非常便捷,缺点是,容易把网页的格式和不相干的内容混进来,后期排版整理可能会比较费力麻烦。
摘取核心内容仅拷贝核心内容可以省去后续“格式化”、“内容提纯”步骤,摘录后的内容和段落是清爽有价值的缺点是摘录时要多费点脑力亲身实践表明:文章摘录之后,几乎不愿意再集中整理因此,最好在摘录的时候一次性做好,把整理成本分摊到每一次摘录中。
让笔记时时保持清爽的状态正如让软件时时处于可交付状态一样整理后的文章格式统一使用 Markdown(尤其技术类文章)如果原文排版问题不大,加标题、润色,保持原排版亦可为知笔记有个“清除样式”和“只拷贝文本”的功能,当文章的原排版过于“花里胡哨”或者“不堪入目”时,可以使用该功能,让其立即“卸妆”,恢复“素颜”。
此外,可以保持字体统一,去掉不必要的“装饰”提纯到了知识库建设的最关键环节:知识提纯知识提纯,是将已摘录内容的重要有价值的部分提炼出来知识提纯最显功力俗话说:把书读薄意思是要把知识读透彻从纷繁复杂的现象中提炼出精炼的本质。
知识提纯的基本准则:简明扼要不必固着于“文章”的形式,一两段落,甚至几个关键字即可即“把书读薄”知识提纯是一个再学习、温故而知新的过程,可以培养内容重点提炼的能力内容重点提炼能力是“信息过载”时代必不可少的重要技能。
技术类文章,可以遵循“基本思想或思路-关键点-技术实现”或者 “问题-方案-新问题-方案完善”的路线来解析一篇文章知识提纯,主要有如下情形:有的文章行文思路清晰、内容和细节丰富、图文并茂,保持原样即可有的文章的重点部分只有少数一两个段落,提炼出来,原文可删除(可保留原文地址)。
重复主题和内容的相关文章,内容提纯后合并成一篇文章知识提纯相关,可以再写一篇文章我也在探索中高效搜索有序存进去,还要高效取出来只存不取,就会导致“50%的概率都不会去读”的“悲惨结局”分类和标签,可以很好地索引文章,但要定位到所需要的知识,还得再进一步定位。
如何做到高效取出来呢?一般笔记软件都提供了全文检索的能力,即根据关键字来搜索相关文件当你要选用一款笔记软件时,一定要先“考核”下它的全文检索能力速度以及准确性,是否符合期望那么,文件标题可以好好琢磨下:。
简单:使用关键字拼接,比如 Log commands, K8S commands 这样,搜索 log 或 commands 就能很快找到对应文章写成英文主要是为了避免中英文切换,少输几个字符emmm, 最“伟大”的程序员总是最“懒惰”的。
我不伟大,但也懒惰常用:使用常用的关键字,比如写作、交往、财富等,不使用生僻的关键字文摘与札记对于程序员而言,技术文摘和札记是专业类知识库的重要组成部分技术文摘是输入,札记是输出需要将技术文摘的内容消化后,整理成札记,才算是真正的学习了。
之前读书,囫囵吞枣,过后即忘打算:每读一章节,就写一段复述、分析和评价如此来训练知识提纯能力小结个人知识库是持续支撑职业生涯的重要基础,最终目标是为工作、生活和创作提供持续动力,解决实际问题知识库建设,基本步骤包括:搜集、归类、整理和提纯。
其中知识提纯是核心上述步骤的螺旋上升式循环,形成良性有力的知识库建设节奏和职业的有力支撑。参考“学会用正确的方式做笔记,你也能成为写作高手”
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186