# 每周分享第 10 期

这里记录过去一周，我看到的值得分享的东西，每周五发布。

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062201.jpg)

（题图：卢日尼基体育场，莫斯科，2014。世界杯开幕式的转播，让我意识到自己去过那个体育场。那天想去莫斯科大学玩，路过一个体育场，大门紧锁，空无一人。）

我经常收到来信，询问怎样才能变成前端工程师。大部分的信件，来自两类人：即将毕业的学生和工作多年的成年人。上周，我就收到一封。一位30出头的通信工程师问我，现在通信行业效益不好，有没有可能转到前端开发？

我一般不给人生建议。你的人生，我不介入。再说，我又不了解你，怎么给建议？何况我从来不确信自己是对的。但是这一次，我破例回信，告诉他别转前端。

互联网开发这个行业，求快求变，工作负荷非常大。年纪大了（35岁~40岁）还待在第一线开发，就会力不从心。项目下个月就要发布，这个月必须全部关在项目室加班，最忙的几天可能还要在电脑桌下面的睡袋过夜。十年前，你还能承受这种生活，十年后就不行了，没法跟刚刚毕业的年轻人一样投入了。比起年轻人，你不仅加不动班，而且技术也不占优势，经验也没太大价值，但是你的工资比较高，这时就是你离开第一线的时候了。

30多岁转前端开发，个人爱好没问题，但梦想以此谋生基本上是死路一条。当然，你原来的职业可能也是死路一条，我不知道哪条路更糟一些，但是留在原行业，至少你还有一些行业积累，从零开始风险太大了。

一个相关的问题是，已经待在这个行业的程序员，退出第一线以后干什么呢？很简单，干一些强度比较小、迭代比较慢的事情。人生几十年，能够体验不一样的生活，挺好的。至于能不能依靠那些事情谋生，就看每个人的造诣和造化了。至少那些老程序员离开第一线以后，看上去都还活得不错，对嘛？

## 新闻

