zoukankan      html  css  js  c++  java
  • 作为软件工程师,如何进行知识管理

    简评:对学到的知识进行整理归纳有助于温故而知新(以下我均指原作者 Bruno Paz)

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

    在 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

  • 相关阅读:
    软件开发规范
    内置模块
    自定义模块
    装饰器 递归
    内置函数 闭包
    生成器 推导式
    函数名运用 新版格式化输出 迭代器
    函数进阶
    pycharm快捷键
    移动端必测点
  • 原文地址:https://www.cnblogs.com/jpush88/p/10242871.html
Copyright © 2011-2022 走看看