2024年1月8日星期一

搭建日常学习工作流

最近在看 CS 自学指南上的内容,发现了一篇日常学习工作流的文章,很受启发,文章中按照信息收集、信息处理、信息回顾的思路,整理的流程如下:



想按照上面的思路把自己日常学习工作流也搭建起来,搭建的时候就在想,把信息都整理到了 Obsidian,可以用来回顾,但优质的信息要服务于生产,最近开始对生产重视起来,也是受到笑来老师财富的真相课程的影响,基于课程的新书最近已经上市了。下面是书中一张重要的流程图:

受到上面这张流程图的的影响,我就想着学习工作流的落脚点,最终要在生产(创造)上面,每天会看很多的信息,很多优质的信息会保存下来,这些知识可以去服务生产,去创造更多的价值,然后去做更多的事情。结合上面两张流程图,下面是创建的我自己的学习工作流。

学习工作流的说明:

  • calibre 可以将电子书/论文转换为 Markdown 格式存放到 Obsidian 中,也可以把阅读笔记同步到 Obsidian 中,在 Obsidian 看笔记时可以跳转到 calibre 对应的内容,实现内容与笔记的相互跳转。
  • Cubox 主要用于微信中阅读的内容和部分网页内容的收藏,将内容通过简悦自动同步到 Obsidian。
  • feedly 主要是将个人博客类的网页聚合其他,有价值的内容同步到 Obsidian。
  • 音频内容主要是平时听课的内容,会用手机录下来,上传到剪映专业版,自动生成字幕,导出 txt 字幕,再导入 Obsidian 。
  • 视频内容主要是在 YouTube 上看的视频课程,导出 Language Reactor 生成的字幕,再导入 Obsidian 。

工具的简要介绍:

  • calibre:一款功能强大的电子书管理软件,支持电子书的整理、编辑、转换和同步等功能。
  • Cubox:一个多功能的在线书签管理工具,允许用户保存、整理和分享网络内容。
  • feedly:一款流行的内容聚合器,用于组织、阅读和分享来自多个新闻源和博客的更新。
  • 简悦:一款浏览器扩展,旨在提供更简洁、沉浸式的阅读体验,消除网页上的干扰元素。
  • 剪映专业版:一款视频编辑软件,提供强大的视频制作和编辑功能,适用于专业级的视频制作需求。
  • Language Reactor:一款视频编辑软件,提供强大的视频制作和编辑功能,适用于专业级的视频制作需求。
  • Obsidian:一款基于 Markdown 的知识管理和笔记应用程序,以其链接性思维和高度可定制化的功能而著称。

2023年7月15日星期六

关于统一命名的问题

 

  • 实际项目开发中,对于类和字段的命名,基本会达成一个共识,就是认为它们非常重要,主观上认为它非常重要,在行动上也要实践起来,不然,也仅仅停留在纸面上,不会创造出应有的价值。在过去的项目中,由于经历过不同的开发成员,在开始的时候,没有形成很好的命名规范,导致有很多不统一的地方。
  • 有几处的印象比较深,在这里记录列举一下,一个是关于类的命名,对于不同的资源,对应不同的加入成员,成员的这个单词在英文中也对应着几个同义词,选择一个就能表明含义,后面的开发者也都能看懂。在项目中,不同的资源有很多的命名,它们的命名分别如下:
    • 社区成员 Accession
    • 讲座成员 Lecture::Attendee
    • 课程成员 CourseUser
    • 活动成员 Event::Member
    • 群组成员 AccessionChatroom
    • 训练营成员 Camp::Member
  • 另一个是对字段的命名,有一个很小的点印象特别深,就是对于名称的命名,不同的表中分别有 title 和 name,导致需要统一使用的时候,需要在相应的表中都要添加 alias,还有其他的字段命名没有进行统一,这里只是举例说明一下。
  • 项目的常用的单词的也就几百个,对于不同的业务单元有相应的专业名词,但数量也不会太多,一般也都能明白命名字段的表义。但如果项目中,对于同一个表义,有不同的命名,也不是不能明白,只是对于后期开发和维护,会造成比较高的认知成本,而且也容易出现问题,对于可以通用的功能模块,由于类的命名不统一,需要进行额外处理,出现 bug 的概率就会增高很多。
  • 那如何才能形成统一的命名规范,并能很好的执行?下面是自己的一些思考和实践
    • 在观念上要接受统一命名很重要,如果是团队的 leader,要反复地强调,并且以身作则
    • 观念上接受,还要有相应的机制,在实际工作中践行,要有项目统一命名文档,团队成员要达成共识并遵守
    • 统一命名要在事前进行,放在技术评审阶段,不能放在 Code Review
    • 对于不遵守的成员,还要相应的“惩罚”机制,这里的惩罚当然不是扣钱,对于初中级的工程师,可以是安排一次技术分享,对于高级工程师的话,也可以增加几次 Code Review 的任务,并且在每次 CR 的时候至少要夸一次 coder,就是找到写的好的地方,写上这个地方写的太好了,也可以是其他形式,但就是不能以扣钱的方式
    • 项目统一命名文档要进行定期更新

