每周分享第 31 期

作者: 阮一峰

日期: 2018年11月16日

珠峰培训

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

欢迎投稿,请前往 GitHub 的 ruanyf/weekly 提交 issue。

(题图:天荒坪,安吉,2018)

计算机科学家 Tim Bray 最近写了一篇博客,他觉得自己可能应该退休了。

他列出了下面几个理由。

1、好多个早晨,我想继续睡觉,而不是起床。

2、就算起床,我想做的第一件事,是去看新闻,而不是去工作。

3、夏天到了,我想待在自己的度假小屋。

4、工作时,我的强度依然很大,不比年青时差太多。但是,结束工作以后,我感到极累,有时候连说话的力气也没有。

5、我越来越想做一些自己感兴趣的东西。它们肯定不会带来钱,但我毫不在意。

我觉得,这几个特征也许可以作为测试标准,如果你也满足这几点,可能也到了应该考虑退休,去干一点其他事情的时候了。

说到退休,这个问题对于程序员尤其有现实意义。因为程序员的退休年龄要早于其他行业,可能早早就会满足上面特征。

为什么程序员退休比较早?原因很简单,程序员的工作强度大,技术更新快,几乎不可能像公务员那样,轻松悠闲得熬到六十几岁退休。程序员其实也是机器,而且是"被操得很猛"的机器。机器都有报废年限,一旦折旧完了,就要报废。使用强度越大,折旧越快,报废越早。普通汽车的折旧年限一般是十年,长途汽车的折旧年限就短得多。为什么很少看到高龄程序员,因为他们都被用到报废了。

年轻程序员应该对自己的人生有一个规划。你的编程技能具有经济价值的年限是很短的,不可能一直在第一线编程的。折旧差不多以后,你的人生角色就会发生变化,应该多想想下一步要做的事情。

新闻

1、鸟类标本与污染

美国芝加哥的三家博物馆共收藏了1,347个鸟类标本,时间跨度三个世纪(1880年至2015年)。最近,生物学家调查了这些标本与空气污染之间的关系。

19世纪时,芝加哥是一个煤烟污染严重的城市,鸟类的羽毛受影响都变成了灰色(上图的左侧)。后来,污染越来越小,鸟类的羽毛越变越白(上图的右侧)。

2、抗生素杀死有益细菌

人体肠道有数万亿细菌,其中很多细菌对人体有益。而且,丰富多样的肠道微生物群被认为可以促进健康,如果细菌种类过少,反而是慢性疾病的一个特征。

哥本哈根大学的科学家,最近通过调查证实,服用抗生素以后,肠道细菌几乎会根除,随后六个月大多数细菌会逐步恢复。但是,六个月之后,研究参与者仍然缺少九种常见的有益细菌。这就是说,如果多次服用抗生素,肠道内的有益细菌可能永久丧失。西方人的肠道微生物多样性,显著低于非洲和南美丛林原始人,一种可能的解释就是抗生素的广泛使用。

3、流动电池

电动汽车正变得流行,但是司机们还是担心,开到一半没电了怎么办,毕竟充电桩并不好找。现在,美国一家创业公司推出了流动电池充电服务,如果你的电动车没电了,可以用 App 预约电池,到你指定的地点为车充电。

流动电池大约是一个背包大小、充电一次可以行驶160公里左右,每次收费20美元。该公司的目标是与救援公司合作,你可以打救援公司的电话,让他们把电池送过来。

4、AR 协作

远程办公的时候,如何与同事协作?美国一家创业公司推出了一种 AR 眼镜,只要戴上眼镜,远程的同事就会出现在眼前,跟周围环境叠加在一起,跟你互动。

5、.new 域名

谷歌注册了一系列 .new 域名,访问这些域名,会自动跳转在 G suite 创建新文档。

  • 文档:doc.new, docs.new, document.new
  • 表格:sheet.new, sheets.new, spreadsheet.new
  • 幻灯片:slide.new, slides.new, deck.new, presentation.new
  • 表单:form.new, forms.new;
  • 网站:site.new, sites.new, website.new

6、野生动物消失了60%

世界野生动物基金会发布了一份报告,称1970年以来,全世界的野生动物减少了60%。

此外,到2050年,不受人类影响的野生土地比例,预计将从全球的1/4减少到1/10。大海里的珊瑚可以保护陆地上的人类免受风暴潮和波浪袭击,预计到本世纪中叶也将消失90%。据估计,90%的海鸟现在的胃部都有塑料,与1960年估计的5%相比,急剧增加。科学家称,人类引发了地球的第六次生物大灭绝。

7、AI 主播

