题图:reMarkable 和 Pixel 2(reMarkable 可以支持中文)
二十一世纪最贵的是什么?不是人才,是人才的时间和注意力。
时间和注意力可以说是现代人最宝贵的资源,几乎所有的媒体、App、线下活动事实上都在想方设法攫取你的时间和注意力资源。如何合理利用你的注意力呢?比如你想在短时间内实现高效学习和工作,那就必须要让注意力快速高度集中。
但注意力不是你想集中就能集中的。我们无数次的遇到这样的情形:写文章的时候有个概念没搞明白,然后上网去查,查到之后开始专心研究这个概念,并进行延展……然后你感觉有点累了,忍不住打了一局王者荣耀或看了一集美剧奖励自己……最后你发现时间过去了三个小时,你最初要完成的写作,依然停留在开头的几十个字上……你完全偏离了任务轨道。
如何保持注意力呢?
1、不要高估自己的抗干扰能力,想集中时间做一件事,把有可能打扰你的东西 —— 手机和电脑的通知信息、零食、娱乐书籍、电视等 —— 要么关掉,要么放远远的。
2、制造点仪式感,比如在办公桌上使用射灯,只照亮你关注的内容。郑重的告诉自己要从事某种任务了。把学习资源 —— 电脑、图书、学习工具等 —— 摆放整齐。良好的环境和氛围可以有效提高我们的注意力。
下面就说到重点了,购买足够贵的学习工具,可以帮助你聚拢自己的注意力。这种学习工具包括个人电脑、键盘、升降工作台、Pad、Kindle、摄影器材、运动器材、学习软件、付费知识产品等等,不一而足。
这里的贵当然是相对的,没人撺掇你工作一两年就去买 10 万块的 iMac Pro,但两万块的 Macbook Pro 就在可以考虑的范围之内。在承受力范围内买最贵的学习工具应该是个好的选择。
最近许岑在他的得到专栏里说,当他开始重拾吉他技能的时候,买了一把四万七的吉他,每天抱着不撒手,能连续弹四个小时,因为贵啊。搁那闲置一个小时,放佛就能听到银子唰唰流走的声音,弥漫,并消失在空气中,所以有时间就拿起来弹。他练习书法买 20 块一张的宣纸,每一笔都一丝不苟。
想想我原来也差不多,当年学习编程的时候,稍微有点钱了,就花了一万多买了当时算贵的 IBM Thinkpad,那时候是 2003 年。这么贵的笔记本,那就天天抱着呗,不眠不休的写程序。到了 2008 年我换了差不多两万块的 Macbook Pro,开始新一轮学习。写作软件也差不多,买了好几款,挑最好用的用。都好用怎么办,换着用,可以保持创作上的新鲜感。最近我一直在反思为什么摄影技术一直没能入门,用着用着就用回手机拍照了,现在看来,主要是缺乏一部足够贵的相机:)
比如这样的和这样的:
然后你就可以拍出这样的:
贵就是好,花钱不仅可以买时间,事实上还可以帮助你集中注意力。所以,程序员的女盆友和媳妇们,不要再阻止他们购买华丽的 Macbook、宽阔的显示屏、凌厉的 iPad、电子墨水屏的 Kindle 和 reMarkable、各种轴的炫酷键盘和单反相机了,因为他们是在拯救自己的注意力啊。
用Mac写代码(特别是前端)的特殊优势:
一、更好的命令行支持
随着Node.js的发展,大量命令行工具出现,前端们有很大一部分时间是在命令行下工作的,好用的命令行可以提高工作效率。
1. Mac自带bash和zsh
相比Windows的cmd,bash更加强大,这个基本上不需要讨论了。然后Mac还自带了zsh,通过oh-my-zsh进行配置以后,就很棒了,他有如下功能:
智能的tab补全:
不仅输入路径以后按tab可以方便切换,更好用的是,输入npm run 按tab,可以自动补全当前package.json中定义的script;输入git checkout 按tab可以列出当前仓库的分支和提交进行补全等等。强大的插件机制:
支持各种插件,例如autojump,输入一个“j"加目录名的一部分,就会根据访问频率自动跳到你要的目录,一键切换。多样的主题:
zsh的主题可以实现在命令提示符中显示各类信息,非常直观,例如显示git分支,可以防止提交到错误的分支。
更多参考:为什么说 zsh 是 shell 中的极品?
另外Windows下要装zsh也是可以的,有个叫babun,用着的确很舒服,可是在babun上根本跑不了node.js啊,所有前端工具统统作废,即使有人跑起来了问题也一大堆,因为node.js官方已经宣布不再支持cygwin了(见node wiki)。而且早期的node.js对Windows兼容很差,后来有了微软加入才好转。
2. Mac下可以跑shell脚本
用shell编写工程化脚本非常方便,由于很多前端工具都是在*nix环境下开发的,相关的支持做的很好,另外Mac自带的各类命令行工具也可以很方便的在shell脚本中调用。
我去看了一下几个主流前端框架的源码,都只有shell脚本,并没有见到bat脚本,例如Vue.js的 build目录下有三个shell脚本,分别用来跑ci、打普通包和Weex包;React的script目录下有shell脚本进行自动化处理;Angular的源码中就更多了,遍布在各个地方,可以在File Finder中输入“.sh”查找到。
3. Command(⌘)键
在Windows 10 之前,要想在命令行中粘贴东西,只能通过鼠标右键,甚至在有些命令行窗口中,只能右击标题栏才行,右击屏幕黑色区域无效。Windows 10 改进了这一点,能够使用Ctrl+C复制和Ctrl+V粘贴,但仅仅这样子是不够的。
在Mac终端下,我们可以用command组合键进行文本操作,ctrl组合键进行命令控制。加上各类终端软件都会基于command键,建立一系列快捷键,例如iTerm2可以按⌘D拆分窗口,⌘T新建标签,十分方便,又不会和ctrl键冲突。
二、更容易维护
1. 垃圾软件少
2. Homebrew
3. Time Machine
Mac不需要安装杀毒软件,也没有XX全家桶,更不需要安装各类驱动,维护起来非常方便,很大的提高了工作效率,也为我们公司的IT部门节约了工作量。另外有homebrew,很多开发工具都可以一条命令安装、更新和卸载。
另外Mac有个Time Machine,可以对文件进行备份,并且单独查看、还原每个文件,就像git版本管理一样。最佳的用法是,我实习结束回校,要归还MacBook给公司,由于我一直有用Time Machine的习惯,正式入职第一天领到新的MacBook后,插上带有备份的移动硬盘,选择从Time Machine还原电脑,然后玩2个小时手机(捂脸,主管你看不到对吧),什么都不用做,我的开发环境又回来了,和走之前一模一样,立马开始工作。那天其他人都花了一整天来配置环境,好辛苦。。
三、图形设计软件支持
说了上面几点,其实很多Linux也可以做到,但是对于一个前端程序猿来说,图形设计软件的支持很重要,不然怎么愉快的切图啊!Linux下没有Photoshop,没有Fireworks,曾经用wine模拟过,但是经常遇到切图切到一半卡死的情况,然后UI在一旁笑而不语,留下一脸尴尬的我。
在Mac下可以安装Adobe全系列软件,还有很好用的sketch,这个只在Mac才有。现在我们公司的UI已经不用Photoshop,全都用sketch了,我也试着用sketch做过一些东西,方便高效,有很多前端css的思想在里面,而且可以直接复制矢量图为svg,相比之下感觉Photoshop更适合修照片,不适合做UI。
总结一下,我认为对于一个前端程序猿,最需要Mac的地方是他强大的命令行支持,带来了更高的效率和更好的体验,其次是拥有优秀的图形设计软件。
今日互动
Welcome to talk
你用过最贵的学习工具是什么呢?
IT派会持续关注互联网、大数据、机器学习和人工智能领域,欢迎加入IT派-{ 技术青年圈 },希望大家更多参与到相互学习交流的过程中,扫描二维码备注IT派进群交流 。