2023年5月27日星期六

AI 时代关于工作的一些想法

 以ChatGPT为代表的新一代人工智能,已经出现半年多了,在这半年多的时间里,试用了很多新的工具,使用下来发现目前工作中用的频率最高的还是ChatGPT,现在工作中遇到问题,第一想法是去询问ChatGPT,如果ChatGPT解答的并不满意,才会去Google搜索答案。


ChatGPT刚出来的时候,并没有去试用,而是在后面炒的比较厉害之后才想办法注册了账号,也给身边不少朋友同事注册,还集成到了飞书和微信,后来出来了Plus版本,又订阅了Plus版本,对国内用户并不友好,费了好大的劲才订阅上,现在可以在iOS上直接订阅也方便了很多。


最近一两个月几乎每天都在使用ChatGPT,因为ChatGPT是生产力工具,如果只是纯聊天的话,过一段时间没有了新鲜感,也就不怎么使用了,现在大部分可能都是这样的状态,但是对于想用它做点什么的人来说,就会使用的越来越频繁。


就拿日常写代码来说,代码的自动生成可以直接使用GitHub Copilot,而遇到问题或者报错的时候,可以把报错的信息全部扔给ChatGPT,让它给你分析遇到的问题,通过分析后的解答,再提出自己的疑问,几轮过后大部分问题都可以解决,这就很大地提高效率。


在AI工具出现之前,工作过程中花时间最多的是在解决困难的问题,这个时候还会有畏难情绪,这种情绪也非常消耗能量,就是会担心问题解决不了,解决不了的话有可能会引发新的问题等等。内心也知道问题肯定能够被解决,心里就是不踏实。一般遇到难的问题,都会选择自己解决,我觉得这是一条必经之路,等解决得多了,就会习惯这种状态。


有了AI工具之后,解决问题的效率会大大地提升,因为你有一个比人类中任何人的知识都丰富的助手,可以跟它一块结对编程,解决各种各样的难题,这个时候的畏难情绪就会缓解很多,因为你知道有一个助手,它随时都可以回答任何问题,这种安定感是之前不会有的。


上面说的是编程相关的,然而在软件产品的开发过程中,其实各个环节的工作,都可以借助AI工具来完成,比如产品的原型图、营销的文案、宣传的海报、产品的客户咨询等等,整个软件产品的过程中都可以借助AI工具来完成。


在AI的协助下,一个人的能力边界可以扩大很多倍,一个程序员如果想做一款产品,刚开始的时候想验证下产品能不能跑得通,要是以前的话,涉及的各项工作都要自己完成,虽然每个方面都有相应的工具,但学习的成本和制作的成本也会很高。


有了AI工具之后就会变得不一样,涉及各个环节需要做的,其实只需要能够清楚、准确地用自然语言表达需求,就能够做出差不多的东西,生产效率会极大地提高,一个人就可以是一个团队,可以尝试的事情就会变得很多。


搭建日常学习工作流

最近在看 CS 自学指南 上的内容,发现了一篇 日常学习工作流 的文章,很受启发,文章中按照信息收集、信息处理、信息回顾的思路,整理的流程如下: 想按照上面的思路把自己日常学习工作流也搭建起来,搭建的时候就在想,把信息都整理到了 Obsidian,可以用来回顾,但优质的信息要服务...