做为软件工程师,如何进行知识管理

简评:对学到的知识进行整理概括有助于温故而知新(如下我均指原做者 Bruno Paz)web

软件开发和技术总的来讲是一个快速发展且须要持续学习的领域。算法

在 Twitter、Medium、RSS feeds、Hacker News 等专业网站和社区上浏览几分钟,就足以从论文、案例研究、教程、代码片断、新应用程序等内容中找到大量的有用信息。数据库

收集和整理全部这些信息多是一项艰巨的任务。在这篇文章中,我将介绍一些我进行知识管理的工具。编程

我认为对知识管理很是重要的一点是避免局限在特定平台。我使用的全部工具都容许以标准格式(如 Markdown 和 HTML)导出数据。后端

请注意,个人工做流程并不完美,我一直在寻找新的工具和方法来优化它。每一个人的状况都是不一样的,因此对我有用的东西不必定适合你。服务器

基于 NotionHQ 的知识库

对我来讲,知识管理的基础部分是创建某种我的知识库/维基,一个你能够系统地保存连接,书签,笔记等信息的地方。编程语言

我用的工具是 NotionHQ 。我用它来记录各类主题,列了一些资源表,如用编程语言分组的优秀库或教程,为有趣的博客和教程添加书签等等,除了软件开发相关的知识,我还用它记录我的生活。编辑器

我最喜欢 Notion 的地方是用它建立新内容很是的简单。你能够用 Markdown 格式编写,并将内容组织为树状结构。工具

这是个人“开发”工做区的顶层页面:学习

图片描述

Notion 还有其余一些很好的特性,好比集成电子表格/数据库和任务板。

因为免费功能有限,若是你想深度使用 Notion,就须要购买我的付费版,我认为它物有所值。Notion 容许将整个工做区导出到 Markdown 文件。导出存在一些重要问题,好比丢失页面层次结构,但愿 Notion 团队能够改进这一点。

若是要用免费的工具,我可能会选择使用 VuePress 或 GitBook。

用 Pocket 保存有趣的文章

Pocket 是我最喜欢的应用程序之一!使用 Pocket,你能够建立 Internet 上的文章阅读列表。

每当我看到一篇有点意思的文章,我都会用 Pocket 的 Chrome 扩展将文章保存到 Pocket,等以后我从头阅读完,发现它足够有用,就用 Pocket 的“归档”功能永久保存该文章并清理个人 Pocket 收件箱。

我尽可能保持阅读列表足够小,并保存存档我处理过的信息。Pocket 容许你标记文章,以便之后能更轻松地搜索特定主题的文章。

为了防止原始站点消失,你还能够将文章的副本保存在 Pocket 服务器中,要使用这个功能须要购买 Pocket Premium。

Pocket 还有一个“发现”功能,它会根据你保存的文章推荐相似的文章,这是寻找新内容的好方法。

使用 SnippetStore 进行代码片断管理

从 GitHub 到 Stack Overflow answers,再到博客文章,经常能找到一些你但愿稍后保存的好代码片断。它多是一些很好的算法实现,一个有用的脚本,或者一个如何在 Y 语言中执行 X 的例子。

我尝试了不少应用程序,从简单的 GitHub Gists 到 Boostnote,直到我发现了 SnippetStore。

SnippetStore 是一个开源的代码片断管理应用程序。SnippetStore 与其余产品的区别在于它的简单性。你能够按语言或标签组织整理代码片断,而且能够有多个文件片断。它不完美但足以完成我须要的工做。Boostnote 虽然具备更多的功能,但我更喜欢 SnippetStore ,它组织内容的方法的更简单。

对于我天天使用的缩写和片断,我更喜欢使用 Editor/IDE 片断功能,由于它更方便。我使用SnippetStore 更像是对代码示例的参考。

Cacher 也是一个有趣的选择,由于它集成了许多编辑器,有一个 cli 工具,使用 GitHub Gists 做为后端,可是付费版每月须要 6 美圆,我的认为有点贵。

使用 DevHints 管理备忘单

Devhints 是由 Rico Sta. Cruz 建立的备忘录表的集合。它是开源的,由 Jekyll 提供支持,Jekyll 是最受欢迎的静态站点生成器之一。

备忘单是用 Markdown 编写的,带有一些额外的格式优点,好比对列的支持。

我很是喜欢这个界面的外观,Markdown 使得添加新内容并保持更新和版本控制变得很是容易,这与 PDF 或 Image 格式的备忘录不一样,这种格式的能够在 Cheatography 等网站上找到。

由于它是开源的,因此我建立了本身的分支,删除了一些我不须要的备忘单,并添加了一些。

我使用备忘单做为「如何使用一些库或编程语言或记住一些命令」的参考。拥有一个单独的页面很是方便,例如具备特定编程语言的全部基本语法。

我仍然在试验这个工具,到目前为止用的挺好。

Diigo

Diigo 容许你注释和突出显示网站的部份内容。我在研究新主题时用它来注释重要信息,或者从文章、Stack Overflow answers 中保存特定段落或者从 Twitter 中获取带来灵感的引用。


以上就是我想介绍的内容。某些工具可能在功能方面有一些重叠,可是正如我在开始时所说的,这是一个不断发展的工做流程,由于我一直在尝试和寻找改进和提升生产力的方法。

你是如何管理你的知识的呢?在评论区一块儿聊聊吧。

原文连接:How I organize my knowledge as a Software Engineer

相关文章
相关标签/搜索