程序员笔记(知识)管理的一点经验

记笔记这件事,也许在不少人看来,再普通、简单不过了——从小老师就教育咱们要这么作。不一样的人有不一样的方式,咱们最终的目的,仍是但愿不要停留在只是记录这一层面上,而是将它们转变为咱们的知识。做为一个程序员,今天我跟你们聊聊个人一些笔记管理的方法,但愿对你们有用。若是你们还有更好的方式,也欢迎留言一块儿探讨。程序员

知识学习的路径

首先聊聊知识学习的路径。讲得宏大一点,咱们得先有方法论。知识学习的途径能够分为如下几个阶段: 浏览器

接触,可能来源于工做中遇到的一个问题,或者朋友的推荐,或者逛社区、论坛时看到的新鲜内容。在接触以前,咱们并不知道,或者并不在乎一个知识的存在,以及它是如何存在的。经过接触,它勾起了咱们的好奇心,激发了咱们的热情,吸引咱们去实践。网络

实践,就是依照别人所描述的内容,或者本身我的的理解,动手去解决问题。只有经历过实践,才能摸清楚细节,才能更加具象、深入地理解某项知识。而在实践的过程当中,咱们可能会遇到各类情况,别人未描述的或本身不甚理解的。经过各类其余手段,如查阅、咨询等,最终解决了问题,丰富了知识适用的场景及其内涵。而后咱们就须要把实践的过程记录下来,造成咱们本身的认知。架构

总结,就是用本身的话去描述一样一个知识。它的表述形式可能跟别人的不同,关注的细节点也可能不同。经过总结,造成咱们认识事物的方式。这种方式继而会影响咱们在后续的实践过程当中的工做流程。一些较复杂的知识点也不是一次实践或总结就能准确理解的,也许有疏漏。在后续的工做、学习中,咱们使用这些还没有彻底的知识,遇到困难,又继续总结,造成一个反馈循环。直到达到一个较为满意的状态。这个时候,咱们就能够考虑“为人师”了。工具

分享,就是把本身掌握的知识,用更多人能理解的方式讲述、传播出去。它跟总结的区别就是,再也不是仅仅以我的能理解的方式去表达知识,而是要辅以通俗的语言、合适的图文来表达。让你们看到还有这样一种角度、思路,成为他们的知识接触点。学习

结构

这里咱们讨论的知识的主要载体,就是笔记。根据知识学习的路径,咱们能够对笔记进行分门别类。至少要单独列出分享这一目录。我经常使用的一级目录为:开发工具

  • 分享:包含全部待分享或已分享的文章、素材,使用日期做为子文件夹或文件名前缀。
  • 开发:包含开发相关的知识点,如语言、工具、操做系统、网络、中间件、架构等等
  • 工做:包含各个公司、我的项目的工做内容与平常记录

至于一级目录如下的目录划分,能够根据每一个人所侧重的知识面来安排。操作系统

工具

那用什么作笔记呢?市面上已经有不少笔记管理软件了,像 EverNote、有道等。不过做为程序员,咱们手边的开发工具就能作笔记管理。这里我推荐用 Visual Studio Code。它是一款很是轻量的 IDE 工具,有强大的插件体系。它不光能够用来写代码,还能够用来写文档,尤为是 Markdown 文档。自带 inline 样式渲染,支持格式校验、自动排版(尤为是 table)、PDF 导出等各类功能,还有不少插件可供你选择。插件

Markdown,我想每一个程序员都应该熟悉它的语法。其实核心的、经常使用的几个语法很简单,包括多级标题、多级列表、Code 等。像我写这一篇文章,用到的也就无非这些语法点,额外多了图片的插入等。根本不须要花多少时间。可是掌握它,不光有助于咱们写文章,包括开发中写文档,都是很是有用的。像咱们经常使用的 Github、Gitlab 里,均可以直接渲染 Markdown 文件,Issue 中也能支持 Markdown 语法。学会一招,吃遍天下。颇有必要。版本控制

也许有的同窗会有疑问,那岂不笔记都是本地存储了?这个问题很好。咱们还须要一些工具,Git + Gitlab。将整个笔记目录加入 Git 版本控制,这样咱们全部的笔记历史都能保存起来。而后,咱们能够在 Gitlab.com 的我的帐号上建立一个私有项目,同步咱们的本地笔记到远端。这样,咱们在公司使用公司的电脑,能够顺利地同步;手机端也可使用浏览器访问 Gitlab 网址在线打开咱们的项目,查看笔记。有了 Git 支持,即使多端修改产生冲突,也能很好地去解决。

扩展

用 VSCode + Gitlab 来管理咱们的笔记,还有一个好处就是,这些笔记就是咱们看获得的文件。那这里咱们能够引伸一下。把咱们的笔记管理做为我的知识仓库,它里面还能包含各类能够执行的脚本(如 Bash、Python)。这些脚本是咱们本身编写的、用来方便咱们工做的。好比说我就写了不少相似 Git 周报、Gitlab CI 自动化等这样的脚本。它们不光能在我家里的电脑上执行,还能同步到我公司的电脑上,照样执行。并且执行的方式不会有什么变化,不须要额外下载、保存、受权等各项工做,这些都在同步过程当中解决了。十分方便。

固然,以上方式也有一些弊端,好比图片很差处理,没法直接粘贴到文章里(也许有这样的 VSCode 插件呢?)。不过至少我我的用起来,仍是很舒服的。也但愿这些内容,能为你们产生一些”接触“点。

相关文章
相关标签/搜索