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

封面图

西班牙巴塞罗那的圣家堂大教堂,本周在尖塔顶端安装了一颗12角玻璃星,将在新年前夕被聚光灯照亮。这座建筑是联合国世界遗产,已经造了130多年,估计还要好几年才能土建完工。(via[3]

本周话题:低纬度,高海拔,气候优势

上个月,我在四川旅行。离开成都以后,一路向南,就到了攀枝花。
那是一个很奇特的地方,气候与周边截然不同。
从成都开始,就一直是阴天,但到了攀枝花,天天都是阳光明媚的大晴天。而且很暖和,当时已经是10月底,北方都下雪了,那里白天的最高气温却还在25度以上,可以穿短袖。
总之,天气好得让人怀疑。我就去查了,果然是有原因的,大家看下面这幅中国年平均气温图。
上图中,颜色越深,年平均气温越高(越热)。注意看,在成都和昆明之间,箭头所指的地方,有一块异常的深色区域,气温显著高于周边,比南边的昆明还要高,接近西双版纳的颜色(温度)了。那就是攀枝花。
为什么这里气温高?
书上的解释是,主要原因是独特的地理环境,这里是 “低纬度、高海拔的盆地”。纬度低,接近北回归线,所以冬天不冷;平均海拔1000米以上,所以夏天不热;
更主要的是,这里地处金沙江河谷,周围都是高山,空气不易流动,风比较小,所以比同纬度的地方更热。而且,高山挡住了水汽,所以很少下雨,晴天多。
(图片说明:旅馆窗口望出去的景象,城市被高山包围。)
这样的地理条件,使得冬天的气候非常舒服,暖洋洋的。当地政府现在把康养产业(养老)当作主要产业,一到冬天,大量外地人口涌入过冬。
仔细想一下,国内符合“低纬度、高海拔”这个条件的城市,没有几个的,可能都在云贵高原。这些城市都非常宜居,冬无严寒,夏无酷暑,植物生长郁郁葱葱。
这就是气候优势,其他城市望尘莫及,想学都学不了。东部沿海地区虽然经济发达,但是气候不好,就说上海吧,夏天太热,冬天太冷,还有梅雨季。将来气候变暖,那里的气候恐怕会更难熬。
我觉得,未来我们选择生活地点,气候条件可能是主要考虑之一。低纬度、高海拔的气候优势会越来越吸引人,建议大家多关注这些城市,去那里旅行看看,可能会让你流连忘返。

Go 语言面试题合集

前些天,一个朋友找我诉苦:“Go 工程师太难找了。”招聘广告挂了一个月,应聘者寥寥无几。
他感到不理解,Go 的学习收益其实很高,为什么学习的人却不多呢。
要知道,Go 的势头这些年很好,国内应该已经是后端的第二大开发语言,仅次于 Java。
越来越多的公司,整个后端都是用 Go 开发的,比如 B 站和七牛云。除了网络服务,Go 也是容器和微服务的首选语言,Docker 就是用 Go 写的。
总之,Go 的招聘岗位一直在增加。虽然比不了 Java 和前端,但是关键一点是,后两者的学习者远多于 Go,就业竞争激烈,而 Go 工程师就没有竞争问题,更容易找到满意的工作。
所以,学习 Go 的回报是很高的。何况 Go 语言入门其实不难,有 Java 和 C 语言基础的话,转 Go 是很容易的。
本周的学习资料,就是为那些想要学习 Go 和对 Go 感兴趣的同学准备的。它是一本 《2021年大厂 Go 语言面试题合集》,收录了今年面试中出现过的 Go 语言题目,并且按照学习顺序进行了分类编排,每道题都包括简要的答案解析。
下面就是目录页的截图。
整份资料一共134页,除了 Go 语言的部分,还带有一个附录,收录了跟后端开发相关的其它面试题,比如消息队列和数据库的题目。
它除了作为面试准备,由于题目多数考察基础知识,所以也可以作为初学者学习指南,帮助大家入门 Go 语言。
这份资料是由知名的 IT 知识平台 “极客时间” 赠送给周刊读者的,他们正在大力推广 Go 语言。
微信扫码上方二维码,添加课程小助手,就能 免费领取 这份面试题合集了。
注意,因为是手动发送,人数多的话,请耐心等待。

科技动态

1、小行星碰撞实验[4]
11月24日,美国宇航局发射了一艘飞船,飞向一颗直径170米的小行星,计划于明年9月下旬与后者相撞。这将是人类历史上第一次小行星碰撞实验。
这颗小行星属于双子星,它本身围绕另一颗较大的小行星公转。这次碰撞预计将让小行星的公转速度每秒增加半毫米,从而让公转的时间减少约10分钟,这个差异将能够从地球上观测到。
上图中,白线是小行星的公转轨道,黄线是飞船的轨道,两者会相撞。美国宇航局希望通过这个实验,为人为改变小行星轨道积累经验,以防未来有小行星撞上地球。
2、DNA 存储[5]
东南大学团队成功将校训“止于至善”,写入一段 DNA,然后又从 DNA 上读取出来,实现了 DNA 存储技术的新突破。
DNA 的基本组成单位是四种碱基(上图的 A、G、C、T),总是组成两种碱基对 A-T 和 C-G,那么只要将碱基对映射成0和1,再将排列好的碱基对写入 DNA 序列,就实现了信息的 DNA 存储。
目前,DNA 存储的读写还需要液体试剂,东南大学团队的下一步目标是,实现全固体的 DNA 存储读写。
3、特斯拉哨子[6]
特斯拉公司本周发布了一款不锈钢哨子,定价50美元。官网挂出后,几分钟就一抢而光。这款哨子没有任何特殊用途,材质和形状类似特斯拉即将发售的皮卡 Cybertruck,官网说明是“限量收藏品”。
CEO 马斯克发推说:“别买那块愚蠢的苹果布,买我们的哨子!”。苹果公司最近推出的擦拭显示器的布,定价145元人民币。
4、城市涟漪[7]
广州的一个商场外围,打造了一圈名为“城市涟漪”的公共空间,包含儿童乐园、篮球场、步道、休息座位等。
整个空间由一个个几何水波纹元素组成,并带有形似河流的条纹,采用鲜艳的色彩搭配,吸引路人的眼球。
5、保存千年的塑料书[8]
塑料是一种不环保材料,1000年也不会降解。为了提醒人们这一点,越南的一家设计公司收集了各种塑料垃圾,包括泡沫塑料盒、塑料袋、塑料板等,然后邀请家人和朋友向一千年后的人们写信。他们把这些信件印上了塑料,再做成一本书。
书名叫做《致未来》,理论上可以保存千年不会坏,塑料垃圾就是可以留存这么久。
6、月球提取氧气[9]
澳大利亚航天局启动了一项计划,研究能否从月球取回的岩石里面提取氧气,供将来登陆月球的宇航员使用。
月球表面是一层风化的岩石,跟地球的成分类似,主要包含了二氧化硅、铝、氧化铁和氧化镁等化合物,氧元素能够占到45%,因此有可能采用电解,将氧气提取出来。
但是,电解提取氧气需要巨大的能量,怎么在月球获得能量呢?欧洲宇航局有另外一项计划,研究能否在月球建设三个核反应堆,也许能派上用处。

文章

1、阿斯麦光刻机[10](英文)
光刻机是生产芯片的核心设备,最先进的芯片需要用到极紫外光刻机(EUV),世界上只有荷兰阿斯麦公司(ASML)能够生产。本文是一篇图片报道,介绍 ASML 公司的这台号称世界最复杂的机器。
2、图说如何制造 CPU[11](英文)
本文使用一系列图片,解释沙子是如何转变成计算机芯片的。
3、钉钉考勤作弊 APP 的法律争议[12](中文)
钉钉考勤作弊 APP 的作者,因为破坏计算机信息系统罪,一审判处有期徒刑五年六个月,二审改判四年。
但是,律师坚持认为其无罪,因为他的软件不触及钉钉程序本身,只是伪造了用户的地理位置,不属于“破坏”钉钉。用户使用该程序去打卡,该行为由用户负责,不是程序员的责任,但是法院不认同这种看法。本文是对律师的访问。
4、中国 Flash 游戏的兴衰[13](英文)
一个英文播客的逐字稿,来宾讨论中国 Flash 游戏业是怎么兴起的,回忆了当年的盛况。
5、如何设计网页的焦点样式[14](英文)
网页元素可以获得焦点,浏览器会显示以一个焦点样式(通常是一个框,参考上图),用户可以覆盖这个样式。本文讨论焦点样式应该怎么设计。
6、浏览器的 structuredClone() 方法[15](英文)
Firefox 浏览器开始原生提供 structuredClone() 方法,用于对象的深拷贝(deep clone)。
7、如何用 ssh-keygen 命令加密文件?[16](英文)
很少有人知道,ssh-keygen 命令除了生成密钥,还可以基于 SSH 密钥进行文件的加密/解密。
8、我如何配置 VS Code 开发环境[17](英文)
一篇长文,作者详细介绍自己怎么配置 VS Code 编辑器。

工具

1、Microdiff[18]
一个 JS 库,用来对两个对象进行 Diff 比较,判断它们有何不同,体积非常小,不到 1KB。
2、OCRmyPDF[19]
一个对图像 PDF 进行文字识别,并添加为文字层的命令行工具。安装中文语言包后,支持识别中文。
3、Codepng[20]
该网站将代码片段转为美观的图片,可以贴到社交媒体上面。
4、Repobeats[21]
这个工具可以在 GitHub 仓库的 README 文件里面,加入图形化的项目数据统计。
5、Plectica[22]
这个网站可以在线绘制知识图谱,还可以分享给其他人。(@xcuYao[23] 投稿)
6、ASCII 字符播放器[24]
一个网页演示,将视频转成 ASCII 字符的形式播放。播放时,注意把字体尺寸调小。
7、Jam[25]
这个开源软件可以搭建语音聊天室,供多人(最高达几千人)一起实时聊天,类似于 Clubhouse。
8、waveshare-epaper-display[26]
这个仓库提供所有代码,教你用树莓派和电子墨水屏,搭建一个天气时间信息的显示屏。
9、JavaScript 限制器[27]
这是一个浏览器插件,禁止网页脚本使用某些浏览器的 API,从而避免被追踪或生成用户指纹。
10、giscus[28]
一个基于 GitHub Discussions(讨论区) 的网站评论系统,可以插在自己的网页中,供用户发表评论。无需数据库,全部数据存在 GitHub 仓库的 Discussions 中。

资源

1、Python 迭代器详解[29](PDF)
一份英文的 PPT,浅显而详细地解释了 Python 的迭代器(Generator)是怎么回事。(@cheungfeifu[30] 投稿)
2、Ambient Chaos[31]
一个网页的背景音生成器,提供20多种声音,比如风声、雨声、火车站、教堂钟声等。每种都可以调节音量,还可以选择声音进行合成。
3、comp.lang.c FAQ[32]
免费的英文电子书,以问答形式介绍 C 语言的基本语法,都是作者早年在网上回答网友问题时写的。
4、“元宇宙” 网站
据说,下面三个是目前最具有“元宇宙”特征的网站。它们都允许用户拥有虚拟土地,在上面构建自己的世界,创造一种独特的体验。
沙盒[33]梦境空间[34]Decentraland[35]
5、2021 年显微摄影大赛[36]
一年一度的世界显微镜摄影大赛,这是今年的获奖作品,比如上图是霉菌的特写照片。
下面是其它一些今年摄影大赛的获奖结果。
2021年鸟类摄影比赛[37]2021年无人机摄影比赛[38]2021年海洋摄影比赛[39]

图片

1、全天星空图[40]
夜晚仰望星空,你只能看到一半的宇宙,北半球看不到南天星座,南半球看不到北半球的星座。
最近,两个摄影师合作,一个在北纬29度的加那利群岛天文台,另一个在南纬29度的智利欧洲南方天文台,同一个晚上拍下各自的星空。
他们使用软件,将两张照片缝合起来,形成了一张全天星空图。
建议访问官网提供的 360 度版本[41],感受一下,头顶是星空,脚底也是星空。
2、英国更改度量衡[42]
英国退出欧盟以后,开始将欧盟使用的国际度量衡,改回原本的英制度量衡,比如把公斤改成磅和盎司。
上图的标识牌中,原本写的是车辆限长12米,现在改为“40英尺”。
3、沙特的奇怪岩石[43]
沙特阿拉伯的沙漠之中,有一块叫做 Al Naslaa 的奇怪巨石。
那是一块巨大的砂岩,站立在很薄的基座上,保持着平衡。中间有一道非常笔直的裂缝,将巨石一分为二,好像有人用激光劈开一样。
地质学家也无法解释,它是怎么形成的。有人甚至说,这是外星人的杰作。
它就这样伫立了千万年,上面还有古人留下的岩画。

文摘

1、美国芯片工厂的问题[44]
最近,哈佛商学院 Willy Shih 教授接受了 The Verge 网站的采访。
主持人问,美国新建一家芯片工厂需要多长时间,多少钱?
Willy Shih 回答:
新建芯片工厂,首先必须建造建筑物,然后将所有设备搬进来,再进行清洁、检测、启动、投产。
在亚洲,一年之内可以建造好厂房,第二年搬入设备,年底前检测合格,工厂开始运行。
在美国或西方,这需要更长的时间,因为对待工厂的心态不同。公司必须完成各种法律许可、开完所有的听证会,以及办完其它手续,才能投产。美国芯片工厂的建造时间,可能需要三四年,更久也是很正常的。
现代最新技术的芯片工厂,最少也需要100亿美元的投资。如果要达到规模经济的产量,可能需要接近200亿美元的投资。你想一想,这么大金额的投资,每一年会带来多少折旧。
在亚洲,人们的心态是每拖延一个小时或一天,工程的成本就会增加数万、数十万、甚至数百万美元。有一次,我在圣诞节那天去亚洲,那里的人还拿着手提钻在施工和浇筑混凝土。他们的心态是“这件事每早一分钟完成,我们就可以早一分钟开始赚钱。” 我们在西方没有这种心态。

言论

1、
微世纪(microcentury)指的是一个世纪的百万分之一,相当于52分35.7秒。
差不多每过一个小时,你就度过了这个世纪的百万分之一。
-- 《微世纪到底有多长》[45]
2、
巴菲特每年会写一封股东信,解释过去一年的投资思路。据说,他的做法是先写给他的妹妹多萝西,写完后再把多萝西的名字替换为“股东”。
向大量读者写作的一个窍门,就是改成向一个熟人写作。
-- David Perell
3、
心理学家研究发现,人的记忆具有位置效应。当按顺序回忆一个序列时,我们对第一项和最后一项的记忆最好,对中间项目的记忆最差。
-- 维基百科[46]
4、
Facebook 的通信软件 Messager 有 50% 的语音消息来自柬埔寨。
那里几乎没人发文字消息,所有人都发语音消息,原因是高棉语有74个字母,是所有语言中字母最多的,手机键盘输入太不方便。
--《为什么柬埔寨人喜欢发语音消息》[47]
5、
无代码工具生成的代码总是更复杂,因为它包含了无代码开发环境 + 设计工具 + 解释器或运行时 + 集成器 + 实际生成的代码。如果出了问题,所有部分可能都需要排查。
无代码工具最好只用来生成原型产品。当你确切想清楚想要什么,再找程序员将它写出来,这样可能更快,有利于以后的升级和排查。
-- Hacker News 读者[48]

历史上的本周

2020年(第 135 期):什么行业适合创业?
2019年(第 83 期):技术解决不了人类的对立
2018年(第 32 期):砌砖头的三种角度

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/2092
[3]
 via: 
https://edition.cnn.com/style/article/sagrada-familia-star-installation-scli-intl/index.html
[4]
 小行星碰撞实验: 
https://www.cnbc.com/2021/11/23/spacex-launching-nasa-dart-spacecraft-to-crash-into-an-asteroid.html
[5]
 DNA 存储: 
http://news.xhby.net/index/202112/t20211201_7332191.shtml
[6]
 特斯拉哨子: 
https://shop.tesla.com/product/cyberwhistle
[7]
 城市涟漪: 
https://test.osogoo.com/article/a611b56e448d2144.html
[8]
 保存千年的塑料书: 
https://www.itsnicethat.com/articles/ki-saigon-letters-to-the-future-graphic-design-270921
[9]
 月球提取氧气: 
https://theconversation.com/the-moons-top-layer-alone-has-enough-oxygen-to-sustain-8-billion-people-for-100-000-years-170013
[10]
 阿斯麦光刻机: 
https://archive.md/TchSb
[11]
 图说如何制造 CPU: 
https://blog.robertelder.org/how-to-make-a-cpu/
[12]
 钉钉考勤作弊 APP 的法律争议: 
https://www.toutiao.com/a7028533764280500744/
[13]
 中国 Flash 游戏的兴衰: 
https://chaoyang.substack.com/p/gold-miner-swf
[14]
 如何设计网页的焦点样式: 
https://www.sarasoueidan.com/blog/focus-indicators/
[15]
 浏览器的 structuredClone() 方法: 
https://developer.mozilla.org/en-US/docs/Web/API/structuredClone
[16]
 如何用 ssh-keygen 命令加密文件?: 
https://www.agwa.name/blog/post/ssh_signatures
[17]
 我如何配置 VS Code 开发环境: 
https://pawelcislo.com/2021/11/14/my-vs-code-playground/
[18]
 Microdiff: 
https://github.com/AsyncBanana/microdiff
[19]
 OCRmyPDF: 
https://ocrmypdf.readthedocs.io/en/latest/index.html
[20]
 Codepng: 
https://www.codepng.app/
[21]
 Repobeats: 
https://repobeats.axiom.co/
[22]
 Plectica: 
https://www.plectica.com/
[23]
 @xcuYao: 
https://github.com/ruanyf/weekly/issues/2086
[24]
 ASCII 字符播放器: 
https://pessimistress.github.io/ascii/
[25]
 Jam: 
https://github.com/jam-systems/jam
[26]
 waveshare-epaper-display: 
https://github.com/mendhak/waveshare-epaper-display
[27]
 JavaScript 限制器: 
https://polcak.github.io/jsrestrictor/
[28]
 giscus: 
https://giscus.app/
[29]
 Python 迭代器详解: 
http://www.dabeaz.com/generators/Generators.pdf
[30]
 @cheungfeifu: 
https://github.com/ruanyf/weekly/issues/2090
[31]
 Ambient Chaos: 
https://neal.fun/ambient-chaos/
[32]
 comp.lang.c FAQ: 
http://c-faq.com/
[33]
 沙盒: 
https://www.sandbox.game/cn/
[34]
 梦境空间: 
https://somniumspace.com/
[35]
 Decentraland: 
https://decentraland.org/
[36]
 2021 年显微摄影大赛: 
https://www.nikonsmallworld.com/galleries/2021-photomicrography-competition/microfluidic-device-containing-300k-networking-neurons-in-2-isolated-populations
[37]
 2021年鸟类摄影比赛: 
https://www.birdpoty.com/2021-winners
[38]
 2021年无人机摄影比赛: 
https://droneawards.photo/gallery/2021
[39]
 2021年海洋摄影比赛: 
https://www.theguardian.com/environment/gallery/2021/sep/20/ocean-photographer-of-the-year-2021-winners-in-pictures
[40]
 全天星空图: 
https://www.eso.org/public/images/potw2137a/
[41]
 360 度版本: 
https://www.eso.org/public/images/potw2137b/
[42]
 英国更改度量衡: 
https://www.nytimes.com/2021/09/17/world/europe/imperial-measurements-pounds-ounces-return.html
[43]
 沙特的奇怪岩石: 
https://www.science101.com/a1-naslaa-rock-formation/
[44]
 美国芯片工厂的问题: 
https://www.theverge.com/2021/8/31/22648372/willy-shih-chip-shortage-tsmc-samsung-ps5-decoder-interview
[45]
 《微世纪到底有多长》: 
https://susam.in/blog/microcentury.html
[46]
 维基百科: 
https://en.wikipedia.org/wiki/Serial-position_effect
[47]
 《为什么柬埔寨人喜欢发语音消息》: 
https://restofworld.org/2021/facebook-didnt-know-why-half-of-messengers-voice-traffic-comes-from-cambodia-heres-why/
[48]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=29191068
继续阅读
阅读原文