这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图

本周话题:你想住在中国哪里?
很多人不喜欢一线城市“北上广深”,觉得生活压力大,房价奇高,空间局促嘈杂,想要离开。
但是离开以后,去哪里呢?哪个城市能够提供令人满意的生活方式,以及良好的社会经济状况?

我最近读到时事评论家宁南山的一篇文章,觉得很有启发,跟大家分享一下。
他说,考虑未来的居住城市时,应该对中国的三个宏观趋势有所认知。
首先,中国各地的基础设施,都是差不多的。 我们是统一的国家,各省的高铁、高速公路、电力网、无线通信、宽带网等等,基本都是一样的,同样的标准、同样的材料、同样的施工、同样的管理,不会有某个省的基础设施特别好、另一个省特别差这种情况。

其次,各省的发展速度最终会逐渐趋同。沿海省份的增速会降下来,内地省份会赶上来,不会有某个省一直高速发展,另一个省一直低速发展这种情况。长远来看,各省的社会经济和发展状况,最终都会达到一个基本的现代化水平,不会有某个省显著落后于全国平均水平。
再次, 各省的真正差异来自于产业。 比如,广东的电子业、上海的金融业、北京的政治中心、西部的能源产业等等,都是有地域性的,这个很难改变。产业的兴盛决定了收入的差异,这才是地域差异未来的主要来源。

基于上面三点看法,可以预测,如果中国人均 GDP 继续增长,到了2035年比现在增长一倍,那么中国各地的生活条件都会达到一个相当不错的水平。
目前,全国的人均 GDP 大概是1万美元,一线城市是2万多美元。到了2035年,如果全国人均 GDP 能够达到2万美元,一线城市达到五万美元,这就意味着,一线城市普通人的生活水平相当于现在发达国家大城市的水平,而各省的主要城市能够达到目前北京上海的水平。
当然,实现这个目标的难度是很大的。只有每年增长速度不低于4.7%,连续15年,那么 GDP 可以翻一倍。但是,中国的人口已经停止增长了,人力成本也不低了,以后再想高速增长,必须依靠知识创新,而中国民众的科技知识水平并不乐观。
假使我们能够实现这个目标,那么到了2035年,不管生活在哪个省,都能享受现代化的、有质量、比较舒适的生活。

居住城市的选择,那时就成了一个生活方式的选择。就像宁南山文章里说的:
- 如果希望赚取高收入,愿意忍受大城市的高竞争、高压力、狭小嘈杂,那么选择一线大城市;
- 如果希望竞争小一些、生活轻松一点,可以选择沿海省份和中西部的中心城市;
- 如果希望享受宁静悠闲的生活,可以选择丽江、大理这样的小城市;
- 如果希望享受北美澳洲式地广人稀的生活,可以选择东北地区和西北地区。
一个人可以自主决定居住在哪个城市,以什么方式生活,并且不必放弃现代化的生活条件。我觉得,这才是理想的生活,是值得憧憬的奋斗目标。
对于程序员来说,年轻时在大城市打拼,有了积累之后,移居到其它地方,追求自己想要的生活,以后大概会成为一种潮流吧。
前端源码大练兵
很多同学通过自学或者培训班,学会了前端开发,能够独立写页面了,有些还求职成功了。接下来,就面临着进阶难题:怎么才能在短期内,让代码水平更上一层楼?
我觉得,最简单可行的进阶方法,就是阅读其他项目的源码。

阅读源码有很多好处。有一些是明摆着的,比如,看了别人的源码才恍然大悟,原来可以这样解决问题。再比如,很多软件的高级用法,文档往往写得让人摸不着头脑,只有看源码才能搞懂。
另外一些好处,则是摆在暗处的。比如,通过学习别人的代码,可以培养自己“造轮子”的能力。再比如,阅读热门项目的源码,也许有机会提交 PR,一旦被合并,就成了项目的 contributor(贡献者)。这些将来都会成为你的个人资历。
阅读源码对求职也有实际的帮助。大厂的面试除了应用类的问题,往往也会问一些代码原理,考察你对程序的理解和个人思考。这时读过源码就会有很大的优势,至少有话可说,能够讲一些自己的想法,而不是简单地复述文档。
但是说实话,很多源码太复杂、太抽象,写得很绕,有多层调用,找不到入口在哪里。自己理解起来很困难,旁边又没有人答疑解惑,很容易放弃。