1、[棉花糖测试](https://www.theatlantic.com/family/archive/2018/06/marshmallow-test/561779/?single_page=true)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062202.jpg)

有一个著名的心理实验，叫做[棉花糖测试](http://songshuhui.net/archives/22125)。一群小孩，每人拿到一块棉花糖。心理学家告诉他们，你可以现在就把糖吃掉，但是如果忍耐15分钟，就可以得到第二块糖的奖励。

> 大多数小孩子都没能忍住，有的立刻吃掉了，有的还没等实验员离开半分钟就吃掉了，有的四下张望之后偷偷吃了一点点......只有30％的孩子一直坚持了15分钟，直到实验员回来。

日后的追踪发现，那些忍住不吃的小孩，往往有更成功的人生。

以前的解释是，为了长远利益、忍受眼前诱惑的人，更可能成功。但是，新的[研究](https://www.theatlantic.com/family/archive/2018/06/marshmallow-test/561779/?single_page=true)发现，那些忍住不吃的小孩，大多来自富裕人家，也就是说他们的人生成功，很可能与忍耐力无关，而是家庭的帮助。

2、[古巴的声波攻击](http://hearinghealthmatters.org/hearingnewswatch/2018/ultrasound-intermodulation-distortion-cuba-sonic-attacks/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062203.jpg)

2016年12月开始，古巴首都哈瓦那的美国和加拿大使馆，至少有24名外交人员出现恶心，耳痛，听力下降，流鼻血，眩晕甚至行走困难。一份医疗报告将伤势描述为"轻度创伤性脑损伤"和"未受震荡的脑震荡"。

2018年3月，密西根大学发表一项研究成果，认为这不是古巴的有意攻击，而是窃听器失灵，造成多个音调的超声波信号相互干扰，使得不可听见的超声波变频到可听范围内，从而导致高音噪音。

3、[从空气中吸收二氧化碳](https://www.nature.com/articles/d41586-018-05357-w)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062204.jpg)

科学家认为，人类过度释放二氧化碳是地球暖化的主要原因，为了保护环境，我们应该减少二氧化碳的释放。

一家加拿大公司正在尝试另一种方法：从空气里面捕获二氧化碳。方法是把空气吹向氢氧化钾溶液，形成碳酸钾。进一步加工处理之后，转变为碳酸钙颗粒。这种颗粒加热后，就会释放二氧化碳，再埋入地下的管道。现在，捕获一吨二氧化碳的成本在200美元以上，但是未来估计可以降低到100美元以下。

4、[谷歌创始人投资的飞行汽车](https://phys.org/news/2018-06-car-startup-google-founder-flights.html)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062205.jpg)

6月初，谷歌创始人拉里·佩奇支持的飞行汽车在新西兰试飞。这种飞机使用电动引擎，可以在地面行驶，它的机翼上有10个小型升力扇，使其能够像直升机一样垂直起降。

它的飞行最高时速限制在32公里/小时，飞行高度不超过3米。设计目的是水上飞行，主要用于游乐用途。

5、[微软的海底机房](https://news.microsoft.com/features/under-the-sea-microsoft-tests-a-datacenter-thats-quick-to-deploy-could-provide-internet-connectivity-for-years/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062206.jpg)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062207.jpg)

6月6日，微软在苏格兰沿岸30米的海底放入一个机房。这个海底机房配置了12个机架864台服务器，合计27.6PB存储空间。它主要由海底电缆供电，并通过电缆连回互联网。同时，它还装备了涡轮发电机和波浪发电转换器，能够利用潮汐流和海浪摇曳发电。

海底机房的最大好处是节省能源，机房会产生大量热量，放在海底就不用担心散热。另外，由于是无人空间，机房里面的氧气和水蒸气会全部抽除，减少服务器腐蚀。

6、[GraphQL 指南](https://blog.graphql.guide/introducing-the-graphql-guide-11a5ae48628a)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062208.jpg)

jQuery 的作者 John Resig 出新书《GraphQL 指南》了。他的时间现在都投在 React 开发。

7、[生育率与房价](https://www.zillow.com/research/birth-rates-home-values-20165/)

美国一项研究发现，房价上升最快的县市，生育率下降最多。

真是挺有趣的结果，因为生育率统计的是当地居民，这批人都是房价上涨的受益者。他们变得更有钱了，却不愿意多生小孩了。联想到穷人往往多生，结论只能是：多生小孩的主要动机是养儿防老。

## 教程

1、[如何使用 AWS LAMBDA 做一个 YOUTUBE MP3 下载器](https://intoli.com/blog/youtube-mp3-downloader/)（英文）

作者做了一个 Bookmarklet。浏览 Youtube 的时候，只要按一下这个书签工具，就会把请求发到 AWS LAMBDA，然后抓取 Youtube 流文件，转码成 mp3 文后以后存到 S3，再返回下载地址。

2、[各种数据结构的 JavaScript 实现](https://adrianmejia.com/blog/2018/04/28/data-structures-time-complexity-for-beginners-arrays-hashmaps-linked-lists-stacks-queues-tutorial/)（英文）

这篇文章针对初学者，介绍 Array、HashMaps、Sets、Linked Lists、Stacks、Queues 这六种数据结构的 JavaScript 实现。

3、[tcpdump 示例教程](https://hackertarget.com/tcpdump-examples/)（英文）

tcpdump 是一个 Linux 命令行工具，用来查看 TCP 通信。

4、[Eloquent JavaScript 3rd edition 中文版](https://github.com/wizardforcel/eloquent-js-3e-zh)

一本开源的 JavaScript 语言的入门教材。

5、[2018 世界杯预测](https://www.kaggle.com/agostontorok/soccer-world-cup-2018-winner)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062209.jpg)

有人根据历史数据，写了一个脚本，预测本届世界杯的所有比赛（见上图）。四强是葡萄牙、阿根廷、巴西、德国，决赛是巴西对德国，冠军是德国。链接是完整的脚本和数据集下载。不过，世界杯已经开始了，跟真实结果一比较，似乎出入比较大，这届的强队都表现一般。

6、[MATLAB 处理照片](https://blogs.mathworks.com/steve/2012/11/13/image-effects-part-1/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062210.jpg)

你还是使用 PhotoShop 处理照片吗？可以考虑试试看 MATLAB。

7、[V8 改进垃圾清理机制](https://v8project.blogspot.com/2018/06/concurrent-marking.html)（英语）

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062211.jpg)

V8 引擎宣布"垃圾清理机制"的重大改进。我们知道，对于大型程序，垃圾清理很影响性能，因为程序必须暂停，让引擎识别哪些内存不再需要。

V8 现在允许内存识别不暂停程序，而是并发进行，使得程序停顿时间减少70%左右。引擎如何识别不再需要的对象，希望了解具体实现的朋友，可以看看上面这篇文章。
                                                                                                                                                                 8、[Testcafe  教程](https://itnext.io/javascript-e2e-ui-testing-or-how-to-brake-up-with-selenium-and-move-on-f991c142079a)（英文）

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062212.jpg)

Testcafe 是一个 UI 测试框架，可以在各大浏览器进行 UI 测试。相比 Puppeteer，它提供各种专门针对测试的封装好的方法。

## 资源

1、[高中物理笔记](https://landgreen.github.io/physics/index.html)（英文）

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062213.jpg)


高中物理要点讲解，配有插图和动画。

2、[FiraCode](https://github.com/tonsky/FiraCode)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062214.jpg)

开源的代码字体。

3、[C 语言学习资料](http://www.isthe.com/chongo/tech/comp/c/index.html)

收集各种网上可以免费得到的 C 语言学习资料，不过都是英语资源。

4、[2018年最有上升潜力的 Linux 发行版](https://www.techradar.com/news/best-rising-linux-distro)

它们是 [Antergos](https://antergos.com/try-it/)、[Deepin](https://www.deepin.org/en/download/)、[MX Linux](https://mxlinux.org/download-links)、[Subgraph](https://subgraph.com/)、[Debian](https://www.debian.org/)。

## 工具

1、[Reach router](https://reach.tech/router)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062215.jpg)

React router 的两位创始人闹翻了，其中一位另起门户，写了一个功能相同的 Reach router

2、[Lottie](http://airbnb.io/lottie/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062216.jpg)

Airbnb 推出的动画效果库，可以把 Adobe After Effects 制作的动画用于 Web、安卓和 iOS。

3、[maid](https://github.com/egoist/maid)

Node 项目的任务运行器，特点是用 Markdown 格式写配置文件。

4、[wtf](https://github.com/senorprogrammer/wtf)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062217.jpg)

在终端窗口显示控制台面版。

5、[tusk](https://github.com/klauscfhq/tusk)


![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062218.jpg)


一个非官方的 Evernote 桌面客户端。

6、[hiper](https://github.com/pod4g/hiper)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062219.jpg)


一个查看网页加载性能的命令行程序。

7、[Gource](http://gource.io/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062220.jpg)


Gource 是一个很好玩的可视化工具，可以将代码仓库的历史变成视频，支持 Git 和 SVN 等多种格式。只要在仓库目录执行 gource 命令，就能看到提交历史的视频。

8、[vnote](https://github.com/tamlok/vnote)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062221.jpg)

一个写 Markdown 笔记的桌面应用，跨平台。

## 文摘

1、[腾讯 TCFT 比赛采访记](https://media.weibo.cn/article?id=2309404245359974028567&jumpfrom=weibocom)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062222.jpg)

> 我刚刚从深圳回来。腾讯组织了一场挺有意思的 CTF 比赛，名为 TCTF。
> 
> 用一句话说，CTF 比赛就是黑客们的"奥赛"：出题人会精心设计二十多道"心机谜题"，每个黑客战队的目的就是尽可能多地解开更多的谜题。比赛持续两天一夜的时间。中间那晚你可以睡觉，但你的对手可不一定会睡觉。解出不同的题目，获得不同的分数。谁的技术最叼，拿到的总分最多，就能分到最多的奖金。
> 
> 参加 TCTF 的战队，每个队不能超过四个人。看起来人数不少，但你要知道。这二十多道题目，随便拽出来一个，可能都需要几个小时时间的分析。所以，这四个人，虽然各个智商冒烟，但还是远远不够用的。
> 
> 之前说到，比赛的题目分了五类。而这几类题目，需要动用的专长都不尽相同。所以对大多数战队来说，每个队员基本都承担了一个特定方向的题目。比如在比赛开始时，队长可能会分配：密码学的三道题都交给你，答不出来提头来见。比如这次 TCTF 最终获得冠军的 Dragon Sector，他们就解出了 Crypto（密码学）分类的全部三道题目。而第三名的 LC↯BC 战队，就解出了 Misc（杂项）的全部三道题目。这在全场是独一无二的。

2、[斯蒂芬·金的笔名](https://ofdollarsanddata.com/why-winners-keep-winning-4e7f221f5b84)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062223.jpg)

美国最畅销的小说家斯蒂芬·金，是在上个世纪70年代成名的。

当时，出版公司为了保证每本书的销量，只允许小说家一年出一本书，但是斯蒂芬·金一年可以写两本书。他决定不放慢写作速度，另一本用笔名 Richard Bachman 出版。接下来的几年里，每一本署名斯蒂芬·金的书都卖出了数百万美元，而每一本署名 Richard Bachman 的书都不成功。虽然，它们的内容质量是完全相同的。

最终，有人发现了，这两个作者实际上是一个人，因为写作风格实在太像了。斯蒂芬·金接受采访的时候，承认这个事实。于是，所有 Richard Bachman 的书立即重版，署名改成了斯蒂芬·金。它们马上占据了畅销书排行榜第一名，最终一共卖出了300万本。

这个故事告诉我们，起步时的市场占有率是多么重要。两个水平相当的作品或者项目，仅仅因为一个已经有市场，另一个没有，就会导致后者仅仅依靠自身的力量，根本无法与前者竞争。

## 新奇

1、[完全安静的电脑](https://tp69.blog/2018/04/17/completely-silent-computer/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062224.jpg)

外国网友自制了一台"完全安静的电脑"，运行时毫无声音，可以达到 0db。全机没有任何风扇，为了替 CPU 散热，采用巨大的铜管散热。

2、[Radio Garden](http://radio.garden/live/)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062225.jpg)

世界地图上每一个绿点，就代表一个当地的电台。光标移上去，就可以听到该电台的现场直播。

## 本周图片

1、[谷歌硬件产品的设计风格](https://designobserver.com/feature/what-we-see-when-we-see-google-design/39808)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062226.jpg)

上图是谷歌硬件产品的全家福，从左到右依次是 Google Pixel Buds，Pixel 2 XL，Pixel 2 XL，Pixel 2，Google Home Mini，Google Home，Google Home Max，Google Clips，Daydream View，Pixelbook Pen，Google Pixelbook。

可以看到，这些产品大多采用了统一的设计语言：纯净的双色块对比。

2、[来自遥远法罗群岛的故事](http://www.bbc.co.uk/news/resources/idt-sh/faroe_islands_postal_service)（组图）

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062227.jpg)

BBC 的图片报道。

> 法罗群岛藏在挪威和冰岛之间，在北大西洋的黑暗水域中，18个小岛屿拥有超过5万人口。这些居民中有一半居住在群岛首府托尔斯港的"托尔镇"。但是一些岛屿人口稀少，只有少数人居住在这些岛屿上。
> 
> 法罗群岛的居民是自力更生、谦虚的人，具有丰富的讲故事的传统，并且渴望彼此分享信息。

3、[12 间值得一去的日本洗手间](https://www.nippon.com/hk/views/b07101/?pnum=1)

日本作家 Maritomo，耗時十餘年，遍訪了日本各地300多間洗手間，寫下《日本的洗手間及其它》（Aspect出版）一書，為此還得了一個「洗手間獵手」的綽號，在雜誌、電視、網站上也常常可以看到她的活躍身影。

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062228.jpg)

上图：福井縣越前海岸，有一家名叫「Rest有情」的日本餐廳，這裡連洗手間都是日本庭院式的。

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062229.jpg)

上图：兵庫縣明石市林崎松江海岸前的「Hipopopapa」（原名「嚕嚕米爸爸」），是一家看得見海景的餐廳，這裡的洗手間，還能讓你享受到身在海中的感覺。

4、[三星折叠手机](https://www.techradar.com/news/samsung-galaxy-x-the-story-of-samsungs-foldable-phone-so-far)

![](https://cdn.beekka.com/blogimg/asset/201806/bg2018062230.jpg)

据传，三星一直在研发可折叠手机，上图是网友流出的界面图。左侧是两个屏幕垂直折叠的界面，右侧是水平折叠的界面。

## 本周金句

挪威画家蒙克一生留下了7000张画作，他活了79岁；大家经常听到的梵高，活了37岁，大概也留下了2000张各种作品。这些人不光天才，还勤奋加努力，关键还得有兴趣，一件事一直做，坚持一辈子。（[@cathayan](https://twitter.com/cathayan/status/1003822905984028672)）

## 欢迎订阅

这个专栏每周五发布，同步更新在我的[个人网站](http://www.ruanyifeng.com/blog)、[微信公众号](http://weixin.sogou.com/weixin?query=%E9%98%AE%E4%B8%80%E5%B3%B0%E7%9A%84%E7%BD%91%E7%BB%9C%E6%97%A5%E5%BF%97)和[语雀](https://yuque.com/ruanyf/share/)。

微信搜索"__阮一峰的网络日志__"或者扫描二维码，即可订阅。

![](http://www.ruanyifeng.com/blogimg/asset/2018/bg2018042311.jpg)

（完）

