# 每周分享第 45 期

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

欢迎投稿，或推荐你自己的项目，请前往 GitHub 的 [ruanyf/weekly](https://github.com/ruanyf/weekly) 提交 issue。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030101.jpg)

美国科幻小说大师阿西莫夫，写过一本回忆录《人生舞台》。他在里面提到，成名后，他的收入一年比一年高，完稿时的1990年是收入最高的一年。

很不幸，1992年他就去世了，享年72岁。据他的妻子说，那一年的收入比1990年还要高。也就是说，去世时，他达到了一生最高的年收入。我当时心想，这种收入模式真是太好了。老了以后，收入反而更多了，根本不用为养老发愁。

大多数人的收入模式恰恰相反：工作时达到收入的高峰，退休停止工作以后，收入就逐渐减少，人到老年，手头越来越紧。所以，大多数人为了养老，年轻时必须足够储蓄。要是年轻就背负了很多房贷和卡债，老了以后，往往会陷入困境。

为什么阿西莫夫老了还有大量收入，其他大多数人就没有呢？原因是普通人的收入，来自出卖自己的时间，老了不工作，自然就没收入了。但是，阿西莫夫的收入来自于他的书，这些著作一再重版，为他带来了一年比一年多的版税收入。再加上，他勤奋写作，每年都有新书问世，自然就收入高了。

这件事的启示就是，如果退休以后，还想有稳定的收入保障，最好的方式就是你必须拥有资产。在阿西莫夫的例子里，就是他拥有版权，版权就是一种产生收入的资产。其他类型的资产包括房产、专利、股权等等。总之，年轻时就必须明确，你的工作目标不完全是高收入，更重要的是必须积累资产。

## 新闻

1、[密码只有创始人知道](https://gizmodo.com/crypto-exchange-says-it-cant-repay-190-million-to-clie-1832309454)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030102.jpg)

加拿大加密货币交易所 QuadrigaCX 的创始人，30岁的杰拉德·科滕（Gerald Cotten），由于意外于2018年12月在印度突然去世。公司钱包的密钥只有他一个人知道。

现在公司无法打开钱包，大约1.9亿美元的客户资产无法转出，这意味客户的加密货币都会损失掉。

2、[无人船只远航夏威夷](https://www.navalnews.com/news/2019/02/sea-hunter-usv-reaches-new-autonomy-milestone/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030103.jpg)

美国海军的研究部门2016年建造了一艘无人船只 Trimaran，长40米，没有任何船员，可以执行多种任务。最近，该船成功完成了加州圣地亚哥到夏威夷珍珠港的往返航行，跨越了半个太平洋。

无人船只的建造成本仅为载人船只的一小部分。这次航行帮助美国海军评估这项技术，下一步将从实验阶段转向高级任务测试。

3、[快乐广场](https://thewalrus.ca/the-bleak-reality-of-the-instagram-experience/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030104.jpg)

快乐广场（Happy Place）是美国一家新成立的展览公司，在北美各大城市轮流布展，每个城市大约停留3个月左右。它的展览没有主题，就是提供布置得非常梦幻和美丽的场景，供参观者拍照，然后发到社交媒体上面。每人的门票价格是30美元左右，每个场景每次有45秒的独占拍照时间，据说相当受欢迎。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030105.jpg)

4、[外星人飞船](https://www.washingtonpost.com/lifestyle/style/harvards-top-astronomer-says-an-alien-ship-may-be-among-us--and-he-doesnt-care-what-his-colleagues-think/2019/02/04/a5d70bb0-24d5-11e9-90cd-dedb0c92dc17_story.html?utm_term=.e8be4d14a43a)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030106.jpg)

Avi Loeb 是哈佛大学天文系主任。2017年底，夏威夷的天文学家偶然发现第一个已知的星际物体 Oumuamua，正在快速地穿越太阳系。由于移动速度太快，而且与太阳引力的方向相反，它只可能来自另一个星系。

其他天文学家都认为，它可能是数亿年前恒星爆发产生的小行星，或是冰彗星。但是，Avi Loeb 公开发表论文，提出它可能是外星人的飞船，因为它的运动轨迹，好像是有什么东西从后面推动它。如果是被太阳风吹动，就意味着它非常薄，不超过1毫米厚，好比一块长度为一公里的雪花，这几乎是不可能的。“虽然不能肯定绝对是外星人，但除了外星人，没法想出别的解释。”

这个观点受到广泛的质疑和攻击，但是 Avi Loeb 坚持自己的观点，并且到处宣传。谈到科学界认为他在胡说八道时，他说：“最糟糕的结果是我被免职，这将使我有更多的时间专注于科学。我的所有头衔，我都可以放弃。事实上，我可以回到自己的农场过日子。”

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030107.jpg)

5、[马桶座圈监控健康](https://spectrum.ieee.org/the-human-os/biomedical/devices/monitoring-heart-health-one-toilet-seat-at-a-time)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030108.jpg)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030109.jpg)

人体健康的有些指标，需要随时随地的持续监控，定期记录健康信息。现有的设备都做不到这一点，比如智能手表能够搜集的健康信息，就非常有限。

纽约罗切斯特理工学院  （RIT）的一个团队，提出了一种新的方法：马桶座圈监控患者的心脏健康。患者坐上马桶的时候，马桶座里面的传感器就会跟踪血压、血氧水平和其他心脏数据，然后自动上传到服务器。如果程序发现患者的心脏健康状况正在恶化，就会提示要去看医生，

6、[AR 眼镜](https://venturebeat.com/2019/01/25/facebook-and-microsoft-patent-filings-offer-dueling-visions-of-small-ar-headsets/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030110.jpg)

2019年的消费电子展 CES 传出消息，Facebook 和微软都提交了 AR 眼镜专利文件，朝着 AR 眼镜更小更好的方向努力。这两种眼镜都带有小型投影设备，可以在镜片上叠加图像，使得用户可以在当前场景上，看到一些文字信息，包括电子邮件、通知，以及其他的现实增强功能。

7、[Safari 废除 Do not track 功能](https://gizmodo.com/apple-is-removing-do-not-track-from-safari-1832400768)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030111.jpg)

当代浏览器都有一个 Do not track （不要追踪）的选项。一旦选中，浏览器会向网站发出一个请求，告诉网站不要追踪用户。但是，没有网站认真对待这个请求，而是继续追踪用户，因此苹果公司决定，最新的 Safari 浏览器将去除这个功能，另一方面，Safari 内置了[智能阻止 Cookie](https://webkit.org/blog/7675/intelligent-tracking-prevention/) 的功能，实际上使得 Do not track 变得多余了。

8、[深度学习选衣服](https://blog.floydhub.com/similar-fashion-images/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030112.jpg)

有时，你出门前会花很多时间思考，今天到底穿什么衣服。美国一家创业公司正试图使用深度学习，解决这个问题，让计算机帮你选择穿什么衣服。它的思路是，从 Pinterest 里面上传的图片，找出目前的流行时尚，然后根据你的现有服装、以及出门的场合等因素，推荐搭配。这个系统的下一步目标，是为每个人设计最适合他/她的服装。

9、[GitHub 年度报告](https://octoverse.github.com/projects#languages)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030113.jpg)

GitHub 发布年度报告，显示用户国别的前三位分别是美国、中国、印度。

比较厉害的是加拿大，只有3千万人口，可以排到第六位。

编程语言排行榜（根据 GitHub 仓库数量统计）中，最值得注意的是 TypeScript 从去年的第十名，跃升为第七名。另外，有点意外的是，PHP 其实一直非常流行，毫无衰退迹象。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030114.jpg)

10、**一句话新闻**

* [Spotify](https://techcrunch.com/2019/02/08/spotify-will-now-suspend-or-terminate-accounts-it-finds-are-using-ad-blockers/) 如果发现免费用户使用了广告拦截器，现在会终止对该用户提供服务。你不看广告，就无法享受免费服务，除非付费。<br /><br />
* [加州](https://www.theguardian.com/us-news/2019/feb/12/california-high-speed-rail-la-san-francisco-cancelled)宣布考虑取消洛杉矶到旧金山的高铁计划，原因是成本不断上升，完工遥遥无期。<br /><br />
* [澳大利亚法官](https://www.abc.net.au/news/2019-02-12/rocky-hill-ruling-more-courts-choose-climate-over-coal/10802930)判决，不得开采一个煤矿，因为是煤炭会释放温室气体。<br /><br />
* [Chrome OS 73](https://www.aboutchromebooks.com/news/chrome-os-73-dev-channel-adds-native-pdf-annotation-support/) 新增了 PDF 手动注释功能，以后应该也会加到 Chrome 浏览器。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030115.jpg)

## 关哥说险

我们这份周刊主要针对 IT 开发者和爱好者，大家都对风险比较关注，因此对保险产品有较高的需求，但是相对缺乏保险知识。有鉴于此，保险公众号 **《关哥说险》** 联系我，希望在周刊上推广一下自己。

该公众号的作者“关哥”，其实是一个复旦毕业的东北妹子，在大陆和香港两地已经有十余年的银行和保险从业经验，从事过不少岗位，亲历过大量案例。她结合自己的经历，在公众号上向普通读者介绍，应该如何购买保险产品，以及购买时的注意事项。

比如，很多人不知道[“犹豫期”和“等待期”](https://mp.weixin.qq.com/s/B_Ah9gFBqrSFlAR6frJHKA)是什么。简单说，“犹豫期”是你购买保险后可以反悔的时间，通常是签订合同后的10～15天之内。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030116.jpg)

“等待期”则是保险公司可以免赔的时间，通常是3个月到6个月。比如，购买了医疗险以后的第二个月，你就发病了，这种情况保险公司是不陪的，理由是购买保单时，你可能隐瞒了病情。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030117.jpg)

下面是她的一些保险箴言。

> * 保险的本质是风险管理，你都不肯承认风险的存在，你怎么可能去做风险管理呢？
> * 保险是射幸合同，本质就是不确定性、偶然性。
> * 任何一种理财产品，都要从安全性、收益性、灵活性这三点来评估。
> * 先确定自己担心的风险，再确定购买的种类，最后才是选产品。
> * 不要用获利思维去评价一个止损工具。

《关哥说险》的文章目录可以看[这里](https://mp.weixin.qq.com/s/B_Ah9gFBqrSFlAR6frJHKA)，里面有整理好的系列文章。对保险有兴趣的朋友，欢迎微信扫描下面的二维码订阅。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030118.jpg)

## 教程

1、[Finally 代码块的解释](https://frontarm.com/james-k-nelson/will-finally-run-quiz/)（英文）

随着 JS 引入 async/await ，开发者不可避免地会更多使用 try/catch/finally ，本文解释 finally 代码块的一些容易混淆的点。

2、[一段混淆过的 JS 脚本剖析](https://blog.jonlu.ca/posts/deobfuscating-amex-scammer)（英文） 

作者收到一封诈骗 Email，比较特别的是，它不是引诱用户点击链接，而是提供了一个网页附件，让用户打开，里面是一段混淆过的 JS 脚本。

3、[apt 与 apt-get 的差异](https://itsfoss.com/apt-vs-apt-get-difference/)（英文）

Debian 系统安装软件包有 apt 和 apt-get 两种命令，本文介绍了它们的异同。

4、[TensorFlow.js 介绍](https://arxiv.org/abs/1901.05350)（英文 PDF）

本文描述了TensorFlow.js 的设计、API 和实现，并重点介绍了一些使用实例。

5、[编程语言都有中央包存储库吗？](http://codelani.com/posts/does-every-programming-language-have-a-central-package-repository.html)（英文）

许多语言都有中央软件包存储库，比如 npm、PyPI 和 CRAN。但是，每种编程语言都有这些吗？答案是只有39种语言有。

6、[你应该记住的 DNS 地址](https://danielmiessler.com/blog/dns-servers-you-should-have-memorized/)（英文）

作者介绍了几个常用的 DNS 服务器地址，简单谈了它们之间的差异。

7、[磁极的改变意味着什么？](https://www.nationalgeographic.com/science/2019/02/magnetic-north-update-navigation-maps/)（英文）

最近，地球磁极的 N 极突然加速改变，这篇《国家地理》的报道详细介绍了背景知识。

8、[Jsonnet 比 Yaml 更适合配置文件](http://leebriggs.co.uk/blog/2019/02/07/why-are-we-templating-yaml.html)（英文）

Jsonnet 是谷歌推出的 JSON 配置文件生成工具，基本上解决了 JSON 格式的所有痛点，比 Yaml 格式更优越。

9、[为什么我们从 Go 转向 PHP？](https://dannyvankooten.com/from-go-back-to-php-again/)（英文）

作者谈了 PHP 过去三年的改进，以及为什么更适合架设他们的网站。

10、[文件系统的过去，现在和未来](https://arstechnica.com/gadgets/2008/03/past-present-future-file-systems/)（英文）

文件系统的历史回顾，介绍各种文件系列的来历和特点。

## 工具

1、[FP-Glossary](https://github.com/OlleLinderos/FP-Glossary)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030119.jpg)

一个 Chrome 浏览器插件，每次打开一个空白页，会显示一个函数式编程的概念。

2、[香港地铁站的颜色](http://metrocolor.live/index.html)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030120.jpg)

一个 CSS 颜色库，使用每一个香港地铁站的颜色命名 CSS 变量。

3、[rbx](https://medium.com/@dfee/introducing-rbx-8bd358197b)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030121.jpg)

基于 CSS 框架 Bluma 的 React 组件库。

4、[pagedraw](https://github.com/Pagedraw/pagedraw)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030122.jpg)

一个 UI 原型设计的桌面软件，可以输出 JSX 代码。

5、[B4X](https://www.b4x.com/)

Basic 语言开发工具，支持几乎所有平台，源码会被转译为对应平台的代码，比如Java、Objective-C、JavaScript。（@[xulihang](https://github.com/ruanyf/weekly/issues/249) 投稿）

6、[colorSpace](https://color.4ty2.fun/)

一个网页工具，可以去除图像里面的用户指定的颜色，对去除背景很有用。

7、[archivarix](https://en.archivarix.com/)

该工具可以用来从 Achive.org 的 Wayback Machine 里面，下载某个网站在指定日期的所有网页。

8、[ExplainShell.com](https://www.explainshell.com)

Bash 命令的可视化解释工具。遇到复杂的 Bash 命令，可以输入到这个网站，查看该命令的解释。（@[weineel](https://github.com/ruanyf/weekly/issues/257) 投稿）

9、[Project Showcase](https://projectshowcase.me)

该工具根据你的 GitHub 个人项目，自动生成一张个人介绍页面。（@[lanffy](https://github.com/ruanyf/weekly/issues/252) 投稿）

10、[rrweb](https://github.com/rrweb-io/rrweb)

一个可以录制网页操作的 JS 库，不是录制成视频，而是将用户的每一个操作，录制成可复现的脚本。（@[rolitter](https://github.com/ruanyf/weekly/issues/197) 投稿）

11、[gitsome](https://github.com/donnemartin/gitsome)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030123.jpg)

一个 Git / GitHub 的命令行客户端，提供强大的自动补全功能。（@[ChungZH](https://github.com/ruanyf/weekly/issues/272) 投稿）

## 资源

1、[线性代数](http://joshua.smcvt.edu/linearalgebra/#current_version)

美国本科生的线性代数教材，免费下载。

2、[计算机科学的自学方案](https://functionalcs.github.io/curriculum/)

本文对于计算机科学各门课程的自学，给出了一个完整的方案。

3、[科技资讯的聚合网站](https://github.com/ruanyf/weekly/issues/259)

该网页聚合多个英文科技咨询网站的消息，一个地方就能看到所有资讯。（@[shouldsimple](https://github.com/ruanyf/weekly/issues/259) 投稿）

4、[Vim Adventure](https://vim-adventures.com/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030124.jpg)

通过游戏学习 Vim，看上去比较有趣。（@[lenkenlau](https://github.com/ruanyf/weekly/issues/262) 投稿）

5、[LeetCode Animation](https://github.com/MisterBooo/LeetCodeAnimation)

使用动画的形式呈现解 LeetCode 题目的思路。（@[nivance](https://github.com/ruanyf/weekly/issues/184) 投稿）

6、[前端开发精选工具库](http://frontendtools.com/)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030125.jpg)

收集前端开发各方面的工具。（@[xiaohesong](https://github.com/ruanyf/weekly/issues/177) 投稿）

7、[笨办法学 Vimscript](http://learnvimscriptthehardway.onefloweroneworld.com/)

开源的中级 Vim 教程，将 Vimscript 作为一门编程语言，帮助读者掌握。（@[douchuan](https://github.com/ruanyf/weekly/issues/172) 投稿）

8、[public-apis](https://github.com/toddmotto/public-apis)

这个仓库收集免费的 API，已经有100多个了。

9、[Last-Statement-of-Death-Row](https://github.com/wansho/Last-Statement-of-Death-Row)

美国得州的政府网站，有该州死刑犯的遗言数据库。周刊读者编写了 Python 脚本，去抓取所有遗言，输出 CSV 文件。（[@wansho](https://github.com/ruanyf/weekly/issues/300) 投稿）

## 文摘

1、[通过拥有东西致富](http://blog.samaltman.com/how-to-be-successful)

小时候，我对于经济的最大误解是，人们通过高工资致富。实际上，虽然有一些例外（比如娱乐明星），高工资并不足以让你发财，福布斯富豪榜上，几乎没有人是领工资的。

真正富裕起来的人，都是通过拥有某种价值迅速增长的东西而致富。

这种价值迅速增长的东西，可以是股权、房地产、自然资源、知识产权或其他类似的东西。你需要拥有一些这样的东西来获取收入，而不能仅仅依靠出卖自己的时间换取收入，因为时间是一种线性资源。想要要多的收入，只能出卖更多的时间，这对你不利。

使你的东西的价值迅速增长，最好方法就是让大量的人想要你的东西。

2、**新武器对第一次世界大战的影响**

以下摘自斯科特·安德森的传记《阿拉伯的劳伦斯》。

1914年，第一次世界大战刚刚爆发的时候，大多数人都预测，这将是一场非常短暂的战争，因为19世纪的战争都很短暂。

但是，绝大多数人都忽略了一个关键的细节：过去的40年中，武器已经发生了翻天覆地的变化，关于武器的老观念都已经过时了。机枪、长射程炮弹、带刺铁丝网，这些新武器都已经诞生了。就是因为这个疏忽，这场战争将变成与大多数人的预期大相径庭的大屠杀。

欧洲列强之所以会疏忽，一个原因是，此前这些新式武器，几乎完全用来对付没有这些新式武器的人，特别是那些试图抵抗帝国主义侵略的非欧洲人。在这些情况下，新式武器使得欧洲人可以对落后民族实施一边倒的大屠杀，这是欧洲各个殖民帝国能够在19世纪下半叶在亚非迅速扩张的最重要原因。那些列强自身，还从来没有遭受这些新武器带来的伤害。

英国陆军大臣基钦纳勋爵，是少数对这场战争的残酷性有正确估计的人。他多次执行过这种一边倒的大屠杀，1898年在苏丹的恩图曼战役中，基钦纳用马克沁重机枪对付挥舞长矛冲锋的骑兵；仅仅一个上午的时间，英军就消灭了1万名敌人，己方仅有47名士兵阵亡。但如果敌人也有马克沁重机枪，会发生什么情况？基钦纳心知肚明。8月7日的内阁会议上，有些大臣认为战争只会持续几个月，甚至几周。他却预测说，战争会持续几年。他告诉同僚们：“到我国只剩最后100万人时，战争才会结束。” 这种话自然很少有人愿意去听，更不会有人去注意了。

随后的四年，欧洲变为一个屠场，约1000万军人和约600万平民死于这场战争。

## 本周图片

1、[联邦调查局的衣物鉴定](https://www.propublica.org/article/with-photo-analysis-fbi-lab-continues-shaky-forensic-science-practices)

很多时候，犯罪现场的线索就是一些监视录像。美国联邦调查局开发出了一套方法，判断某件衣物是否为监视录像里面的衣物。

1996年，华盛顿发生了一件银行抢劫案。警方后来抓了几个犯罪嫌疑人，从他们的衣橱里面一共搜到了27条牛仔裤。FBI 后来发表了一篇论文，介绍他们怎么根据监视录像，从27条牛仔裤里面找出犯罪时穿的那一条。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030126.jpg)

另一张照片是找出犯罪分子穿的那件格子衬衫。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030127.jpg)

2、[乐器博物馆](https://www.nytimes.com/2019/01/17/arts/music/stradivarius-sound-bank-recording-cremona.html)

意大利克雷莫纳，历史上是一个著名的小提琴制作城市。著名的斯特拉迪瓦里小提琴，就是在那里制作的。下图是当地的小提琴博物馆。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030128.jpg)

3、[Windows 98 的图标](https://alexmeub.com/old-windows-icons/)

Windows 98 的图标非常经典，有坚实的边缘，柔和的色彩和易于识别的符号。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030129.jpg)

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030130.jpg)

## 新奇

1、[此人不存在](https://thispersondoesnotexist.com/)

访问该网站会随机显示一张人像照片。这些人像都是 AI 生成的，并不是真实的人。

![](https://www.wangbase.com/blogimg/asset/201903/bg2019030131.jpg)

## 本周金句

1、

你不应该进入那种行业，做了两年的人可以和那些已经做了二十年的人，具有一样的工作效率。

-- [《如何成功》](http://blog.samaltman.com/how-to-be-successful)

2、

你的目标应该是，为你的现状 —— 财产、销售额、影响力等等——添加一个零。我总希望，我的下一个工作，将使得职业生涯的其余部分，看起来只是这个工作的一个脚注。

-- [《如何成功》](http://blog.samaltman.com/how-to-be-successful)

3、

自信很重要。我认识的最成功的人，几乎都自信到妄想的地步。这是因为如果你不相信自己，就很难产生跟别人不一样的想法，而逆向的想法恰恰是创造大多数成功的地方。

-- [《如何成功》](http://blog.samaltman.com/how-to-be-successful)

4、

如果人体可以进行光合作用，那么合成的葡萄糖，只能满足我们所需能量的1%。如果要满足每天所需的约700克葡萄糖，我们需要有更大的皮肤，准确说大约160平方米左右，约为一个网球场的大小。

--[《为什么人类不能进行光合作用》](https://theconversation.com/explainer-why-cant-humans-photosynthesise-51635)

5、

大多数人都高估了他们一天能做的事情，但低估了他们一年能做的事情。

-- [《关于“我没有足够的时间”》](https://blog.stephsmith.io/you-dont-need-to-quit-your-job-to-make/)

## 欢迎订阅

这个专栏每周五发布，同步更新在我的[个人网站](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)

（完）


