# 每周分享第 45 期 这里记录过去一周,我看到的值得分享的东西,每周五发布。 欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 [ruanyf/weekly](https://github.com/ruanyf/weekly) 提交 issue。 ![](https://cdn.beekka.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://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030103.jpg) 美国海军的研究部门2016年建造了一艘无人船只 Trimaran,长40米,没有任何船员,可以执行多种任务。最近,该船成功完成了加州圣地亚哥到夏威夷珍珠港的往返航行,跨越了半个太平洋。 无人船只的建造成本仅为载人船只的一小部分。这次航行帮助美国海军评估这项技术,下一步将从实验阶段转向高级任务测试。 3、[快乐广场](https://thewalrus.ca/the-bleak-reality-of-the-instagram-experience/) ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030104.jpg) 快乐广场(Happy Place)是美国一家新成立的展览公司,在北美各大城市轮流布展,每个城市大约停留3个月左右。它的展览没有主题,就是提供布置得非常梦幻和美丽的场景,供参观者拍照,然后发到社交媒体上面。每人的门票价格是30美元左右,每个场景每次有45秒的独占拍照时间,据说相当受欢迎。 ![](https://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030106.jpg) Avi Loeb 是哈佛大学天文系主任。2017年底,夏威夷的天文学家偶然发现第一个已知的星际物体 Oumuamua,正在快速地穿越太阳系。由于移动速度太快,而且与太阳引力的方向相反,它只可能来自另一个星系。 其他天文学家都认为,它可能是数亿年前恒星爆发产生的小行星,或是冰彗星。但是,Avi Loeb 公开发表论文,提出它可能是外星人的飞船,因为它的运动轨迹,好像是有什么东西从后面推动它。如果是被太阳风吹动,就意味着它非常薄,不超过1毫米厚,好比一块长度为一公里的雪花,这几乎是不可能的。“虽然不能肯定绝对是外星人,但除了外星人,没法想出别的解释。” 这个观点受到广泛的质疑和攻击,但是 Avi Loeb 坚持自己的观点,并且到处宣传。谈到科学界认为他在胡说八道时,他说:“最糟糕的结果是我被免职,这将使我有更多的时间专注于科学。我的所有头衔,我都可以放弃。事实上,我可以回到自己的农场过日子。” ![](https://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030108.jpg) ![](https://cdn.beekka.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://cdn.beekka.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://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030112.jpg) 有时,你出门前会花很多时间思考,今天到底穿什么衣服。美国一家创业公司正试图使用深度学习,解决这个问题,让计算机帮你选择穿什么衣服。它的思路是,从 Pinterest 里面上传的图片,找出目前的流行时尚,然后根据你的现有服装、以及出门的场合等因素,推荐搭配。这个系统的下一步目标,是为每个人设计最适合他/她的服装。 9、[GitHub 年度报告](https://octoverse.github.com/projects#languages) ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030113.jpg) GitHub 发布年度报告,显示用户国别的前三位分别是美国、中国、印度。 比较厉害的是加拿大,只有3千万人口,可以排到第六位。 编程语言排行榜(根据 GitHub 仓库数量统计)中,最值得注意的是 TypeScript 从去年的第十名,跃升为第七名。另外,有点意外的是,PHP 其实一直非常流行,毫无衰退迹象。 ![](https://cdn.beekka.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/) 如果发现免费用户使用了广告拦截器,现在会终止对该用户提供服务。你不看广告,就无法享受免费服务,除非付费。