新华社与搜狗合作,在乌镇的第五届世界互联网大会上,发布了 AI 主播。该系统首先对真人的脸部建模,然后提取语音、表情、嘴唇动作,重构一个 AI 分身模型。以后,只要输入文本,该分身就会像真人一样播报新闻。这里是一段 AI 主播播报英语新闻的视频。

8、外科学生的手失去灵活性

一位英国外科教授表示说,医学院的学生花了很多时间在电子设备前,手部动作简化为在二维平面屏幕上滑动,缺少更多练习的时间,他们的手已经失去了缝合病人的灵活性。

9、三星的可折叠手机

11月的三星开发者大会上,三星公司正式预告将发布可折叠手机。这个手机有一个外屏,折叠屏是在内部。早先,国内发布的 Royole 可折叠手机,折叠屏是在外屏。相比来说,三星的难度更大,因为它需要将屏幕近乎完全对折,这要求屏幕有更大的强度。

10、一句话新闻

  • 推特公司统计发现,每条推文的平均长度是33个字符,也就是五六个单词。

  • 据统计,2015年美国大学生每年平均花费1.7万美元(学费+住宿费),相当于12万元人民币,美国读大学还是很贵的。美国东北部的大学(纽约州附近)最贵,阿拉斯加州最便宜。

  • NASA 在南极洲发现一块天然形成的矩形冰川。

教程

1、等待时间悖论(英文)

公共汽车的间隔时间为10分钟,那么平均等待时间应该为5分钟,但是如果进行抽样,你会发现抽样得到的平均时间为10分钟,这是为什么?简单说,原因就是等待时间越长的人,越容易被抽样到。

2、我为什么喜欢 Java 语言?(英文)

一个程序员解释他眼中 Java 语言的优点。

3、需要学习的是编程,而不是编程语言(英文)

作者注意到,编程与编程语言几乎没有关系,学生可能只是在学编程语言,而不是在学编程。

4、你可能不需要单页应用(英文)

现在的前端开发大量使用单页应用 SPA,使得前端的复杂性急剧增加。这篇文章提出,SPA 可能被过度使用了,大部分情况下,你可能不需要单页应用。

5、新人要学习的机器学习十大算法(英文)

本文介绍了机器学习最基本的十种算法,比如线性回归、朴素贝叶斯、KNN聚合等。

6、10月21日 GitHub 故障分析(英文)

10月21日,GitHub 发生了一次持续24小时的故障,本文是该公司的事后故障分析。主要原因是,当天两个数据中心之间的光纤断了43秒,导致主库与从库之间数据不同步,而且没法确定哪一个镜像是数据完整的,不得不从头做数据恢复。

7、圆周率 Pi 需要使用多少位小数?(英文)

美国国家航天局计算时,使用 Pi 小数点后15位。这样的话,即使轨道半径是250亿英里,计算误差也小于手指的长度(几厘米)。

8、Pandoc 生成静态网站(英文)

Pandoc 是一个文档格式转换工具,本文介绍如何使用它,将 Markdown 源码转成网页,发布到 AWS S3。

9、QR 二维码是怎么生成的?(英文)

本文通过一个实例,一步步演示二维码的生成算法。

资源

1、木材数据库

该网站收集全世界各种木材的信息。链接给出的是全世界硬度最高的十种木材。

2、Erlang by Example

Erlang 语言的入门教程。

3、漫威 API

漫威公司将自己的漫画资源做成 API 开放。

4、DeepLearningProject

哈佛大学深度学习开源教程,附有代码实例。

5、符号清单

常用符号的 Unicode 码点、HTML 代码和 HTML 实体写法。(@amenzai_ _投稿)

6、600门在线课程

过去9年,全球超过600所高校,在网上发布了超过10000门公开课程。本文收集了最近发布的600门课程,基本都是英文的。

7、React.js 小书

国人编写的 React 入门教程。(@LeeChar 投稿)

工具

1、发送短消息的 App

谷歌官方推出了一个网页应用,使你可以在浏览器上远程通过自己的手机发短消息。有人使用了它的底层 API,做成一个桌面 App,可以在电脑桌面上发短信。

2、texme

一个自动渲染 Markdown + Latex 文档的 JS 库。

3、Gophish

开源的网络钓鱼框架,用来评估网络钓鱼的风险。它首先导入像素级别的网页钓鱼模板,然后发出钓鱼邮件,并且提供后台,监控结果。

4、fastscan

JS 的敏感词过滤库,基于 ahocorasick 字符串匹配算法,浏览器和服务端都可以使用。 (@ctolib 投稿)

5、weekly-email-subscribe

网友开发的本周刊的邮件订阅,订阅需要提交 MR 。

6、turtle.audio

一个通过绘制视觉形状,进行谱曲的网页编辑器。

7、Osada

一个分布式的社交网络,使用 ActivePub 协议,可以与其他使用该协议的应用交换信息。

