科技爱好者周刊(第 127 期):未来人人开发软件,几乎没人编码

[广告:最高 ¥2000 红包]阿里云服务器、主机等产品通用,可叠加官网常规优惠使用 | 限时领取

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

本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量就业信息,欢迎访问或发布工作/实习岗位。

封面图

西班牙艺术家胡安•盖瑞扎博 (Juan Garaizabal)的作品《永恒之门》,正在上海静安雕塑公园展出,18级台阶通向一个空中之门。(出处

本周话题:未来人人开发软件,几乎没人编码

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

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

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

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

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

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

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

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

JavaScript 学习视频

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

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

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

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

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

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

资讯

1、眼神校正功能

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

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

2、根据 DNA 生成画像

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

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

3、推特的图像预览 Bug

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

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

4、大象死亡之谜

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

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

5、人脸识别垃圾桶

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

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

6、一句话消息

  • 中国发行首枚内嵌 NFC 芯片的邮票。集邮者可通过中国邮政 App 读取邮票序列码、荧光暗码、芯片 ID 等等。

  • 小米申请了三折式折叠手机专利,完全展开后,萤幕可以变成三倍大。只是手机厚度惊人,更像充电宝。

  • 亚马逊推出了云游戏服务 Luna,跟谷歌的 Stadia 很像,就是在机房运行游戏,用户不需要买主机,只要有上网设备就能玩。这个服务有可能进中国。

  • 中国宣布,2060年实现碳中和,即二氧化碳的排放量和吸收量相等。由于中国是世界最大碳排放国,这个承诺的难度很大。此前,拜登说当选后,美国会在2050年实现碳中和,特朗普则根本不在乎这件事。

  • 美国人由于疫情在家办公,每天全国可以节省6000万小时。这些时间本来都是浪费在路上,现在可以用来干其他事。
  • 芝加哥商品交易所开设水期货合约,可以对水价下注。由于气候变暖和水资源短缺,未来的淡水价格可能出现剧烈波动。

文章

1、如何提高 Node.js 的 libuv 性能(英文)

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

2、俄罗斯的图-160用25小时飞了2万公里,这是不是一项假纪录?(中文)

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

3、前端开发的 VS Code 插件推荐(英文)

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

4、别在网页上显示”注册”(英文)

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

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

5、11 种 Node.js ORM 库的简介(英文)

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

6、如何通过new Function创建 async 函数(英文)

JavaScript 语言允许通过Funtion()生成函数,async 函数能通过这种方式生成吗?

7、Intl.RelativeTimeFormat():相对时间格式化(中文)

有时需要显示相对时间,比如”5分钟前”、”2天前”等等。一般使用外部库来实现,其实浏览器原生的 Intl.RelativeTimeFormat API 就可以做到。(@232650413 投稿)

8、如何写一个 Node.js 命令行程序,获取 Slack 的 OAuth 授权?(英文)

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

9、交互式《蒙娜丽莎》画像(英文)

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

工具

1、Tables

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

2、photoflare

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

3、visx

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

4、Release

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

5、Blacklight

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

6、Wewatermark

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

7、Headless recorder

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

8、wave-share

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

9、Pixelixe Photo Editor

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

10、Taskwarrior

一个命令行的待办事项(todo)管理软件,功能相当强。(@nosarthur 投稿)

资源

1、Malware Bazaar

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

2、CurrentlyDown.com

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

3、Flexbox Defense

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

4、WebRTC 教程

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

图片

1、一天的毫秒数

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

这个式子的来历如下。

2、劳拉的变化

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

文摘

1、个人护城河

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

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

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

如何找到自己的护城河?

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

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

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

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

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

2、《国家地理》杂志:石峁遗址之谜

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

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

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

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

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

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

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

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

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

言论

1、

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

《创业公司的功夫》

2、

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

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

《苹果软件的测试版》

3、

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

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

Hacker News 读者

4、

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

Mark Seemann

5、

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

— 萧伯纳

6、

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

Hacker News 读者

回顾

2019年的本周(第 76 期):任何爱好都能变成职业,只要你会拍视频

2018年的本周(第 24 期):新人进入软件行业的建议

订阅

这个周刊每周五发布,同步更新在阮一峰的网络日志微信公众号

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

(完)

码中人 微信公众号