- 理念与习惯
- 声明式/意图式使用
- Distraction Free
- 免费的永远是最贵的
- 全键盘
- 快捷键
- 硬件配置篇
- Mac OS
- 机械键盘
- 27寸大屏
- iPhone
- MAC OS 系统配置
- Windows 篇?(因为在很多工作环境中,Windows 依然是避免不过去的坑)
- 通用工具集
- 程序员宜家四件套
- 浏览器 Chrome
- 编辑器 Sublime
- 命令行 iTerm
- 高效入口 Alfred
- IT 五件套
- Github
- Git
- Markdown
- 翻墙业务
- 英语
- 素养
- 任务分解
- 小步前进
- 快速反馈
- 程序员宜家四件套
- 开发工具集
- JetBrains 系 - Intellij / WebStorm
- 方向与如何学习
- 大脑认知机理
- learning how to learn
- PKM 个人知识管理
- PKM 5步骤:收纳 - 筛选 - 整理 - 标记 - 整理成为体系 - 分享 - 产出博客成为收纳资料 - 回顾
- GTD 个人时间管理
- GTD 7步骤
- 装机自动化 与 备份体系
- 软件安装 brew & cask & npm & App Store & 自己安装
- 机密数据备份:dropbox + git 数据备份
- 普通数据备份:云盘
- 数据加密备份:stow
其实任何一个工具,你比如说 git,比如说 markdown,它的技术都可以分为两部分:使用技巧和解决问题。技巧是为解决问题服务的,学技巧、练基本功当然重要,可也别忘了最后那步解决问题。为了更快地解决问题,高阶玩家通常会打包技巧的细节,封装成为更高阶的「操作」。这不仅出于对快速的需求,也是人脑封装复杂度的抽象思考方式。在这个封装的过程中,我们的注意力由关注底层的技术「细节」转化为关注更高层的可以解决问题的一个「操作」。比如说,原来我学习时可能要知道插入一个 markdown 图片的做法是:增加一个 ![]()
语法块,并在 ()
中填入图片的地址,这是我们说关注技术细节的做法,我需要记住许多语法符号;更高效的做法是,我关注的是「插入图片」这样一个事情,通过一个快捷键(比如 command + option + i)来表达我想「插入图片」这么一个「意图」(或说「任务」、「操作」),工具会自动地帮我把语法细节处理好,我只需要关注图片的地址即可。再比如 JetBrain 系 IDE 提供的「重构」命令之于其具体操作。
这种「细节」->「意图」思维的转变,是这本 elegant mac 要表达的核心思想之一,与命令式编程到声明式编程的转变有相通之处,因而称之为「声明式」或「意图式」的 Mac 使用。声明式的要求,其实是对工具(IDE、编辑器、插件、浏览器、Alfred 等)提出了两点要求:
- 声明式的场景或模式支持
- 对应的快捷键支持
对使用者提出了两点要求:
- 对场景和模式的识别能力
- 寻找或编写工具的能力
Declarative 这词好像不太朗朗上口,要不要改成 intentional?你懂就好。
这是另外一个思想。你想要做对的事情,有两方面,正面看是把它做对、做好,逆向看,不犯低级错误就是在前进。效率这个东西,是高效抵消低效所剩下的那一部分,而不仅仅是快得飞起的那一部分。这也是我们强调训练基本功的原因,打字、git、使用 markdown、google、快捷键等,因为我们不希望辛苦训练提升的那些效率,被其他低效的习惯拖了后腿,让努力付之一炬。
刚开始下棋的时候,以为最强的进攻是用精致紧密的杀招取胜。后来发现,松散的结构,反而比紧密的棋子有更多端的变化;再到后来,惊讶的发现毫无杀机的防守棋也能弥补漏洞,为进攻制造胜机。虽然蓄势未发,但其实已经重整阵营,再无破绽。在效率的道路上,我们从刀兵相见的原始,到变化多端的计谋,再到不战而屈人之兵的境界。渐渐我意识到,想要快,就必须了解慢。
那么阻碍我们变得更高效的因素有哪些呢?有哪些习惯可能让你的努力修习事倍功半呢?我觉得,有三个:
- fixed mindset v.s. growth mindset 拒绝成长的思维
- distraction 干扰
- infrastructure 基础硬件设施
分别是意识、生理、设备方面的因素,只有最后一项与技术因素搭点边。
成长性思维,主要是对新事物保持开放,不是讲我「行还是不行」这样的评判,而是注重「我比之前有进步」这样的过程。很多时候,你从心理上封闭拒绝去了解一个新的事物,别人讲再多也收效甚微。再说了,别人干啥给你讲这么多,最后还不是你自己亏了一些成长的机会。这方面我有时也有,自己注意修好心态。
干扰,可能就在不知不觉中夺走我们宝贵的注意力,比如学习时却开着震动的微信、开着 n 个浏览器窗口不关掉、IDE 里多余的工具栏、开着多个应用的桌面、Windows 随时弹窗的小广告……想要专注做好一件事逐渐变得不是那么理所当然,这种能力也变得稀缺。能够真正静下心来做成、做好一件件事,才是高效的价值所在。毕竟高效地刷了一天知乎并没有什么卵用。
基础硬件设施。比如一台性能极好的 Mac,一个27寸+的双屏,一个更舒适键程更短的键盘……性能让你能够做更多的事情,键盘让你享受每次击键带来的愉悦,双屏更是开发代码必不可少的快速反馈工具。在没有双屏的日子,在主屏写完代码,我就必须把窗口切换到模拟器或浏览器上浏览效果,运行了测试,还得把测试窗口关掉再继续写代码。而有了双屏,我就可以在27寸的屏幕上写代码,一点击保存,副屏的测试自动运行、模拟器自动热加载,一次快速的反馈就在秒级内完成。细微但是每天都要做无数遍的操作,日子长了就有了差距。
意识端正了,方法论有了,设施也具备了,终于是时候讲讲技术和工具层面的东西了。
上面说的这些好功能,场景+快捷键支持啊、免干扰模式啊,有没有工具免费原生就提供给你呢?有。比如微信等。但更多情况下好东西要收点小费,或者免费版只有有限的功能。这种时候,一旦辨别出其价值所在,建议是马上剁手不要犹豫。花钱买时间、精力、资源,买的好是很划算的事情。