本周正好有一个源码讲解的课程 《前端练功房-源码大练兵》训练营,就是为了解决这些进阶痛点而设计的,介绍给大家。
它通过连续三天的直播,由三位老师分别解读 Mini-Vue、React 和 Webpack 的源码,每个晚上讲解一个主题。除了源码,还会覆盖算法、工程化等重要技术点。
- 第一天 – Vue 3:核心原理以及 vdom
- 第二天 – React:最小堆算法与任务调度
- 第三天 – 前端工程化核心知识,以及手写一个 Webpack 的简单实现

上课时间是10月26日到28日(下周二到周四),每天晚上的八点。该课程由开课吧制作,他们是国内最大的技术培训机构之一,课程制作和操作方面比较正规,可以放心。
课程推广期间,周刊读者有优惠,仅需 0.99 元 的福利价即可报名。

微信扫描上方二维码,或者点击这里,了解课程详情。报名后,别忘了添加助教老师的微信。三天听课期间,每天还可以获赠其他的前端学习资料。
科技动态
1、采血机器人

验血是医院的常规检查,一般都是由护士进行采血。上海中山医院最近开始使用全自动的采血机器人,由机器采血。
该机器可自动完成装载采血管、采血针、绑扎压脉带、识别静脉血管、喷消毒液、精准穿刺、采血量控制、血液标本混匀等一系列动作。而且,它还可以辨识血管,很少发生扎不准的情况。
2、6G 的传输距离

LG 公司宣布,他们创下了无线通信 6G 标准的传输距离纪录:100米。研究人员利用放大器和天线增益,将信号从一座高楼的顶部发送到另一座高楼,两者相距100米,此前的纪录只有15米。


目前的 5G 通信,城区的传输距离只有几百米。6G 的频率比 5G 更高,传输距离更短,一旦 6G 开始商用,城区的基站密度恐怕难以想象。

密歇根大学的一项调查显示,目前相信进化论的美国人终于超过了一半。2019年,54%的美国成年人相信,人类是从动物进化而来的,比1985年的40%有大幅成长。这个比例在34个西方国家里面,几乎是最低的,只高于土耳其的27%。
大家都说美国是一个自由派的国家,但美国也是一个非常保守的国家,宗教观念有很大的市场。
Memoji(me + emoji)是苹果公司基于表情符号开发的一种头像生成技术,用来生成用户的 3D 卡通头像,诞生于2018年。种种迹象都表明,苹果有意大量使用该技术,用于虚拟空间的场景。
2021年6月的 WWDC 大会的邀请函,使用的就是 Memoji。

大会当天,库克走进会场,场下坐的都是听众的 Memoji 头像。

库克致欢迎辞的时候,背景也是 Memoji。

此外,苹果的管理层介绍,头像也都换成了 Memoji。

下一步,苹果很可能会推出一个虚拟空间产品,将用户导入数字世界,到时候用户在那里的分身就是 Memoji。
5、凉爽的路面

城市的道路是一个巨大的热源,吸收太阳热量然后辐射出来,对周围环境进行加热,使得城市变得更热。麻省理工学院的研究人员因此提出了“凉爽路面”的概念,这种路面会大量反射太阳光,吸收更少的热量。
“凉爽路面”的主要措施有两点,一是使用混凝土代替沥青,后者太容易吸热;二是浅色的路面有更好的反射率,所以混凝土之中应该多加入白色的骨料。
6、超宽显示器的问题

现在的显示器越来越宽,甚至有宽度超过一米的带鱼屏,即使是普通的22-24英寸显示器,程序员也往往会把两个并排使用。专家认为,这样会增加头颈损伤和疼痛的概率。

使用超宽显示器时,长期扭头看着左侧的屏幕,对颈椎非常不利。专家建议,32寸的显示器可能是最佳选择,如果必须使用超宽屏显示器,则最好增加屏幕与眼睛之间的距离,并且将活动窗口放置于屏幕的中间,避免长时间向一侧扭头。
文章
1、地铁地图电路板(英文)