8、色彩测试

这个网站测试你的色彩分辨能力,检测有无色盲。它显示四个色带,每个色带头尾的色块是固定的,中间的色块都打乱了,你必须将它们还原成正确的顺序。

9、ByteScout SQL Trainer

一个互动式的在线 SQL 语法教程,针对新手。答对一个问题,才能进入下一个。

10、draw.io

在线图表制作工具。(@wisezhao 投稿)

文摘

1、勇敢的太空狗

1957年10月,前苏联的航天器 Sputnik 1 发射成功后,苏联领导人决定11月发射 Sputnik 2,这意味着工程师必须在不到四周的时间内完成组装并发射第二艘飞船。

Sputnik 2 的主要任务是将一名活着的乘客送到太空,工程师选择狗作为乘客,因此开始寻找合适的狗。他们从莫斯科街头捡到一只三岁的流浪狗,把她带回总部,起名为莱卡。科学家选择使用流浪狗,因为他们认为这些动物已经学会忍受极度寒冷和饥饿的状况。

航天器很小,为了让它们适应这种限制,所有四只候选的狗都被关在一个小笼子里,长达20天左右。它们还被放置在离心机中,模拟火箭发射的加速,并被放置在噪音的机器中,让它们适应航天器的噪音。这些狗吃一种特殊的高营养凝胶,这将是他们的太空食物。这些举动对它们的健康产生了不良影响,狗的脉搏加快了一倍,血压增加了很多。

发射之前,一位科学家带着莱卡回家,与他的孩子一起玩。因为科学家知道,莱卡不会活着回到地球。这是一次完全单向的自杀任务,苏联当时没有将 Sputnik 2 带回地球的技术。

莱卡在任务开始前三天被放置在太空舱内。当时天气很冷,用加热器的软管保持容器温暖。前往发射场之前,对狗进行了手术,测量他们的呼吸,脉搏,血压。最终升空关闭舱门之前,技术人员亲吻莱卡的鼻子,希望她一路顺风,大家知道她无法活着回来。

火箭发射后开始加速,传回地球的信号表示莱卡的心率开始加快。到达轨道后,Sputnik 2 的一部分没有按计划分离,这阻止了热控制器正常运行,机舱的温度开始升高。几个小时之后,科学家们再也没有收到任何生命迹象。多年以来,莱卡的死亡原因一直没有披露。直到2002年10月,一位在场的科学家才透露,莱卡死于第四圈飞行时,死因是机舱温度过高。

五个月之后,1958年4月14日,经过2,570次轨道运行后,Sputnik 2 返回地球,进入大气层后解体。

1959年,罗马尼亚发行了一张邮票,内容是"Laika,第一个进入宇宙的旅行者"。

1997年,俄罗斯航天城的入口,建起了莱卡的塑像。

2、埋葬在月球的人

科学家尤金·舒梅克(Eugene Shoemaker)是目前唯一一个埋葬在月球的人。

他主要研究陨石坑。20世纪60年代初期,他帮助阿波罗计划的宇航员了解他们可能在月球表面遇到的地质情况。1997年7月18日他在澳大利亚探索一个流星陨石坑时死于车祸。

他的一位亲密同事提出,希望把他的骨灰带到月球上,美国宇航局同意了。1998年1月6日,美国国家航空航天局的月球探测器降落在月球的南极,进行考察,并且携带了一盎司的骨灰。骨灰放在一个聚碳酸酯胶囊里面,外面包裹了黄铜箔片,刻着死者的名字和生日忌日,还有一个亚利桑那州的流星陨石坑的图像,尤金·舒梅克在那里训练了阿波罗宇航员。

1999年7月31日,考察结束,飞船留下了骨灰,使他成为第一个也是唯一一个被埋葬在月球的人。

现在,随着 SpaceX 这样的私人航天公司的兴起,太空埋葬可能成为一门有利可图的生意。一枚火箭就可以将大量骨灰进入太空,未来也许会有更多的人埋葬在月球,以及更远的深空。

本周图片

1、彩色的古希腊雕像

我们现在看到的古希腊雕像,都是白色的大理石。但是,它们的原始样子是有颜色的,科学家正在尝试恢复那些雕像的原始颜色。

2、视觉的错觉

下图的水平线都是平行的。

下图的圆圈都是同一种颜色。

下图的两张图片是一样的。

新奇

1、 OpenCat

中国物理博士、机器人专家李荣仲使用树莓派,开发的 OpenCat AI 项目正在众筹。该项目是一只会走路的机器猫,名叫 Nybble。

用户可以编程,改进它的走路技巧,帮助它思考!国内读者可以观看优酷视频

本周金句

1、

微软购买 GitHub,意味着甲骨文、IBM 等无法购买它,这消除了很多风险。

