# 科技爱好者周刊（第 127 期）：未来人人开发软件，几乎没人编码

这里记录每周值得分享的科技内容，周五发布。（ 本周五是十一假期，周刊提前到周三发布。）

本杂志开源（GitHub: [ruanyf/weekly](https://github.com/ruanyf/weekly)），欢迎提交 issue，投稿或推荐科技内容。

周刊讨论区的帖子[《谁在招人？》](https://github.com/ruanyf/weekly/issues/1392)，提供大量就业信息，欢迎访问或发布工作/实习岗位。

## 封面图

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092801.jpg)

西班牙艺术家胡安•盖瑞扎博 （Juan Garaizabal）的作品《永恒之门》，正在上海静安雕塑公园展出，18级台阶通向一个空中之门。（[出处](https://www.instagram.com/p/CFn6HzFJvEd/)）

## 本周话题：未来人人开发软件，几乎没人编码

现在，少儿编程培训班很流行，一到周末，家长们就送孩子去学计算机。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092805.jpg)

虽然我很赞成从小学习计算机，但总感到有点疑惑： **编程正变得越来越容易，门槛越来越低，小朋友们真有必要牺牲周末的睡眠和体育时间，专门去学编程语言（比如 Python）吗？**

上个世纪要当程序员，你必须懂汇编语言。到了如今，编程几乎已经没有门槛了，大多数人一天内就能学会，怎么写一个简单的网页 JavaScript 脚本。那么，你告诉我，未来会怎样？

再过15年或20年，等到现在的小孩进入就业市场，编程可能已经变得极其傻瓜化、智能化，也许只需要动动嘴，说出你想要什么程序，人工智能就自动生成了代码。

那时还会有程序员，但是人数应该很少，而且只负责编写底层代码，就像今天的汇编语言程序员非常少一样。因此我怀疑，孩子们没必要专门去学编程，因为未来可能根本不是今天这样编程。

大家知道吗，世界上用户最多的编程工具是什么软件？

答案是 Excel。无数财务人员、管理人员、销售人员都在用它，解决各种问题，尽管他们根本不懂编程。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092806.jpg)

我觉得，这就是未来编程工具的趋势，你不需要或者只需要懂一点点代码，就能做出软件，解决你的问题。最近正在兴起的“低代码”（low code）和“无代码”（no code）工具，正好呼应了这种趋势。未来人人都是软件工程师，都能够做出自己需要的软件，但是几乎没人知道如何编程。

## JavaScript 学习视频

本周的课程资料是 **开课吧** 提供的《JavaScript 学习视频》。

在可见的时间里，JavaScript 语言都会是前端最重要、最基础的技能。不管你打算开发什么（Web、Node.js、还是小程序），JavaScript 都是绕不过去的，属于必须掌握的基本技能，就像物理研究绕不过去数学一样。只要你面试前端岗位，JavaScript 技能是必考的。

JavaScript 的难度并不低，有着各种怪异的语法点，而且语法还在快速发展中，TC39 委员会每年都发布一个语言的新版本。只有掌握了基础语法，才跟得上顶层框架的各种变化，以不变应万变。

下面的视频课程，就是讲解几个特别重要的语法点和开发技巧，帮助你更好地理解这门语言。课程内容涵盖四大模块，课程时长达到300分钟！

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092503.jpg)

> 1. this 关键字的指向
> 2. 基于防抖（debounce）和节流（throttle）的性能优化
> 3. 响应式数据双向绑定的原理剖析
> 4. 基于 Web Component 的组件化开发

手机扫描下面的二维码，就可以 **0元领取** 这套视频了 。只有 100个 名额，先到先得。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092703.jpg)

## 资讯