一个新加坡网友讲述,自己怎么把新加坡地铁线路图做成一块电路板,还设法让每个节点发光亮起来。
2、我如何使用 NFT 在三天内赚了5万美元(英文)

作者谈了自己对 NFT 的理解,以及怎么入门,然后他用软件生成了一组数字画(上图),以 NFT 的形式卖了5万美元。对这个主题感兴趣的同学,推荐阅读。
3、勒索软件是什么样子(英文)

这篇文章提供了勒索软件 REvil 中毒的样子,以及拿到解密器以后,解开中毒文件的演示,可以用来了解这种软件如何勒索钱财。
4、GitHub Star 不会支付你的账单(英文)

作者是开源项目 Sizzy 的创始人,讲述了如何将一个开源项目,变成商业软件,用来支持软件开发的故事。
5、通过水流理解电的基本知识(英文)

课本经常把电流比喻成水流,来讲解电的基本知识。这篇文章也是采用这种方法解释电,写得很有新意。
6、被谷歌解雇是一种怎样的体验(英文)

作者讲述了自己五年前被谷歌解雇的往事,解雇理由是无法承担开发工作,整个过程有详细描述,可以一窥大厂怎么解雇人。作者说,他很庆幸自己被解雇,因为他后来去了医院,被诊断为忧郁症,幸亏得到了及时治疗,现在状况不错,也找到了新工作。
7、如何压缩设计素材(英文)

作者从 Figma 导出设计素材,试了不同的格式,从最初的 10MB 变成了最后的 78KB。
8、Objective-C 简史(英文)
本文介绍 Objective-C 怎么从一种科学家的语言,变成了苹果公司的官方开发语言。
工具

一个网页程序,可以将图片放大而不模糊,也能让模糊的照片变得更清晰一些。
一个 JS 库,可以将 HTML 代码与 JSON 代码互相转换。

使用 Three.js 制作的网页 3D 家居模型,非常炫酷。

一个网页服务,可以将短视频转成 WebP 动画图片,用来替代 GIF 动画。

一个开源的家庭智能家电的管理面板,可以架设在个人服务器或树莓派,目前支持1000多种智能家电,包括苹果、小米等品牌。
一个很酷的 JS 库,将浏览器的 indexedDB 作为网页数据储存的后端,在它之上加了一层 SQLite。也就是说,用户会跟一个全功能的 SQLite 实现互动,但是数据存储在 indexedDB 里面。

一个手机操作系统,源头是诺基亚的 MeeGo 系统,目前已经发展到了第四代。它基于 Linux,但可以安装安卓的 App,看上去很精美,缺点是目前只支持 Sony 的几款手机。
8、jsvu
jsvu 是一个 JS 引擎的调用器,用来调用各种 JS 引擎(比如 V8、QuickJS、Chakra 等等),或者同一个引擎的各种版本。它的主要用途是测试代码在不同引擎下的表现。
9、7.css

一个 CSS 框架,用来复现 Windows 7 的 UI。

一键安装 Kubernetes 集群的脚本,符合国情,包含 MetricsServer 、Kuboard 、Kubernetes Dashboard 等组件。(@ameizi 投稿)
资源
1、稀土开发者大会

一个技术活动消息。国内知名的“稀土掘金技术社区”,下周主办“稀土开发者大会”,现在可以免费报名,收看所有演讲的直播。时间是下周三和周四(10月27日和28日)两天。
他们这次请了很多大厂的技术主管,演讲内容基本涵盖了当前的技术热点:大前端、低代码、音视频、数据库、微服务、云原生、人工智能……链接是直播安排。我听掘金的同学说,他们准备了很多丰厚奖品,报名后有很大的机会中奖。

这个英文教程一共10节课,教你使用 JavaScript 开发一个网页游戏。

工信部推出的官方服务,查看个人名下登记了多少张电话卡。
4、Java 周刊
国外开发者编写的 Java 周刊,提供各种关于 Java 技术进展的链接。(@Xuguozong 投稿)

