这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图
西班牙巴塞罗那的圣家堂大教堂,本周在尖塔顶端安装了一颗12角玻璃星,将在新年前夕被聚光灯照亮。这座建筑是联合国世界遗产,已经造了130多年,估计还要好几年才能土建完工。(via)
本周话题:低纬度,高海拔,气候优势
上个月,我在四川旅行。离开成都以后,一路向南,就到了攀枝花。
那是一个很奇特的地方,气候与周边截然不同。
从成都开始,就一直是阴天,但到了攀枝花,天天都是阳光明媚的大晴天。而且很暖和,当时已经是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、小行星碰撞实验
11月24日,美国宇航局发射了一艘飞船,飞向一颗直径170米的小行星,计划于明年9月下旬与后者相撞。这将是人类历史上第一次小行星碰撞实验。
这颗小行星属于双子星,它本身围绕另一颗较大的小行星公转。这次碰撞预计将让小行星的公转速度每秒增加半毫米,从而让公转的时间减少约10分钟,这个差异将能够从地球上观测到。
上图中,白线是小行星的公转轨道,黄线是飞船的轨道,两者会相撞。美国宇航局希望通过这个实验,为人为改变小行星轨道积累经验,以防未来有小行星撞上地球。
2、DNA 存储
东南大学团队成功将校训"止于至善",写入一段 DNA,然后又从 DNA 上读取出来,实现了 DNA 存储技术的新突破。
DNA 的基本组成单位是四种碱基(上图的 A、G、C、T),总是组成两种碱基对 A-T 和 C-G,那么只要将碱基对映射成0和1,再将排列好的碱基对写入 DNA 序列,就实现了信息的 DNA 存储。
目前,DNA 存储的读写还需要液体试剂,东南大学团队的下一步目标是,实现全固体的 DNA 存储读写。
3、特斯拉哨子
特斯拉公司本周发布了一款不锈钢哨子,定价50美元。官网挂出后,几分钟就一抢而光。这款哨子没有任何特殊用途,材质和形状类似特斯拉即将发售的皮卡 Cybertruck,官网说明是"限量收藏品"。
CEO 马斯克发推说:"别买那块愚蠢的苹果布,买我们的哨子!"。苹果公司最近推出的擦拭显示器的布,定价145元人民币。
4、城市涟漪
广州的一个商场外围,打造了一圈名为"城市涟漪"的公共空间,包含儿童乐园、篮球场、步道、休息座位等。
整个空间由一个个几何水波纹元素组成,并带有形似河流的条纹,采用鲜艳的色彩搭配,吸引路人的眼球。
5、保存千年的塑料书
塑料是一种不环保材料,1000年也不会降解。为了提醒人们这一点,越南的一家设计公司收集了各种塑料垃圾,包括泡沫塑料盒、塑料袋、塑料板等,然后邀请家人和朋友向一千年后的人们写信。他们把这些信件印上了塑料,再做成一本书。
书名叫做《致未来》,理论上可以保存千年不会坏,塑料垃圾就是可以留存这么久。
6、月球提取氧气
澳大利亚航天局启动了一项计划,研究能否从月球取回的岩石里面提取氧气,供将来登陆月球的宇航员使用。
月球表面是一层风化的岩石,跟地球的成分类似,主要包含了二氧化硅、铝、氧化铁和氧化镁等化合物,氧元素能够占到45%,因此有可能采用电解,将氧气提取出来。
但是,电解提取氧气需要巨大的能量,怎么在月球获得能量呢?欧洲宇航局有另外一项计划,研究能否在月球建设三个核反应堆,也许能派上用处。
文章
1、阿斯麦光刻机(英文)
光刻机是生产芯片的核心设备,最先进的芯片需要用到极紫外光刻机(EUV),世界上只有荷兰阿斯麦公司(ASML)能够生产。本文是一篇图片报道,介绍 ASML 公司的这台号称世界最复杂的机器。
2、图说如何制造 CPU(英文)
本文使用一系列图片,解释沙子是如何转变成计算机芯片的。
3、钉钉考勤作弊 APP 的法律争议(中文)
钉钉考勤作弊 APP 的作者,因为破坏计算机信息系统罪,一审判处有期徒刑五年六个月,二审改判四年。
但是,律师坚持认为其无罪,因为他的软件不触及钉钉程序本身,只是伪造了用户的地理位置,不属于"破坏"钉钉。用户使用该程序去打卡,该行为由用户负责,不是程序员的责任,但是法院不认同这种看法。本文是对律师的访问。
4、中国 Flash 游戏的兴衰(英文)
一个英文播客的逐字稿,来宾讨论中国 Flash 游戏业是怎么兴起的,回忆了当年的盛况。
5、如何设计网页的焦点样式(英文)
网页元素可以获得焦点,浏览器会显示以一个焦点样式(通常是一个框,参考上图),用户可以覆盖这个样式。本文讨论焦点样式应该怎么设计。
6、浏览器的 structuredClone() 方法(英文)
Firefox 浏览器开始原生提供 structuredClone() 方法,用于对象的深拷贝(deep clone)。
7、如何用 ssh-keygen 命令加密文件?(英文)
很少有人知道,ssh-keygen 命令除了生成密钥,还可以基于 SSH 密钥进行文件的加密/解密。
8、我如何配置 VS Code 开发环境(英文)
一篇长文,作者详细介绍自己怎么配置 VS Code 编辑器。
工具
一个 JS 库,用来对两个对象进行 Diff 比较,判断它们有何不同,体积非常小,不到 1KB。
2、OCRmyPDF
一个对图像 PDF 进行文字识别,并添加为文字层的命令行工具。安装中文语言包后,支持识别中文。
3、Codepng
该网站将代码片段转为美观的图片,可以贴到社交媒体上面。
这个工具可以在 GitHub 仓库的 README 文件里面,加入图形化的项目数据统计。
5、Plectica
这个网站可以在线绘制知识图谱,还可以分享给其他人。(@xcuYao 投稿)
一个网页演示,将视频转成 ASCII 字符的形式播放。播放时,注意把字体尺寸调小。
7、Jam
这个开源软件可以搭建语音聊天室,供多人(最高达几千人)一起实时聊天,类似于 Clubhouse。
这个仓库提供所有代码,教你用树莓派和电子墨水屏,搭建一个天气时间信息的显示屏。
这是一个浏览器插件,禁止网页脚本使用某些浏览器的 API,从而避免被追踪或生成用户指纹。
10、giscus
一个基于 GitHub Discussions(讨论区) 的网站评论系统,可以插在自己的网页中,供用户发表评论。无需数据库,全部数据存在 GitHub 仓库的 Discussions 中。
资源
1、Python 迭代器详解(PDF)
一份英文的 PPT,浅显而详细地解释了 Python 的迭代器(Generator)是怎么回事。(@cheungfeifu 投稿)
一个网页的背景音生成器,提供20多种声音,比如风声、雨声、火车站、教堂钟声等。每种都可以调节音量,还可以选择声音进行合成。
免费的英文电子书,以问答形式介绍 C 语言的基本语法,都是作者早年在网上回答网友问题时写的。
4、"元宇宙" 网站
据说,下面三个是目前最具有"元宇宙"特征的网站。它们都允许用户拥有虚拟土地,在上面构建自己的世界,创造一种独特的体验。
一年一度的世界显微镜摄影大赛,这是今年的获奖作品,比如上图是霉菌的特写照片。
下面是其它一些今年摄影大赛的获奖结果。
图片
1、全天星空图
夜晚仰望星空,你只能看到一半的宇宙,北半球看不到南天星座,南半球看不到北半球的星座。
最近,两个摄影师合作,一个在北纬29度的加那利群岛天文台,另一个在南纬29度的智利欧洲南方天文台,同一个晚上拍下各自的星空。
他们使用软件,将两张照片缝合起来,形成了一张全天星空图。
建议访问官网提供的 360 度版本,感受一下,头顶是星空,脚底也是星空。
2、英国更改度量衡
英国退出欧盟以后,开始将欧盟使用的国际度量衡,改回原本的英制度量衡,比如把公斤改成磅和盎司。
上图的标识牌中,原本写的是车辆限长12米,现在改为"40英尺"。
3、沙特的奇怪岩石
沙特阿拉伯的沙漠之中,有一块叫做 Al Naslaa 的奇怪巨石。
那是一块巨大的砂岩,站立在很薄的基座上,保持着平衡。中间有一道非常笔直的裂缝,将巨石一分为二,好像有人用激光劈开一样。
地质学家也无法解释,它是怎么形成的。有人甚至说,这是外星人的杰作。
它就这样伫立了千万年,上面还有古人留下的岩画。
文摘
最近,哈佛商学院 Willy Shih 教授接受了 The Verge 网站的采访。
主持人问,美国新建一家芯片工厂需要多长时间,多少钱?
Willy Shih 回答:
新建芯片工厂,首先必须建造建筑物,然后将所有设备搬进来,再进行清洁、检测、启动、投产。
在亚洲,一年之内可以建造好厂房,第二年搬入设备,年底前检测合格,工厂开始运行。
在美国或西方,这需要更长的时间,因为对待工厂的心态不同。公司必须完成各种法律许可、开完所有的听证会,以及办完其它手续,才能投产。美国芯片工厂的建造时间,可能需要三四年,更久也是很正常的。
现代最新技术的芯片工厂,最少也需要100亿美元的投资。如果要达到规模经济的产量,可能需要接近200亿美元的投资。你想一想,这么大金额的投资,每一年会带来多少折旧。
在亚洲,人们的心态是每拖延一个小时或一天,工程的成本就会增加数万、数十万、甚至数百万美元。有一次,我在圣诞节那天去亚洲,那里的人还拿着手提钻在施工和浇筑混凝土。他们的心态是"这件事每早一分钟完成,我们就可以早一分钟开始赚钱。" 我们在西方没有这种心态。
言论
1、
微世纪(microcentury)指的是一个世纪的百万分之一,相当于52分35.7秒。
差不多每过一个小时,你就度过了这个世纪的百万分之一。
-- 《微世纪到底有多长》
2、
巴菲特每年会写一封股东信,解释过去一年的投资思路。据说,他的做法是先写给他的妹妹多萝西,写完后再把多萝西的名字替换为"股东"。
向大量读者写作的一个窍门,就是改成向一个熟人写作。
-- David Perell
3、
心理学家研究发现,人的记忆具有位置效应。当按顺序回忆一个序列时,我们对第一项和最后一项的记忆最好,对中间项目的记忆最差。
-- 维基百科
4、
Facebook 的通信软件 Messager 有 50% 的语音消息来自柬埔寨。
那里几乎没人发文字消息,所有人都发语音消息,原因是高棉语有74个字母,是所有语言中字母最多的,手机键盘输入太不方便。
5、
无代码工具生成的代码总是更复杂,因为它包含了无代码开发环境 + 设计工具 + 解释器或运行时 + 集成器 + 实际生成的代码。如果出了问题,所有部分可能都需要排查。
无代码工具最好只用来生成原型产品。当你确切想清楚想要什么,再找程序员将它写出来,这样可能更快,有利于以后的升级和排查。
历史上的本周
2020年(第 135 期):什么行业适合创业?
2019年(第 83 期):技术解决不了人类的对立
2018年(第 32 期):砌砖头的三种角度
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索"阮一峰的网络日志"或者扫描二维码,即可订阅。
(完)