* [加州](https://www.theguardian.com/us-news/2019/feb/12/california-high-speed-rail-la-san-francisco-cancelled)宣布考虑取消洛杉矶到旧金山的高铁计划,原因是成本不断上升,完工遥遥无期。

* [澳大利亚法官](https://www.abc.net.au/news/2019-02-12/rocky-hill-ruling-more-courts-choose-climate-over-coal/10802930)判决,不得开采一个煤矿,因为是煤炭会释放温室气体。

* [Chrome OS 73](https://www.aboutchromebooks.com/news/chrome-os-73-dev-channel-adds-native-pdf-annotation-support/) 新增了 PDF 手动注释功能,以后应该也会加到 Chrome 浏览器。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030115.jpg) ## 关哥说险 我们这份周刊主要针对 IT 开发者和爱好者,大家都对风险比较关注,因此对保险产品有较高的需求,但是相对缺乏保险知识。有鉴于此,保险公众号 **《关哥说险》** 联系我,希望在周刊上推广一下自己。 该公众号的作者“关哥”,其实是一个复旦毕业的东北妹子,在大陆和香港两地已经有十余年的银行和保险从业经验,从事过不少岗位,亲历过大量案例。她结合自己的经历,在公众号上向普通读者介绍,应该如何购买保险产品,以及购买时的注意事项。 比如,很多人不知道[“犹豫期”和“等待期”](https://mp.weixin.qq.com/s/B_Ah9gFBqrSFlAR6frJHKA)是什么。简单说,“犹豫期”是你购买保险后可以反悔的时间,通常是签订合同后的10~15天之内。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030116.jpg) “等待期”则是保险公司可以免赔的时间,通常是3个月到6个月。比如,购买了医疗险以后的第二个月,你就发病了,这种情况保险公司是不陪的,理由是购买保单时,你可能隐瞒了病情。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030117.jpg) 下面是她的一些保险箴言。 > * 保险的本质是风险管理,你都不肯承认风险的存在,你怎么可能去做风险管理呢? > * 保险是射幸合同,本质就是不确定性、偶然性。 > * 任何一种理财产品,都要从安全性、收益性、灵活性这三点来评估。 > * 先确定自己担心的风险,再确定购买的种类,最后才是选产品。 > * 不要用获利思维去评价一个止损工具。 《关哥说险》的文章目录可以看[这里](https://mp.weixin.qq.com/s/B_Ah9gFBqrSFlAR6frJHKA),里面有整理好的系列文章。对保险有兴趣的朋友,欢迎微信扫描下面的二维码订阅。 ![](https://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030119.jpg) 一个 Chrome 浏览器插件,每次打开一个空白页,会显示一个函数式编程的概念。 2、[香港地铁站的颜色](http://metrocolor.live/index.html) ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030120.jpg) 一个 CSS 颜色库,使用每一个香港地铁站的颜色命名 CSS 变量。 3、[rbx](https://medium.com/@dfee/introducing-rbx-8bd358197b) ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030121.jpg) 基于 CSS 框架 Bluma 的 React 组件库。 4、[pagedraw](https://github.com/Pagedraw/pagedraw) ![](https://cdn.beekka.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://cdn.beekka.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://cdn.beekka.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://cdn.beekka.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://cdn.beekka.com/blogimg/asset/201903/bg2019030126.jpg) 另一张照片是找出犯罪分子穿的那件格子衬衫。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030127.jpg) 2、[乐器博物馆](https://www.nytimes.com/2019/01/17/arts/music/stradivarius-sound-bank-recording-cremona.html) 意大利克雷莫纳,历史上是一个著名的小提琴制作城市。著名的斯特拉迪瓦里小提琴,就是在那里制作的。下图是当地的小提琴博物馆。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030128.jpg) 3、[Windows 98 的图标](https://alexmeub.com/old-windows-icons/) Windows 98 的图标非常经典,有坚实的边缘,柔和的色彩和易于识别的符号。 ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030129.jpg) ![](https://cdn.beekka.com/blogimg/asset/201903/bg2019030130.jpg) ## 新奇 1、[此人不存在](https://thispersondoesnotexist.com/) 访问该网站会随机显示一张人像照片。这些人像都是 AI 生成的,并不是真实的人。 ![](https://cdn.beekka.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) (完)