嗨~ 朋友,感谢订阅 Kilig 的碎周报,这里是碎周报第 5 期。

音乐

播客

开源 App

  • macOS - Fig,来源:Twitter - @Blankwonder
    终端自动补全工具。第二期 newsletter 里介绍的 macOS 原生终端应用 Warp 自带补全,这段时间一直在使用 Warp,但总感觉差点意思跟 iTerm 比。
    Fig 也是开源的,项目地址:github.com/withfig/autocomplete

  • ⭐️ macOS - Manila,来源:Twitter - @neilsardesai
    访达拓展,可以更改文件夹颜色。之前都是给文件夹打标签,现在可以直接修改文件夹颜色,更加直观。

  • Windows - Dism++,来源:Twitter - @scomper
    DISM 工具的多语言包。

    DISM(Deployment Image Servicing and Management)就是部署映像服务和管理 (DISM.exe) 用于安装、卸载、配置和更新脱机 Windows ® 映像和脱机 Windows 预安装环境 (Windows PE) 映像中的功能和程序包。── 百度百科

壁纸

Newsletter

  • ⭐️ 草稿拾遗

    潦草学者 的思考与感受 长期关注效率工具,互联网商业。

设计

其他

  • ⭐️ YouTube - 【亦】唠唠苹果 M1 Ultra:半导体新时代!,来源:Twitter - @taresky
    刷新了我对苹果 M 系列芯片的认知,一套设计满足所有产品线,分摊成本,Cook 真切片大师。

  • 视觉同盟专访 - 2006 国际 GUI 冠军赛全场最佳个人应骏赳 (JJ.Ying) 专访,来源:Twitter - @ftium4
    对应骏赳老师又多了一丝了解 😄。

  • “Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” by Linus Torvalds

  • Hanlon’s Razor(汉隆剃刀)
    Never attribute to malice that which can be adequately explained by neglect.
    永远不要将那些可以用疏忽来解释的事情归咎于恶意。

  • 《蜥蜴脑法则》

    行为经济学家 Thaler 和 Sunstein 提出的 “蜥蜴脑” 似乎可以回答这个问题。Thaler 和 Sunstein 指出,虽然人类自诩为理性动物,但事实上,我们在做大多数决定时,其决策过程与低等脊椎动物蜥蜴并无太大区别。换句话说,人脑的决策过程,与蜥蜴脑的几乎一样。
    每个人身上都有一个 “蜥蜴脑”。蜥蜴脑极其聪明,而且运转极快,能在极短时间内轻松做出准确判断。它不仅高效,而且不知疲倦,昼夜不停,无法阻挡。蜥蜴脑能量极大,总是在不知不觉间控制我们的绝大多数行为,包括那些事关生死的重要行为。
    所以,无论你是想说服某一个人 —— 比如说你的配偶、孩子或者同事 —— 做一件事,还是想说服成千上万人购买 Apple Watch 或百威啤酒,只要学会跟他的蜥蜴脑对话,效果就会事半功百倍!

⭐️ 如何阅读一份源代码?(2020 年版)

来源:codedump 的网络日志 - 如何阅读一份源代码?(2020 年版)

  • 先跑起来
  • 明确自己的目的
    在开始展开阅读之前,需要明确自己的目的:是需要了解其中一个模块的实现,还是需要了解这个框架的大体结构,还是需要具体熟悉其中的一个算法的实现,等等。
  • 区分主线和支线剧情
  • 纵向和横向
    • 纵向:顺着代码的顺序阅读,在需要具体了解一个流程、算法的时候,经常需要纵向阅读。
    • 横向:区分不同的模块进行阅读,在需要首先弄清楚整体框架时,经常需要横向阅读。
      过程中还是以整体为首,在不理解整体的前提之前,不要太过深入某个细节。
  • 情景分析
    自己构造一些情景,然后通过加断点、调试语句等分析在这些场景下的行为。
  • 利用好测试用例
    测试用例往往是针对某个单一的场景,独自构造出一些数据来对程序的流程进行验证。所以,其实跟前面的 “情景分析” 一样,都是让你从大的项目转而关注具体某个场景的手段之一。
  • 厘清核心数据结构之间的关系
  • 多问自己几个问题
    输出的手段有很多,在阅读代码时,比较建议的是自己能够多问自己一些问题,比如:
    • 为什么选择这个数据结构来描述这个问题?类似的场景下,其他项目是怎么设计的?都有哪些数据结构做这样的事情?
    • 如果由我来设计这样的项目,我会怎么做?
      等等等等。
  • 写自己的代码阅读笔记
    • 尽量避免大段的贴代码,如果真要解释某段代码,可以使用伪代码或者缩减代码的方式。如果真的想在代码上加上自己的注释,我有一个建议是 fork 出来一份该项目某个版本的代码,提交到自己的 github 上,上面随时可以加上自己的注释并且保存提交。
    • 多画图,一图胜千言,使用图形展示代码流程、数据结构之间的关系。

⭐️ 职业建议

原推微博,来源:codedump 的电报频道

  1. 尽可能为别人减少不确定性
    • Uber解决了打车的不确定性
    • 亚马逊解决了送包裹的不确定性
    • 你也可以通过及时更新项目进展来帮老板解决不确定性
  2. 公司比职位更重要
  3. 一旦接受了一个任务,无论多小或者多么不起眼,要把它做的特别好,超出别人的预期。这样你就能建立起一个良好的声誉,让别人知道你总能高质量的完成工作。当你建立了这种声誉,你就能得到更多的机会,更大的知名度,以及更大的成功。
  4. 如果我不能信任你,你再聪明都没用。
  5. 在你的职业生涯中,陪你走到最后的只有你自己。不是你的公司,不是你的经理,不是你的团队,只有你自己。
    • 在做你所有职业生涯的决定时,优先考虑你自己。
  6. 影响你职业生涯的三件事:
    • 你做什么?(工作)
    • 你为谁工作?(客户)
    • 和你一起工作的人是谁?(团队)
      如果你热爱你的工作、客户和团队,你会非常非常幸运。
  7. 和一个聪明的能激励你走向伟大的人结婚。
  8. 要么能学东西,要么能赚钱。否则果断离职,去找一个这两者至少占一样的工作。
  9. 如果一个问题你不问,那么答案一定是“不”。
  10. 选择你的老板。
    你有权选择谁当你的老板,而在找工作的过程中很多人没有考虑到这一点。
    一个优秀的老板可以为你的职业发展提供极大的助力。
  11. 学会阐明你所做的事情的商业价值,而不仅仅是你的工作头衔或者项目。
    不好的例子:“我是一个数据科学家。我创建了3个自服务数据应用”
    更好的例子:“我帮助管理层发现了一个可以节约2300万美元成本的机会”
  12. “职业”,本质是一个营销名词,是由那些经营特定类别的梦想的人卖给你的,而他们在贩卖这个梦想时赚了很多钱。
    赚钱,承担风险,有冒险精神。
    但不要让“职业”来限制自己。

本周还做了什么


【完】以上就是本期周报的全部内容了,再次感谢订阅和阅读。Have an A-1 week.