免费的天气 API 服务,可以获取全球任意地点的天气数据,以 JSON 格式返回。
图片
1、世界最厚的书
一本名叫《ZX Spectrum 游戏全书》的书,可能是世界上最厚的书。


ZX Spectrum 是1980年代的一种9位家用电脑,这本书收录了该平台上面的所有游戏。
2、挂在绳子上睡觉
有一种传说,19世纪的英国,有一种专门给穷人准备的廉价宿舍。这种宿舍没有床,只拉了几根绳子,穷人把整个身子挂在绳子上睡觉。


后来的一些小说和电影,纷纷使用了这种说法,补充了细节,还原了画面。但是,由于始终找不到可靠的证据,历史学家倾向于认为,这种宿舍只是当年那些作家的夸大和虚构。


文摘
公司创始人的主要工作是什么?
他的主要工作很可能是讲故事。向员工讲故事,向投资人讲故事,向媒体讲故事,向用户讲故事。这样可以团结团队、获得投资和报道,完成用户营销。
每个人都喜欢听到一个好故事,你的故事越吸引人,就越容易成功。
可是,大多数人都不具备讲故事的能力,所以我们应该向那些善于讲故事的人学习。

Pixar 是全世界著名的动画公司,制作了很多脍炙人口的动画电影。
它具有非凡的讲故事能力,每部电影都让人们津津乐道。它的编剧透露,这些故事都是按照一个公式展开的。

每个故事都依次分成六个部分。
(1)很久以前:描述一下世界以前的样子。
(2)每天的生活:大家怎么过日子。
(3)直到有一天:一个突发事件引发了巨变。
(4)由于这件事:主人公遭受到了磨难。
(5)由于这件事:主人公下定决心,展开新的冒险,找到出路。
(6)最终:问题解决了,主人公过上了美好生活。
大家可以回想一下,Pixar 的每部电影是不是符合这个公式。

下面,就让我们按照这个公式,讲好自己公司的故事。
(1)很久以前:世界有一个难题。
(2)每天的生活:现有的各种解决方法都很糟糕,用户很痛苦。
(3)直到有一天:我们想出了新的方法。
(4)由于这件事:我们的方法比以前的方法都好。
(5)由于这件事:我们将会吸引大量的客户。
(6)最终:我们将会赢得了市场,取得成功。
有了自己的故事以后,你还必须不停迭代,补充新内容,争取每一讲都比上一次效果更好。
言论
1、
跨平台 UI 技术(比如 Electron)的优势,不是界面和体验的统一,而是能让不同平台版本的开发进展和功能保持一致。
App 越大,不同平台之间保持版本一致,并在指定时间同时发布,就会越来越难。
— 《跨平台技术的吸引力》,1Password 团队最近宣布,新版本的 Mac 客户端将不再是原生 App,而是改用 Electron 开发。
2、
我出生时,美国即将迎来建国200周年纪念日(1976年)。对我来说,美国的建国完全像是发生在古代的事情。
现在,我已经要将近50岁了,200周年只是我年龄的4倍而已,我甚至不觉得自己老了。就在这样一点时间里面,我们从最基本的电动机发展到了今天所有的惊人技术,从长期来看,人类的技术进步速度实在太惊人。
— Hacker News 读者,评论2021年是法拉第发明电动机200周年
3、
苹果公司今年会推出 iOS 15,支持的最老机型是 iPhone 6s 和 iPhone 6s Plus。这使得苹果公司成为全世界唯一一家提供七年系统更新的手机厂商。这很了不起,安卓手机厂商只有寥寥几家,能做到三年的操作系统升级和四年的安全更新。
4、
每秒是不相等的。早上精力充沛的一个小时工作,相当于晚上疲倦时三个小时的工作。
— David Perell
5、
月球对人类的意义,远远超出大多数人的想象。因为有了月球,夜空照亮了,地球的倾斜度得到缓和,才有了一个更稳定、更宜居的气候。月球也导致潮汐产生,这有助于将热量从赤道穿过海洋转移到两极。
历史上的本周
2020年(第 129 期):创业的凸函数和凹函数
2019年(第 77 期):韩剧《阿尔布拉罕宫的回忆》
2018年(第 26 期):DHH 的新书《工作何必疯狂》
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

(完)