2017/02/18 第844期

Dropbox 创始人在 2013 年的 MIT 毕业典礼的演讲全文

人这一辈子只有3万天;人生不需要完美,人生需要冒险;你这个人是与你常在一起的5个人的平均;24岁时第一次融资,刷新自己银行网站见识到从$60变成$120万,从没逗号变俩逗号。

"... you're the average of the 5 people you spend the most time with. Think about that for a minute: who would be in your circle of 5?" 你可以找机会多跟牛人在一起,或者。。。找机会少跟烂人在一起:)

在学校你可以追求完美的 GPA,毕业后,人生不可能完美。可以不断尝试,失败许多次,但你只要能成功一次就够了。"From now on, failure doesn't matter: you only have to be right once."

可以在线观看这个演讲,很不错。

剖析 Twitter 的 Redux Store 的结构

Twitter 的 mobile web 使用 React + Redux 写的前端。通过Chrome js console可以查看他们是如何组织在前端使用的数据结构的,不错的学习材料。

下载并安装 React Developer Tools,访问 Twitter mobile web,打开 js console,切换到 React,然后在 console 里输入 $r.store.getState(); 相当工整、美观的 javascript object,周末泡杯咖啡、可以好好品评一个下午了:)

Instapaper 事故原因分析与数据恢复

由于MySQL数据文件过大、达到ext3的2TB文件大小限制,Instapaper完全中止服务31个钟头、然后额外用了整整5天时间(包括周末)拉上Pinterest与亚马逊工程师一起恢复数据。

前不久有网友评价 GitLab 的数据库故障:如果他们使用 AWS 的 RDS 就不会发生这样的故障了。而 Instapaper 这次故障正是因为他们用了 RDS,完全托管,控制权太小,没法知道(或被警报)2TB文件大小限制这回事。平时没有演练恢复数据库备份,没法估计到底要花多长时间才能完全恢复。

Refactoring Slow and Steady

代码重构要循序渐进,每个 commit 尽量只做一件事;比如,commit 里只重命名了某个函数的名字,即使一下改了几百个文件,code review 也很好 review。

最怕那种一个 commit 一口气做了 N 件事,第二天想继续做,却发现思路嵌套太深、被自己给绕晕了,只好放弃重构。

35、40、50岁以后学编程会不会太晚

列出了一些“高龄”转行学编程然后做软件工程师或自己创业的案例。有到编程速成班学习的、有在网上看在线课程视频的、也有读个完整计算机科学本科学位的。

为什么现实中有人觉得自己已经25、30岁“高龄”了而不适合学编程呢?不用读一个4年大学学位就能学编程;退一万步讲,就算读4年本科学位,4年时间算长吗?如果你不觉得2013年是很遥远的过去的话,4年真不算长。