程序员如何记笔记

作为一个技术宅,很喜欢学习一些自己感兴趣的技术,在学习的过程中,深感记笔记非常的重要。对于成年人,记忆力比起年轻时候都会有不同程度衰减,由此记笔记尤甚重要。下面介绍一下这方面的心得。

笔记

笔记记得好,即使过上几年,再次翻看,还能记忆犹新。

笔记种类

从程序员的眼中,根据内容,笔记可以分为:

  • 信息。任何你想记录的。比如:服务器地址,账号/密码,知识点等。
  • 代码。好的代码易于阅读。代码本身也要求添加的足够的描述。有种说法,代码是最好的文档。
  • 文档。个人,项目或者团队的活动中的内容,包括项目需求,设计,开发,测试文档等。文档主要用于公司或团队内部进行知识交流的。
  • 交互文档。混合了代码,图表和文档。一般是类似jupyter notebook这种格式,它的特点是交互,体现了在开发过程中,逐步思考的过程。常用于技术学习和数据分析报告。
  • 文章。经过自己整理,总结,或者创作出的内容。相对正式,常用wiki,blog等发布。

对于一篇笔记,可以属于多个类别,比如:项目中的文档,可以通过blog单独发布出来,作为一篇文章分享给更多人。相对而言,交互文档会陌生一些,下面介绍一下。

交互文档:jupyter notebook, zeppelin

在学习Spark的时候,第一次接触了zeppelin,它是Web笔记形式的交互式数据查询分析工具,可以用scala和sql等语言展示数据,也可以用markdown来编写文档。这种代码,图表和文档混合的方式,真的感觉耳目一新。jupyter notebook也是如此,支持python, r, julia, and scala等40多种语言。下图中可以看到很多图表展示,和报表工具不同,在右上角的区域有可以修改的程序代码。这是一种专属于程序员的文档形式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZtamLsn-1578559407559)(images/ApacheZeppelin_02.jpg)]


什么是好笔记

再来看看,什么是好的笔记应该有的特性。

  • 好理解: 好的笔记是容易理解的,对于要分享的笔记,尤其如此。
  • 易于复现: 常说,好的代码容易被测试,对于好的笔记,里面的内容也应该是容易被重现的,尤其是对于交互文档和文章中的内容。所以记笔记中,要记录环境如何安装,数据如何准备,程序如何运行,结果如何验证等。
  • 持续更新:好的笔记应该持续的更新出来的。

大家或许都看过廖雪峰老师的网站,写的很好懂。就像下图中所说“中文,免费,零起点,完整示例”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Exq5uDal-1578559407567)(images/1557704516822.png)]

笔记的安全性

既然要分享,笔记的安全性非常重要。不同的笔记也有不同的发布范围。

  • Internet:
    • 公开。没有安全性限制,可以发布到internet上,让所有人访问。一般包括一些wiki,blog,开源代码等。
    • 私有。信息是私有的,但可以授权任意的人员来访问。个人的一些文章,代码,但并不想公开的,而且不含有公司的敏感信息。
  • 公司/部门:仅在公司/部门内部网络才可以访问。有些信息在公司或部门内部是公开的。比如:公司流程,部门policy等。
  • 项目:信息在项目组内部是公开的,可以授权项目外的同事来访问。比如:项目开发设计文档,源代码等。
  • 私有:信息是私有的,但可以授权公司的同事或者互联网上的朋友来访问。比如:个人的一些资料,文档,代码等。

工具

任何工具的流行,离不开需求,也离不开合适的环境。

历史

个人而言,使用的工具经历了以下的过程。

  • 原始社会:文本文件,word,excel文件
  • 工业时代:evernote, onenote, 有道云笔记
  • 信息时代:zeppelin,jupyter notebook + 思维导图
  • 互联时代: github(pages, wiki) + typora(markdown) + pandoc …

以上的这些时代的划分,纯粹是个人杜撰。

以上这些工具,我们都会混合使用,没有一种工具可以解决所有的问题。

原始社会:文本文件,word,excel文件

大家都是使用这些工具开始的,主要缺点是文件分散在计算机的各处,时间长了,放在哪里都忘了,查找起来很不方便。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7pS1CBmI-1578559407568)(images/ximg_5b6e4770e6897.jpg)]

工业时代:evernote, onenote, 有道云笔记

采用这些强大的工具,我们可以编写出如下图一样精美的笔记。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRvY9W68-1578559407569)(images/CNHome_Image1_v2.png)]

记不得从何时开始,用上了evernote,身边的很多朋友也在用onenote。用上这些工具,笔记集中管理,可以多级导航,搜索起来也很方便,应该说效率大大提高 。后来又开始使用有道云笔记,和evernote比起来,它可以编写markdown,笔记分级方便方便,但全文检索能力又不如evernote。

信息时代:zeppelin,jupyter notebook + 思维导图

虽然evernote,onenote等工具很强大,但无法执行程序代码。由此,zeppelin,jupyter notebook等工具孕育而生。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oPMc6cUc-1578559407569)(images/jupyterpreview.png)]

思维导图

思维导图,则另辟蹊径,是表达发散性思维的有效图形思维工具。它运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DTTnKxYZ-1578559407570)(images/1557381669838.png)]

互联时代: github pages+ typora(markdown) + jupyter notebook + pandoc …

面临的问题:

  • 工具的强大,造成笔记太多,如何使笔记更有价值?
  • 学习时记笔记,开发时写文档,需要展示时写ppt,如何用统一的方式来记录和分享呢?
分享

上面两个问题的答案或许是分享。知识的根本目的和价值是分享。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9SY1yzEb-1578559407571)(images/pic1_0.png)]

当需要分享知识的时候,往往会花上心思,这使得知识更易于理解,更加有价值。

整个知识分享的流程如下:

  • 10
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序员学习笔记app是一款为程序员打造的学习工具,旨在帮助他们提高学习效率、管理学习内容,并激发学习动力。 首先,该app提供了丰富的学习资源和教程。程序员可以在app中浏览各种编程语言、框架和工具的教程,学习专业知识和技能。这些教程不仅简明易懂,还包含大量的实例和代码,程序员可以通过实践巩固学习成果。 其次,该app具有个性化学习管理功能。程序员可以根据自己的学习目标和阶段,设置学习计划和提醒。例如,可以设定每天学习一定时间,或者每周学习特定主题。同时,app还提供了笔记功能,方便程序员记录学习心得、难点和解决方案。这些笔记可以随时查看和编辑,帮助程序员进行复习和总结。 另外,该app还提供了学习进度统计和反馈。程序员可以查看自己的学习时间、完成的教程和理解程度等信息,了解自己的学习情况和进步。同时,app还会根据学习情况给出相应的建议和鼓励,让程序员感到自己的努力得到了认可和支持。 最后,该app还具有社交化功能。程序员可以在app上与其他学习者交流、分享学习心得和经验。他们可以发布问题并得到他人的解答和帮助,同时也能从他人的经验中获得启发和提升。这种社区交流的环境可以激发程序员的学习热情和团队合作精神。 总之,程序员学习笔记app通过提供学习资源、个性化管理、学习反馈和社交交流等功能,有效地帮助程序员提高学习效率和成果。这样的学习工具将成为程序员们的得力助手,助推他们在编程领域的进步和发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值