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

封面图

太原市建成国内首座全透明气膜体育馆。白天,自然光作为照明;夜晚,原有场地照明灯直接成为室内光源,抬头即可看到夜空。(via[3]

本周话题:微增长时代

中国经济高速增长了40年,我们每个人都受益。但是接下来,可能不会增长这么快了。
我最近读到一篇微信公号的文章,很赞同它的观点,忍不住想分享给大家。文章的大意是,中国经济的微增长时代已经到来。下面就是他的推理逻辑,大家看看是不是这么一回事。
经济最终是靠消费带动,而最终消费的动力主要来自三点:
1、孩子;

2、年轻的女人;

3、技术的更新迭代。
作者认为,最强的消费动力就是上面三个来源,但是它们都在消失。首先,中国的人口已经不增长了,新生儿越来越少,2020年新生儿数量[4]是几十年来最低的。
其次,以互联网 + 无线通信为代表的新技术,对消费的推动也到头了。
“现在互联网技术风口耗尽了,互联网大厂连菜贩子的生意都抢,大部分行业跟餐饮业一样,一片红海。十家创业九家赔,跟炒股似的,创业机会明显变少,大家对贷款的需求也就不那么大了,慢慢也就不敢去创业了。”
一旦消费无法带动经济增长,就是欧洲和日本现在的样子。
“欧洲和日本的状态差不多,大家消费欲望很低,生孩子欲望也不行,创业冲动也就那样,毕竟大家都不花钱,你创业产品卖给谁?”
政府为了刺激经济,发了很多货币,这些钱都集中到富人手里。
……富人拿去买房、买资产、买股票什么的,并没有通过做买卖发到基层老百姓手里,所以大家能看到股市、房地产持续走高,超市里的东西价格变化却没那么大。
去年不知道从哪出来一句话,“富人通胀,穷人通缩”,说的就是这事。
富豪阶层有大量的钱投资不出去,只好去追那些少数优质资产,最后把那些资产追成了天价。
股市看着形势一片大好,可是在很多人看来,几乎遭受了一波股灾,因为只有少数头部公司一直在上涨,剩下的公司不但没涨,还在一直跌,因为这些股票的筹码也被抽出来投入到头部公司去了。
这就是微增长时代的后果:贫富分化越来越大,股价分化越来越大,行业的分化也越来越大。
明显,只有几个行业保持迅速增长,其他行业会陷入长期的缓慢增长,甚至干脆停了。现在其实很多行业的从业者,已经感受到了行业停止增长后的效果,比如很多行业的工资也是十年不涨,但是互联网的巨头工资却屡创新高。
这就是现实,一方面,整体经济的增长速度放慢;另一方面,出现了前所未有的两极分化。 作者提出了两个应对方法:第一,尽量减缓人口减少;第二,寻找新的技术突破,创造新的经济增长点,保证就业和刺激消费。
人口趋势恐怕很难改变,但是,技术突破是可以追踪的,这也是我做这个周刊的一个目的, 尽可能追踪和理解新技术,丰富自己的技能,寻找新的机会,避免被微增长时代埋葬,做一个未来世界的幸存者[5]

Vue.js + Element UI 实战

学习前端的同学,实事求是地说,大部分都是就业导向,希望早日出成果,找到好的工作。
前端开发也确实有一套成熟的做法,可以快速形成生产力。使用“全家桶”,一般的原型大概一两天就能做出来。所谓“全家桶”,就是以底层框架为中心的一整套工具链,常见场景都有现成的解决方案,程序员只要按照文档调用即可。
目前,实务最常用的 Vue 全家桶,就是 Vue 框架 + Element UI 组件库[6]。这个组件库封装了最常用的页面组件,只要一行代码就能加入组件,快速产出原型页面,实用性极强。对于初学者来说,该组合可能是最快的学习途径,开发效率高,容易产生成就感,激发学习兴趣。
本周的课程资料就是 《Vue + Element UI 管理平台开发》 ,教大家学会使用 Vue.js + Element UI,快速开发一个管理后台。
课程内容包括,从零开始搭建页面和路由,根据设计稿加入 Element 组件,然后编写业务逻辑,组成一个个模块,完成一个初步的、但可用的管理后台。
该课程由金渡教育[7]提供,他们是腾讯课堂大V机构,专门培养中高端的 IT 技术人才。本次由创始人亲自授课,理论和实战都会涉及,同时还会讲解大厂的前端面试技巧及高频面试点。
课程原价299元,现在有99个免费学习名额。微信扫描下面二维码,添加小助理,加入学习群,就可获得讲课视频和源码。

科技动态

1、火星样本[8]
2月18日,美国毅力号探测车登陆火星。它的任务是取出火星的土壤样本,但是要等到2031年,这些样本才会送到地球,这是为什么?
原因是整个过程在技术上非常复杂,分成好几个阶段:
(1)毅力号采集样本后,会存放在一个个金属罐里,罐子留在原地,自己继续执行探测任务,它的核动力系统可以维持漫游10年以上。
(2)2026年,另一辆漫游车登陆火星,将样本罐一一取回,装到一个安全容器里,再从火星发射一个小火箭,把样本容器放到火星轨道上。
(3)地球派出一艘货运飞船,负责把样本容器带回地球,估计时间是2031年。
2、火星降落伞[9]
毅力号火星探测车的降落伞是特别设计的,内嵌了信息编码,可以用于摄像机校准。
橙色条纹为1,白色条纹为0,七个条纹为一组,对应的英语字母为“DARE MIGHTY THINGS”(挑战不可思议的事情)。这是研发单位“美国宇航局喷气推进实验室”(JPL) 刻在墙上的格言。另外,降落伞的最外圈为 JPL 的坐标。
上海闵行区新设了45个智能停车位,配有智能地锁,不需要人员看管。车辆停入7分钟以后,地面会自动升起一个金属桩,最高可到30厘米,车主只有扫描二维码支付停车费以后,金属桩才会降下。如果强行开动,会造成车辆底盘损坏。
停车位还配有摄像头,能够识别车牌号码,可以随时上网查询停车状态和费用情况。车主们对这种停车方式还不适应,许多人不知道怎么操作,意见最大的一点是,付费后不能立刻把车开走,因为金属桩的降下需要一两分钟,如果忘了这点,很容易造成底盘刮擦。
4、波浪发电装置[10]
澳大利亚塔斯马尼亚岛正在测试一个波浪发电装置。这个装置漂浮在海上,水下面对波浪的一面是敞开的。水涌入舱室时,会推动空气向上升,从而带动发电机发电。发明人形容,“它的结构很像人造的气孔,推动空气往复运动,使涡轮旋转并产生电能的空气运动。”
澳大利亚南部海域的风力非常强,波浪发电的潜力很大。这个装置的功率为 200kW,但是计划生产更大的 1,000kW 的型号。澳大利亚政府估计,到2050年,波浪发电可能占全国发电的11%,相当于墨尔本的用电量。
5、斑马条纹的作用[11]
大部分科学家认为,斑马进化出条纹,是为了避免蚊虫叮咬。条纹使得蚊虫感到眩晕,无法停在皮肤上。美国加州大学戴维斯分校为了证实这个假说,做了一个实验,同时找了马和斑马,让马穿上条纹外套,看看蚊虫能不能区分。
结果发现,马和斑马都吸引了相同数量的蚊虫,但是一旦靠近,蚊虫就倾向于飞过穿了条纹外套的马,马被叮咬的次数减少了十倍。这证实了斑马的外观确实有助于减少叮咬。
6、 一句话消息
国内无人机厂商亿航[12]在广东和北京开始载人试航(视频[13])。不过,这个飞行器很可能飞不了多远,而且是遥控的,不免让人担心,如果通讯断了或信号被劫持怎么办。
一个 Youtube 用户[14]披露,他的国际象棋频道被封,理由是“内容有害”,但是国际象棋怎么可能有害呢?后来,他明白了,因为视频标题总是出现 black(黑方)和 white(白方),被算法识别为种族仇恨内容。
日本[15]培育出一种可以连皮一起吃的香蕉,每根售价高达1080日元,约合66元人民币。为了改善香蕉皮的口感,这种香蕉的含糖量是普通香蕉的1.5倍。
俄罗斯西伯利亚[16]由于冻土层解冻,地下的大量沼气开始释放,引发爆炸,形成许多巨大的地洞。
伦敦玛丽女王大学[17]发表了一份不可思议的研究报告,向人体发射无线电信号,通过反射回来的信号形态,可以判断这个人的情绪状态。研究人员发现,人在不同情绪状态下,反射的无线电电波形态是不一样的。

文章

1、在北极挖比特币(中文)
一家名为 BitCluster 的俄国公司,建立了世界上第一个位于北极圈内的比特币矿场。那里电费便宜,而且气温有助于散热。本文使用大量图片,介绍这个矿场的情况。
2、实体的元素周期表[18](中文)
淘宝有出售高纯度的金属元素立方体,一个台湾网友就买来做了实体的元素周期表。
3、esbuild 为什么这么快?[19](英文)
esbuild 是新一代的 JavaScript 打包工具,以速度快著称,耗时只有 Webpack 的2%~3%。本文是该软件的作者谈它为什么这么快。
4、常见的 Nginx 不安全配置[20](英文)
Nginx 是最常见的 Web 服务器,本文介绍四个常见的配置错误,会降低网站的安全性。
5、我作为独立开发者的第三年[21](英文)
作者辞职作为独立开发者,头两年的总收入不到1万美元,第三年的目标是2万美元。但是一天他偶然在网上发了一个帖子,讲述自己用树莓派做了一个服务器管理设备(上图),居然为他带来了6.3万美元的收入,而且还可以成立公司。
6、OpenJDK 是如何移植到64位 ARM 架构的?[22](英文)
这篇是回忆文章。2011年,ARM 公司准备推出64位的 CPU,用于服务器,应用软件需要跟上,但是当时 OpenJDK 只能在 x86 架构运行。作者在 RedHat 和 Oracle 公司的支持下,开始从事将 OpenJDK 移植到 AArch64 架构的工作,一开始非常困难,因为硬件还没生产出来,只能在虚拟机上模拟开发。
7、origin 与 site 的区别[23](英文)
浏览器有一个“同源政策”(same origin policy),Cookie 设置有一个“同站属性”(SameSite)。这篇文章介绍了 origin 和 site 的区别是什么。
8、使用服务器事件向前端发送日志[24](英文)
服务器事件(SSE)是服务器向前端发送消息的一种方法,本文介绍了它的概念,然后给出了一个实例,通过服务器事件向浏览器发送服务器日志。
9、什么是霍夫曼编码?[25](英文)
霍夫曼编码是经典的压缩算法,GZIP[26] 就使用它。本文是我见过最简单的解释,可以在五分钟内理解这个算法的实现原理。

工具

1、GitHub Skyline[27]
GitHub 官方出品,将你过去一年的提交统计转成一个三维的直方图,并且提供 stl 文件下载,进行 3D 打印。
2、Stockfish 12[28]
开源的国际象棋引擎,号称比人类的世界冠军还要强大。官方提供 Mac App 下载,并且有许多其他操作系统的第三方 App。
3、Ray.so[29]
这个网站可以生成漂亮的代码截图,颜色、阴影、背景都可以调整。
4、Cockpit[30]
Linux 服务器的 Web 控制台。
5、Finger Pool[31]
开源的 2D 网页桌球游戏,撞击效果做得很好。
6、UTM[32]
MacOS 的虚拟机应用,可以很轻松地在苹果电脑上运行 Windows 和 Linux,属于 qemu 的 UI 封装,另有 iOS 的虚拟机[33],在 iPhone 和 iPad 上运行 Windows。
7、Deep Nostalgia[34]
这个在线服务,只要上传一张老照片(需要免费注册),就能将里面的人物转成一段短视频,不仅提高了分辨率,而且有着各种脸部表情。(@dbazhihui[35] 投稿)
8、嘎 RSS![36]
使用免费的 GitHub Actions,定时抓取一系列 RSS 源,生成一个页面,还支持邮件通知。(@zhaoolee[37] 投稿)
9、text-to-video[38]
这个小工具可以把文章转成视频,文字显示在黑底的图片,同时自动生成语音,详细可以作者的介绍文章[39]。(@leoython[40] 投稿)
10、Bing Wallpaper[41]
这个项目使用 GitHub Actions,收集 Bing 搜索引擎每天的壁纸,提供下载,详见这篇说明文章[42]。(@niumoo[43] 投稿)

资源

1、Python 初学者教程[44](100 Page Python Intro)
一个面向初学者的 Python 英文教程,免费在线阅读,打印出来长度100页左右。
2、10万亿像素的夜空[45]
全球多个天文台合作,经过6年的1405个夜晚的观测,将天文望远镜拍摄到的照片,合并成一张10万亿像素的图片,包含超过十亿个星系,覆盖整个天空的三分之一。这里就是这张巨型图片的在线浏览,另有介绍文章[46]
3、Frinkiac[47]
这个网站收集了300万张动画片《辛普森一家》的截图,可以按照主题搜索。类似的网站还有 Futurama 的图片搜索[48]
4、计算机网络:系统方法[49]
《计算机网络:系统方法》(Computer Networks: A Systems Approach)一书的在线阅读。
5、故宫博物院藏品总目[50]
故宫博物院官方的藏品目录,共收入180多万件,可以在线搜索,部分藏品带有彩色照片和文字介绍。
6、React 资源库搜索[51]
这个网站收集各种 React 相关的开源库,按照用途进行分类,相关的还有 Vue.js 资源库搜索[52]。(@ctolib[53] 投稿)

图片

1、茗山寺[54]
茗山寺位于四川省安岳县的虎头山巅,60多座北宋时期的佛像,雕刻于绝壁之上。
一千年的风沙,都留在了佛像上。
2、LackRack[55]
宜家商场出售的 LackRack 小桌子,长 x 宽 x 高为 55cm x 55cm x 45cm。
由于它跟19寸服务器的大小很适配,常常被程序员用作简易机柜。
它还可以多个组合在一起。
不用的时候,它可以多个叠在一起节省空间。
它在中国的售价是每个39元人民币。

文摘

1、被导弹击中的感觉[56]
1999年塞尔维亚战争时,我在美国空军服役,驾驶 F-117 隐形战斗机。
我的任务是深入塞尔维亚境内,炸毁一些严密防御的目标。我知道这会造成伤亡,但是我无法考虑这种事情。我试图将目标视为混凝土和钢铁,不带有个人情感和人为因素,那是我的生存机制。
战争的第一天晚上,我有两个目标,两个都被击中。
第三天晚上,我也有飞行任务,也很成功。
第四天晚上,我的目标是轰炸清单上的首要目标。整条飞行路线上布满了热追踪导弹、雷达制导导弹、高射炮等各种令人讨厌的防御武器。
F-117 隐形战斗机并不能做到完全隐形,只是使飞机更难被发现。起飞后,进入塞尔维亚领空之前,我关掉灯,收起天线,然后关掉收音机和应答器,以及任何可能暴露我位置的无线电发射装置。
那天晚上,我成功地击中目标,然后开始返回意大利基地。突然,我发现两枚 SA3 导弹窜出云层,在它们靠近我之前根本没有察觉。
导弹以三倍音速的速度向我飞来,因此没有时间做出反应。第一枚导弹就要击中之前,我闭上眼睛,转过头,期待着撞击。我知道会有火球,但是导弹擦过战斗机,在我的身旁爆炸,我感受到了剧烈振动。我睁开眼睛,第二枚导弹迎面而来。一阵震天的巨响,巨大的光与热吞没了我的飞机,炸毁了左机翼,将飞机卷成一团。
我竭尽全力按下弹射手柄,当时只有一个念头:这真的、真的、真的太糟糕了。然后,我的身体从座椅上朝天篷弹射了出去。
从按下弹射手柄的那一刻起,到降落伞完全膨胀打开,花了1.5秒。在空中,我与空军搜索队进行了无线电联系。我落地后,看到了我的飞机坠毁在农田中,离我有一英里。
塞尔维亚人立即向该地区蜂拥而来,有一次他们离我躲藏的地点只隔了两道农田的灌溉沟,只有几百码。八个小时后,一架美国直升机来接我。我稍后发现,只要再晚几分钟,我就会被捕。

言论

1、
SVG 是一个非常臃肿的文件格式,规格文档厚达826页。如果要正确渲染所有 SVG 文件,还需要考虑另外20页的 XLink 规范。此外,SVG 支持 CSS 样式和 JAVASCRIPT 脚本。是的,SVG 文件可以包含<script>标签。
-- 《SVG:优点,缺点和丑陋之处》[57]
2、
根据我的计算,地球上的新冠病毒大约有20万亿个。每个病毒的半径假设为50纳米,那么体积为523,000立方纳米。如果把它们放在一起,所有的新冠病毒仍然无法填满一个易拉罐。
-- 《世界上所有的新冠病毒可以装进一罐可乐》[58]
3、
知识的诅咒(Curse of knowledge)是一种认知偏差,指的是与他人交流时,你不知不觉地假设对方拥有跟你相似的认知,能够理解你的意思。
-- 维基百科[59]
4、
如果构建一个系统需要花费大量时间,那么理解它也将花费大量时间。
-- 《导航大型代码库》[60]
5、
智能电视曾经是高端电视机的代名词。由于面板成本和嵌入式计算成本的大幅度降低,以及Google 等公司提供的现成的系统平台,使得“智能电视”这个名词变得无关紧要。你今天能买到的几乎每台电视都是智能电视。
-- 《捍卫无智能的电视机》[61]

历史上的本周

2020年(第 97 期):那些为了考试拼搏的年轻人2019年(第 45 期):阿西莫夫回忆录《人生舞台》

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/1652
[3]
 via: 
http://www.tynews.com.cn/system/2021/01/31/030302700.shtml
[4]
 新生儿数量: 
https://www.sohu.com/a/449654010_161795
[5]
 未来世界的幸存者: 
http://www.ruanyifeng.com/survivor/
[6]
 Element UI 组件库: 
https://element.eleme.cn/#/zh-CN
[7]
 金渡教育: 
https://jindu.ke.qq.com/
[8]
 火星样本: 
https://www.bbc.com/zhongwen/simp/science-56113297
[9]
 火星降落伞: 
https://github.com/tanyafish/parachute
[10]
 波浪发电装置: 
https://www.theguardian.com/australia-news/2021/feb/02/remote-tasmanian-island-to-be-powered-by-blowhole-energy-that-harnesses-waves
[11]
 斑马条纹的作用: 
https://www.zmescience.com/ecology/animals-ecology/how-zebra-stripes-insects-04232/
[12]
 国内无人机厂商亿航: 
https://space.bilibili.com/353270645
[13]
 视频: 
https://v.qq.com/x/page/y3230nidmtp.html
[14]
 一个 Youtube 用户: 
https://www.news18.com/news/buzz/youtube-ai-blocked-chess-channel-after-confusing-black-and-white-for-racist-slurs-3454316.html
[15]
 日本: 
https://news.mydrivers.com/1/741/741993.htm
[16]
 俄罗斯西伯利亚: 
https://siberiantimes.com/other/others/news/scientists-call-for-urgent-increase-in-monitoring-potentially-explosive-permafrost-heave-mounds/
[17]
 伦敦玛丽女王大学: 
https://venturebeat.com/2021/02/13/thought-detection-ai-has-infiltrated-our-last-bastion-of-privacy/
[18]
 实体的元素周期表: 
https://www.mobile01.com/topicdetail.php?f=181&t=6304317
[19]
 esbuild 为什么这么快?: 
https://esbuild.github.io/faq/#why-is-esbuild-fast
[20]
 常见的 Nginx 不安全配置: 
https://blog.detectify.com/2020/11/10/common-nginx-misconfigurations/
[21]
 我作为独立开发者的第三年: 
https://mtlynch.io/solo-developer-year-3/
[22]
 OpenJDK 是如何移植到64位 ARM 架构的?: 
https://developers.redhat.com/blog/2021/02/01/how-red-hat-ported-openjdk-to-64-bit-arm-a-community-history/
[23]
 origin 与 site 的区别: 
https://jub0bs.com/posts/2021-01-29-great-samesite-confusion/
[24]
 使用服务器事件向前端发送日志: 
https://amittallapragada.github.io/docker/fastapi/python/2020/12/23/server-side-events.html
[25]
 什么是霍夫曼编码?: 
https://www.baseclass.io/huffman-coding/
[26]
 GZIP: 
https://jvns.ca/blog/2015/02/22/how-gzip-uses-huffman-coding/
[27]
 GitHub Skyline: 
https://skyline.github.com/
[28]
 Stockfish 12: 
https://stockfishchess.org/
[29]
 Ray.so: 
https://ray.so/
[30]
 Cockpit: 
https://cockpit-project.org/
[31]
 Finger Pool: 
https://github.com/victorqribeiro/fingerPool
[32]
 UTM: 
https://mac.getutm.app/
[33]
 iOS 的虚拟机: 
https://github.com/utmapp/UTM
[34]
 Deep Nostalgia: 
https://www.myheritage.com/deep-nostalgia
[35]
 @dbazhihui: 
https://github.com/ruanyf/weekly/issues/1662
[36]
 嘎 RSS!: 
https://github.com/zhaoolee/garss
[37]
 @zhaoolee: 
https://github.com/ruanyf/weekly/issues/1649
[38]
 text-to-video: 
https://github.com/leoython/text-to-video
[39]
 作者的介绍文章: 
https://zhuanlan.zhihu.com/p/353515449
[40]
 @leoython: 
https://github.com/ruanyf/weekly/issues/1653
[41]
 Bing Wallpaper: 
https://github.com/niumoo/bing-wallpaper
[42]
 这篇说明文章: 
https://www.wdbyte.com/2021/03/bing-wallpaper-github-action/
[43]
 @niumoo: 
https://github.com/ruanyf/weekly/issues/1656
[44]
 Python 初学者教程: 
https://learnbyexample.github.io/100_page_python_intro/introduction.html
[45]
 10万亿像素的夜空: 
https://viewer.legacysurvey.org/#IC%202800
[46]
 介绍文章: 
https://kottke.org/21/02/10-terapixel-image-of-the-night-sky
[47]
 Frinkiac: 
https://frinkiac.com/
[48]
 Futurama 的图片搜索: 
https://morbotron.com/
[49]
 计算机网络:系统方法: 
https://book.systemsapproach.org/
[50]
 故宫博物院藏品总目: 
https://zm-digicol.dpm.org.cn/
[51]
 React 资源库搜索: 
https://bestofreactjs.com/search
[52]
 Vue.js 资源库搜索: 
https://bestofvue.com/search
[53]
 @ctolib: 
https://github.com/ruanyf/weekly/issues/1658
[54]
 茗山寺: 
https://weibo.com/1239344585/JB8NBmczS
[55]
 LackRack: 
https://web.archive.org/web/20210205010435/https://wiki.eth0.nl/index.php/LackRack
[56]
 被导弹击中的感觉: 
https://www.rd.com/article/the-stranger-who-changed-my-life-my-enemy-my-friend/
[57]
 《SVG:优点,缺点和丑陋之处》: 
https://www.eisfunke.com/article/svg-the-good-the-bad-and-the-ugly.html
[58]
 《世界上所有的新冠病毒可以装进一罐可乐》: 
https://www.bbc.com/future/article/20210210-why-the-entire-coronavirus-would-fit-in-a-can-of-coca-cola
[59]
 维基百科: 
https://zh.wikipedia.org/wiki/%E7%9F%A5%E8%AD%98%E7%9A%84%E8%A9%9B%E5%92%92
[60]
 《导航大型代码库》: 
https://blog.royalsloth.eu/posts/on-navigating-a-large-codebase/
[61]
 《捍卫无智能的电视机》: 
https://frame.work/blog/in-defense-of-dumb-tvs
继续阅读
阅读原文