# 科技爱好者周刊(第 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) (完)