1、[眼神校正功能](https://appleinsider.com/articles/20/06/22/facetime-eye-contact-correction-feature-to-launch-with-ios-14)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092002.jpg)

苹果的视频通话服务 Facetime，将正式启用眼神校正功能。视频通话时，对话者的眼神往往不是看着摄像头，而是看着屏幕或其他地方。这项功能可以自动修改眼神，让它看上去直接注视着前置摄像头，好像正在与另一方发生眼神交流。

这项功能在 iOS 13 的 Beta 版本开始测试，当时称为“注意力校正”，但没有包括在 正式版本中。iOS 14 重新将其引入，并在页面上列为正式功能。

2、[根据 DNA 生成画像](https://www.nature.com/articles/d41586-020-02545-5)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020091324.jpg)

美国弗吉尼亚州的一家遗传学公司，正在开展根据 DNA 画出犯罪嫌疑人画像的服务（上图）。他们根据犯罪现场得到的 DNA，进行数据库查询，找到相似的 DNA。理论上，DNA 相似的人应该具有血缘关系，长相很可能接近，就可以根据亲戚的长相画出嫌犯的长相。

该技术已经帮助警察侦破了一些久远的悬案，比如1987年一对加拿大夫妇被谋杀。但是，这已经在美国引起了巨大的争议，很多人认为这会侵犯隐私，不应该允许警方用 DNA 查找你的血缘关系。

3、[推特的图像预览 Bug](https://www.bbc.com/news/technology-54234822)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092206.jpg)

一个推特用户发现，如果上传的图片中同时包括黑人和白人，推特的图像预览总是向用户呈现白人。下图是上传的原图，无论奥巴马的头像在上方或下方，最后的预览总是上图的样子。

推特官方表示，将调查使用的人脸识别模型。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092205.jpg)

4、[大象死亡之谜](https://www.cbc.ca/news/technology/elephant-deaths-botswana-1.5732396)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092210.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092211.jpg)

今年五六月间，博茨瓦纳西北部的国家公园内，约330头大象突然死亡，一直找不到原因。最近，政府宣布这些大象死于一种神经系统疾病，可能由于饮用了被有毒的蓝藻污染过的水。

官方解释由于降雨，国家公园内会有一些季节性水塘，大量繁殖的蓝藻使得水塘充满细菌。当水塘干涸以后，大象死亡就停止了，所以这可能就是死因。博茨瓦纳估计拥有13万头大象，是世界上最大的大象种群，每年吸引着大量游客。

5、[人脸识别垃圾桶](https://finance.sina.cn/china/gncj/2020-09-18/detail-iivhvpwy7404451.d.html)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092216.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092217.jpg)

北京市西城区德胜街道新风街一号院上线了人脸识别垃圾桶。居民预先提交一张个人脸部的照片，就能完成注册。以后扔垃圾时，垃圾桶将用数秒的时间自动“刷脸”。在识别出居民身份后，垃圾桶盖打开，还能根据垃圾重量为居民返还一定积分。

对于没有注册的居民，可以手动按下按钮或刷卡，打开垃圾桶盖。

6、**一句话消息**

> - [一项英国调查](https://www.studyfinds.org/average-worker-career-burnout-age-32/)发现，普通工人到32岁时会就会感到职业倦怠。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092006.jpg)

> - [中国](https://www.chinaz.com/2020/0927/1190053.shtml)发行首枚内嵌 NFC 芯片的邮票。集邮者可通过中国邮政 App 读取邮票序列码、荧光暗码、芯片 ID 等等。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092701.jpg)

> - [小米](https://www.kocpc.com.tw/archives/345335)申请了三折式折叠手机专利，完全展开后，萤幕可以变成三倍大。只是手机厚度惊人，更像充电宝。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092306.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092307.jpg)

> - [亚马逊](https://www.amazon.com/luna/landing-page)推出了云游戏服务 Luna，跟谷歌的 Stadia 很像，就是在机房运行游戏，用户不需要买主机，只要有上网设备就能玩。这个服务有可能进中国。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092501.jpg)

> - [中国](https://cn.nytimes.com/china/20200924/china-climate-change/)宣布，2060年实现碳中和，即二氧化碳的排放量和吸收量相等。由于中国是世界最大碳排放国，这个承诺的难度很大。此前，拜登说当选后，美国会在2050年实现碳中和，特朗普则根本不在乎这件事。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092502.jpg)

> - [美国人](https://bfi.uchicago.edu/working-paper/60-million-fewer-commuting-hours-per-day-how-americans-use-time-saved-by-working-from-home/)由于疫情在家办公，每天全国可以节省6000万小时。这些时间本来都是浪费在路上，现在可以用来干其他事。

> - [芝加哥商品交易所](https://www.wsj.com/articles/cme-nasdaq-to-launch-water-futures-contract-11600853401)开设水期货合约，可以对水价下注。由于气候变暖和水资源短缺，未来的淡水价格可能出现剧烈波动。

## 文章

1、[如何提高 Node.js 的 libuv 性能](https://hackernoon.com/how-libuv-thread-pool-can-boost-your-node-js-performance-bel3tyf)（英文）

Node.js 的底层 JS 引擎是 v8，异步库 是 libuv。本文介绍一个小技巧，通过设置`UV_THREADPOOL_SIZE`参数，提高 libuv 性能。

2、[俄罗斯的图-160用25小时飞了2万公里，这是不是一项假纪录？](https://xw.qq.com/cmsid/20200923A0KGIE00)（中文）

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092602.jpg)

2020年9月19日，俄罗斯的两架Tu-160战略轰炸机进行了一次携弹训练飞行：历时25小时，飞行超过2万公里。俄罗斯航空航天部队远程航空兵指挥官谢尔盖·科比拉什中将说：这次飞行打破了此类飞机“最远航程”和“不间断飞行”的世界纪录。果真如此吗？

3、[前端开发的 VS Code 插件推荐](https://dev.to/klamserdev/vs-code-extensions-i-use-daily-568i)（英文）

作者推荐他每天使用的 VS Code 插件，专门用于前端开发。

4、[别在网页上显示“注册”](https://www.gkogan.co/blog/stop-asking-me-to-sign-up/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092702.jpg)

很多网站在页面上有注册按钮或注册链接（上图），作者认为，“注册”这个词大大降低了用户进一步使用的欲望，因为这要求用户付出操作成本，但没有给出足够的诱因。

经过他的实验，只要将“注册”改成“开始使用”或“免费试用”，就能将转化率提高三倍。

5、[11 种 Node.js ORM 库的简介](https://www.prisma.io/dataguide/database-tools/top-nodejs-orms-query-builders-and-database-libraries-in-2020)（英文）

作者介绍了11种常用的用于连接数据库的 Node.js ORM 库。

6、[如何通过`new Function`创建 async 函数](https://davidwalsh.name/async-function-class)（英文）

JavaScript 语言允许通过`Function（）`生成函数，async 函数能通过这种方式生成吗？

7、[`Intl.RelativeTimeFormat()`：相对时间格式化](http://www.deathghost.cn/article/javascript/53)（中文）

有时需要显示相对时间，比如“5分钟前”、“2天前”等等。一般使用外部库来实现，其实浏览器原生的 Intl.RelativeTimeFormat API 就可以做到。（[@232650413](https://github.com/ruanyf/weekly/issues/1420) 投稿）

8、[如何写一个 Node.js 命令行程序，获取 Slack 的 OAuth 授权？](http://thecodebarbarian.com/oauth-in-nodejs-cli-apps.html)（英文）

本文是一个 OAuth 授权示例，演示如何用 Node.js 在命令行获得 Slack 的授权，从而可以操作 Slack 的 API。

9、[交互式《蒙娜丽莎》画像](https://blog.tensorflow.org/2020/09/bringing-mona-lisa-effect-to-life-tensorflow-js.html)（英文）

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092603.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092604.jpg)

传说中，不管你从哪个角度看《蒙娜丽莎》画像，都会感到画像中的女子在看着你。TensorFlow 的官方博客，演示怎么用 TensorFlow.js，制作一个交互式的《蒙娜丽莎》画像，摄像头捕捉观看者的角度，然后自动改变画像的眼神。

## 工具

1、[Tables](https://tables.area120.google.com/u/0/about#/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092305.jpg)

谷歌发布的新产品，主要用于项目管理。跟 Trello 有点类似。

2、[photoflare](https://github.com/PhotoFlare/photoflare)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092304.jpg)

跨平台的图像编辑桌面软件，相对小巧简单。

3、[visx](https://airbnb.io/visx/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092401.jpg)

Airbnb 推出的一套数据可视化组件库，基于 D3 和 React。

4、[Release](https://github.com/vercel/release)

一个 Node.js 库，一键生成软件包的 changelog。

5、[Blacklight](https://themarkup.org/blacklight)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092403.jpg)

一个在线工具，可以检查某个网站使用了哪些追踪技术。

6、[Wewatermark](https://wewatermark.com/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092405.jpg)

一个在线工具，可以为图片加上各种各样的水印。

7、[Headless recorder](https://github.com/checkly/headless-recorder)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092505.jpg)

一个 Chrome 浏览器插件，自动记录你的操作，转成 Puppeteer 或 Playwright 脚本，从而实现浏览器操作自动化。

8、[wave-share](https://github.com/ggerganov/wave-share)

一个概念性项目，两台计算机通过声波通信！A 计算机把数据转成音频，通过喇叭发声；B 计算机听到后，对声波解码，从而与 A 建立 WebRTC 的点对点连接。要不是这种通信速率太慢，通过声波分享文件也未尝不可。

9、[Pixelixe Photo Editor](https://pixelixe.com/blog/edit-any-image-browsing-the-web-with-Pixelixe-Photo-Editor-Chrome-extension/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092601.jpg)

一个 Chrome 浏览器插件，在浏览器里面打开一个图片编辑器。

10、[Taskwarrior](https://taskwarrior.org/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092705.jpg)

一个命令行的待办事项（todo）管理软件，功能相当强。（[@nosarthur](https://github.com/ruanyf/weekly/issues/1426)  投稿）

## 资源

1、[Malware Bazaar](https://bazaar.abuse.ch)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092404.jpg)

恶意软件数据库，提供恶意软件样本下载。

2、[CurrentlyDown.com](http://currentlydown.com/)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092907.jpg)

该网站可以查询，哪些服务现在正在宕机，以及宕机的历史记录。

3、[Flexbox Defense](http://www.flexboxdefense.com/)

![](https://cdn.beekka.com/blogimg/asset/202008/bg2020083002.jpg)

一个在线的塔防小游戏，通过 CSS Flexbox 的练习，击退一波波进攻的敌人。

4、[WebRTC 教程](https://webrtcforthecurious.com/)

一本英文的免费电子书，介绍 WebRTC 的基础知识。

## 图片

1、[一天的毫秒数](https://twitter.com/3blue1brown/status/1282480577036251136)

下面计算式的结果，就是一天的毫秒数。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092218.jpg)

这个式子的来历如下。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092219.jpg)

2、[劳拉的变化](https://twitter.com/ballmatthew/status/1292832548377305089)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092303.jpg)

电子游戏《古墓丽影》主人公劳拉，从1996年第一代到2018年最新一代的变化。

## 文摘

1、[个人护城河](https://eriktorenberg.substack.com/p/build-personal-moats)

我最喜欢的职业建议是发展“个人护城河”。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092807.jpg)

你的个人护城河是一组独特的且不断累积的竞争优势，别人很难学习，或者很难做到。如果你有了它，你会让自己变得无法取代。

你必须找到属于你的特殊东西，而且这些东西会随着时间的流逝而增加价值。

如何找到自己的护城河？ 

你可以问自己：对我来说，什么事情容易做，而对别人却很难？我所拥有的技能中，哪些是其他人模仿会非常困难的？或者，你所爱的、擅长的事物，跟社会需要的事物有什么交汇点？

护城河会随着条件的变化而变化。比如，录音技术诞生之前，稀缺的是音乐本身，你想听音乐，就需要有一个艺术家给你现场表演。现在，音乐录音到处都是，稀缺的是策划、发行和个性的展示。

同样地，在社会中，以前的稀缺资源是金钱和特殊关系。而在互联网时代，稀缺的是特定知识和某些稀有技能。

漫画家斯科特·亚当斯（Scott Adams）曾经提过一种建立个人护城河的方法，就是找到自己最擅长的2个～3个事物的交集。比如，他既不是最好的漫画家，也不是最好的作家，也不是最好的企业家，但他可以是最好的商业类漫画短文作者，这就是他的护城河。

总之，你要发现对你来说容易而对他人却很难的事物，并在这些事物上变得出色，然后利用它来积累社会和金融资本。

2、[《国家地理》杂志：石峁遗址之谜](https://www.nationalgeographic.com/history/2020/08/mysterious-carvings-evidence-human-sacrifice-uncovered-ancient-city-china/)

几十年来，黄土高原北部石峁村的村民，一直认为村里尘土飞扬的山丘上，那些摇摇欲坠的石墙，不过是古代长城的一部分，并没有什么特别。

但是，2012年开始的系统挖掘，证实这里曾经有过一座皇城，距今约4000年，史书没有任何记载，是目前已知的中国史前文明最大的遗址，为中华文明的起源带来了许多未解之谜。

石峁遗址出土了大量玉器，做成圆盘、剑刃和节杖的形状。当地并不产玉，这些玉器要么来自贸易，要么来自战争的掠夺。如此大的数量，证明这个城池地位非凡。

最奇妙的东西就是4000年前遗留下来的宏伟城墙，总长将近10公里，城墙内有一个高达70米金字塔形建筑，大约是埃及大金字塔一半的高度。金字塔平台上方是庞大的宫殿建筑群，宫殿建筑内有壁画、玉器、彩绘，以及人类遗骸，表明这里进行过祭祀。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092201.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092202.jpg)

城墙上还发现了70幅令人惊叹的浮雕雕塑，形状是野兽的兽头。

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092203.jpg)

![](https://cdn.beekka.com/blogimg/asset/202009/bg2020092204.jpg)


碳14法判定这个遗址可以追溯到4300年前，跟埃及金字塔是同一时间，比长城最古老的遗迹要早2000年，比现在已知最早的中原文明遗址（夏朝遗址）要早500年。而且，它的位置在那些夏朝遗址以北几百公里，表明中原文明来自北方。

遗址的建筑规模如此庞大，仅仅城墙就需要125,000立方米的石材。这意味着，这个城市的人口很多，大概在10,000至20,000之间。

这个遗址的繁荣期是从大约公元前2300年到公元前1800年，将近500年。然后，它突然被神秘地废弃了，原因很可能是气候。公元前3000年，石峁遗址成立时，黄土高原还是相对温暖潮湿的气候。历史记录表明，从公元前2000年到公元前1700年，气候迅速转变为更加干燥和凉爽。湖泊干枯、森林消失、沙漠侵袭，迫使人们离开石峁南迁。

如今，石峁遗址静静地躺在鄂尔多斯沙漠的边缘，被灰尘、土石和寂静所笼罩。但是，这座世界上最古老的城市之一，正在被慢慢揭开面纱，将让我们对中华文明的起源有更多的了解，颠覆现在的许多观点。

## 言论

1、

如果你无法将产品的价格翻倍，那么你的产品就不占有市场优势。

-- [《创业公司的功夫》](https://blog.asmartbear.com/kung-fu.html)

2、

苹果公司在发布新的操作系统（iOS、iPadOS、watchOS ）之前，都公开了测试版，但是等到正式版上市，并没有多少改进，依然有很多 Bug。

那么，公开测试版的意义何在？真的是为了提高正式版的质量吗？……无论最初的目的是什么，公共测试版现在都是一种营销工具，一种大肆宣传新版本、并让苹果爱好者购买与新版本一起发布的新产品的方式。

-- [《苹果软件的测试版》](https://leancrew.com/all-this/2020/09/betas/)

3、

关系数据库有两个优势，一个是节省存储空间，另一个是可以跟踪复杂的数据关系。

但是，现在的存储设备很便宜，反而是 CPU 的处理时间更贵。所以，我建议客户，如果不需要处理复杂的数据关系，那就避免使用关系型数据库，而使用 NoSQL 数据库。

-- [Hacker News 读者](https://news.ycombinator.com/item?id=24542193)

4、

有一种说法，年龄在35岁以上的人，建立学术影响力的唯一机会是编写一本教科书。

-- [Mark Seemann](https://blog.ploeh.dk/2020/09/14/we-need-young-programmers-we-need-old-programmers/)

5、

理性的人使自己适应世界，不理性的人不愿意妥协，坚持要求世界适应他的方式。因此，一切进步都取决于不理性的人。

-- 萧伯纳

6、

Zoom 之类的远程会议软件已经成为标准，疫情结束后，很多商务旅行永远不会回来了。

-- [Hacker News 读者](https://news.ycombinator.com/item?id=24576832)

## 回顾

2019年的本周（第 76 期）：[任何爱好都能变成职业，只要你会拍视频](http://www.ruanyifeng.com/blog/2019/10/weekly-issue-76.html)

![](https://cdn.beekka.com/blogimg/asset/201910/bg2019100301.jpg)

2018年的本周（第 24 期）：[新人进入软件行业的建议](http://www.ruanyifeng.com/blog/2018/09/weekly-issue-24.html)

![](https://cdn.beekka.com/blogimg/asset/201809/bg2018092801.jpg)

## 订阅

这个周刊每周五发布，同步更新在[阮一峰的网络日志](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)。

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

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

（完）