-- Hacker News 的一个读者

2、

创新可能是好的,也可能是坏的。如果我们让公司决定使用哪些创新,他们将选择那些让他们利润最大化的创新。

-- 理查德·斯托曼

3、

与开源软件相比,IBM 销售的所有东西都非常糟糕(DB2,RAD,WebSphere,Clear Case,Tivoli)。你购买 IBM 软件的唯一原因是,你是一家老公司(比如银行、保险公司),很早以前就购买了他们的软件,并且你不关心效率或成本。

-- 一位用户对 IBM 收购 Red Hat 的评论

4、

加密是简单的,难的是保管密钥。

-- 推特@ CompSciFact

欢迎订阅

这个专栏每周五发布,同步更新在我的个人网站微信公众号语雀

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

(完)

优达学城

腾讯课堂

留言(43条)

ar协作,和关键词过滤 确实学到了

今天挺早的哈,第一耶。。。

文章内容覆盖面很广,对互联网人有很大的作用~~谢谢分享~~

我以为我是第一,哈哈

哪位大神帮忙看下为啥说SPA不需要被使用阿,英文看不懂。。

阮老师本周是不是错过了,HTTP/3(QUIC)https://www.xttblog.com/?p=3355这个本周很火啊!为什么没有呢?

每周必读,谢谢分享

特别认真的一字一句看完了。我觉得应该多一些像阮老师这样又有内容,让人安静下来,像娱乐的方式学知识的blog。

Tim Bray 都已经 63 岁了,退休是正常的和他列出的几条无关。很多20几岁也有部分满足

每周都能学到新的知识

大致看了一下,基本上是先讲了SPA的一些好处,举了谷歌地图,然后列举了5点问题。


  1. 低估了开发与维护的成本

  2. 当用户仅仅访问页面一个小部分的时候,也把整个网页应用返回

  3. 前后端分离后前端复杂度提高,但对前端的投资不足

  4. 上一点带来一些连锁反应,如缺少测试覆盖,耦合,过度设计等等

  5. 最后一点没看太懂,可能是说有太多可选择框架,结果导致一个项目使用了n种框架


渣翻译,可能有错误。

漫威的API不错

每周必看。

为什么广告里打折的信息是注释?所以到底打不打折?

如果您正在学习编程并且您仍然无法计划和编写真实应用程序,那么这意味着您正在学习编程语言而不是编程

@steven

哥们,用过谷歌浏览器自带的翻译,翻译的大都可以看懂,真的不懂那猜一猜也差不多了

我今年20岁 工作两年 Tim Bray 说的这几条我都满足

才20岁已然是一副退休的模样了

编程与编程语言几乎没有关系,学生可能只是在学编程语言,而不是在学编程。
其实我们不仅仅学习编程语言 还学习各种框架 而不是学编程

github躲过一劫,转眼,redhat就掉坑里了。

为什么在哪里都有“第一”的评论,真是纳闷

看到漫威的API,还以为看错了。原来迪士尼还是科技公司

IBM那个主贴里还有很多人聊经历,挺有意思的。

完全符合要退休的状态,然而我大学还没毕业!笑哭!

该retire了

大部分人学的只是编程的语言,而不是编程.就像很多人学习英语,而不去学习英语背后的那些文化.

每天都能学到好多~

让一部分人先看到未来

看上去应该退休了 然而 还没有自己的度假小屋...

那个机器猫挺不错的。

我那尺子量了,水平线确实不是平行的。

其实挺喜欢被说服的感觉

视觉的错觉那个球颜色根本不一样,取色器不会出错吧?

感谢分享

引用Deshun的发言:

我那尺子量了,水平线确实不是平行的。

用截图来量,你用尺子可能会因为你的视觉导致你尺子偏移

莱卡,令人感动

33岁的我已经对coding没有任何激情了

感谢分享

漫威的那个API可以用来开发个产品吗?

感谢帮忙收集知识。

老师,这个结果为啥为true呢
var a = {
foo: function() {
console.log('打印:', this === window);
}
};
(0, a.foo)(); // true ?

引用焦伟奇的发言:

老师,这个结果为啥为true呢
var a = {
foo: function() {
console.log('打印:', this === window);
}
};
(0, a.foo)(); // true ?

(0, a.foo)()这是什么用法?请教一下。
返回true是因为a.foo是在window环境下执行了,如果你直接a.foo(),那么调用者就是a了

引用Tang的发言:

(0, a.foo)()这是什么用法?请教一下。
返回true是因为a.foo是在window环境下执行了,如果你直接a.foo(),那么调用者就是a了

(0, a.foo)()这种写法可以让this === window,而不是指向a。a.foo是在window环境下执行,但是(a.foo)()的结果并不是true呢

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接