我如何组织我的软件工程师知识
软件开发和技术领域发展日新月异,持续学习至关重要。
只需在互联网上浏览几分钟,例如Twitter、Medium、RSS订阅源、Hacker News以及其他专业网站和社区,就能找到大量优质信息,包括文章、案例研究、教程、代码片段、新应用等等。
保存和整理所有这些信息可能是一项艰巨的任务。在这篇文章中,我将介绍一些我用来完成这项工作的工具。
我认为知识管理中非常重要的一点是避免被特定平台锁定。我使用的所有工具都允许将数据导出为 Markdown 和 HTML 等标准格式。
请注意,我的工作流程并不完美,我一直在寻找新的工具和方法来优化它。此外,每个人的情况都不同,所以适合我的方法可能并不适合你。
基于 NotionHQ 的知识库
对我而言,知识管理的基础是拥有某种个人知识库/维基。一个可以有条理地保存链接、书签、笔记等的地方。
我用的是NotionHQ。我用它来记录各种主题的笔记,比如按编程语言分类的资源列表(例如优秀的库或教程),收藏有趣的博客文章和教程等等,不仅与软件开发相关,也与我的个人生活有关。
我最喜欢 Notion 的一点就是它创建新内容非常简单。你可以用 Markdown 编写内容,它会以树状结构组织起来。
以下是我“开发”工作区的顶层页面:
Notion还有一些其他不错的功能,例如集成的电子表格/数据库和任务看板。
如果你想认真使用 Notion,就需要订阅付费的个人计划,因为免费计划的功能有限。我觉得物有所值。Notion 允许你将整个工作区导出为 Markdown 文件。导出功能存在一些重要问题,例如丢失页面层级结构,但希望 Notion 团队能够改进这一点。
如果想选择免费方案,我可能会使用VuePress或GitBook来托管我自己的网站。
使用 Pocket 保存有趣的文章
Pocket是我最喜欢的应用之一!有了 Pocket,你可以创建阅读列表,收藏来自互联网的文章。
每次看到感兴趣的文章,我都会用它的 Chrome 扩展程序保存到 Pocket。之后我会阅读,如果觉得有用,就会使用 Pocket 的“归档”功能永久保存这篇文章,清理我的 Pocket 收件箱。
我尽量保持阅读清单简洁,并将已处理的信息存档。Pocket 允许你给文章添加标签,这样以后就能更轻松地搜索特定主题的文章。
您还可以将文章副本保存到 Pocket 服务器上,以防原网站消失,但您需要 Pocket Premium 才能做到这一点。
Pocket 还具有“发现”功能,可以根据您保存的文章推荐类似文章。这是发现新阅读内容的绝佳方式。
使用 SnippetStore 进行代码片段管理
从 GitHub 到 Stack Overflow 的回答,再到博客文章,我们经常会发现一些不错的代码片段,想要保存下来以备后用。它们可能是优秀的算法实现、实用的脚本,或者用 Y 语言实现 X 功能的示例。
我尝试过很多应用程序,从简单的 GitHub Gists 到Boostnote ,直到我发现了SnippetStore。
SnippetStore 是一款开源的代码片段管理应用。它与其他同类应用最大的区别在于简洁性。你可以按语言或标签整理代码片段,还可以管理多个代码片段文件。虽然它并非完美无缺,但足以满足基本需求。例如,Boostnote 的功能更加丰富,但我更喜欢 SnippetStore 这种更简洁的内容管理方式。
对于我日常使用的缩写和代码片段,我更喜欢使用编辑器/IDE自带的代码片段功能,因为它更方便。我把SnippetStore更多地当作代码示例的参考库。
Cacher也是一个有趣的替代方案,因为它与许多编辑器集成,拥有命令行工具,并使用 GitHub Gists 作为后端,但其专业版计划每月 6 美元,在我看来太贵了。
使用 DevHints 管理速查表
Devhints是由 Rico Sta. Cruz 创建的速查表合集。它是开源的,并由 Jekyll 提供支持,Jekyll 是最流行的静态网站生成器之一。
这些速查表是用 Markdown 编写的,并添加了一些额外的格式功能,例如支持分栏。
我非常喜欢这个界面的外观,而且由于它是 Markdown 格式,因此添加新内容、保持更新和进行版本控制都非常容易,这与你在Cheatography等网站上找到的 PDF 或图像格式的速查表不同。
由于它是开源的,所以我创建了自己的分支,删除了部分我不需要的速查表,并添加了一些新的速查表。
我使用速查表来参考如何使用某些库或编程语言,或者记住一些命令。例如,把特定编程语言的所有基本语法都列在一张纸上,非常方便。
我还在试验阶段,但目前为止效果很好。
迪戈
Diigo可以让你对网页进行注释和高亮显示。我用它来注释学习新知识时的重要信息,或者保存文章中的特定段落、Stack Overflow 上的回答,甚至是 Twitter 上的励志语录! ;)
就是这样。某些工具的功能可能存在重叠,但正如我一开始所说,这是一个不断发展的工作流程,因为我一直在尝试和寻找改进方法,以提高效率。
你呢?你是如何整理你的知识的?欢迎在下方留言。
感谢阅读。
文章来源:https://dev.to/brpaz/how-do-i-organize-my-knowledge-as-a-software-engineer-4387
