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

封面图

印尼的一条野生鳄鱼自从2016年,就有一个旧轮胎卡在脖子上。随着这条鳄鱼越长越大,动物学家担心它会被慢慢勒死。印尼政府同意对取下轮胎的人给予奖励,但是根本没人报名。(via Instagram[3]

本周话题:印度人的工资是多少?

两周前有一条新闻[4]。台湾科技企业纬创在印度的 iPhone 代工厂发生“暴动”事件,2000个印度工人大肆打砸公司用品,现场一片狼藉。
据称,薪资问题是引发“暴动”的主因。
“员工对于公司没有按时支付承诺的工资,感到相当的愤怒。虽然公司答应向工程专业的毕业生提供每月21000卢比的薪水,但现在薪水已降至16000卢比,在最近几个月甚至减少至12000卢比,非工程专业毕业生的月薪也已降至8000卢比。”
1个印度卢布大约等于0.09元人民币,那么21000卢比约为1900元人民币。按照这个报道,工人因为拿不到这个工资,而发生“暴动”。
我有点好奇,这种工资在印度相当于什么水平?
去年,我读过一本书《我在印度的 701 天》[5]。这是孔子学院的一个汉语老师在印度的生活日记,里面有这样的描述。
“教授的月工资是10万卢比,瑜伽老师6万卢比,印度理工学院(相当于清华大学)毕业生6万卢比,大学行政人员2.3万卢比,路边小店的店长是2万卢比,中学教师1.5万卢比,出租车司机1.2万卢比。”
这样看下来,月收入2.1万卢比,在印度属于中等收入,相当多的底层民众还拿不到这种工资。
但是在中国,这个工资水平(1900元人民币)比有的省份的最低工资还要低,恐怕不管哪一个省,都根本招不到工人。
相比之下,印度还不属于最低工资的国家,孟加拉、柬埔寨、缅甸等国的工资比印度还要低。这样看来,劳动密集型产业在中国已经毫无优势了,如果某个产品需要大量劳动力投入,那么它迟早都要向那些低工资的国家转移。因为中国和那些国家的工资差距太大了,而且还会继续扩大。
这就是我们国家面临的问题:劳动密集型产业已经走到头了,支撑不了后面的发展了,但是大部分劳动者都还不具备从事更高级产业的技能。

Vue.js 常见面试题

Vue.js 是主流的前端框架,面试前端岗位时,经常会遇到这方面的题目。
下面就是一些常见的面试问题。
[基础类问题]
[扩展类问题]
上面这些问题是由腾讯课堂101认证机构——金渡教育[6]提供,大家可以扫描下面的二维码, 免费索取参考答案。
这是他们的课程 《前端高频面试题训练营》 的一部分。该课程专门针对 Vue.js 进行培训,帮助初学者扎实知识基础,同时又有大厂实战项目的实训。最重要的是,它原价 299 元, 由腾讯课堂全额补贴以后,现在限时免费。
扫描上面的二维码入群,即可 0 元领取 。限200名,群满截止。

资讯

1、蓝牙墓碑[7]
由于墓地紧缺,日本的一个墓园推出了35座公共坟墓,一个坟墓对应多个死者。墓碑文字不是刻在石头上,而是以电子纸取代。
亲友祭奠时,只要进行蓝牙配对,墓碑就会显示事先设定的死者名字、图片、文字等等,不过现在只能黑白显示。亲友离开时,墓碑就会自动恢復成原状。目前,这种墓地的价格是29万日元(约18000元人民币)存放13年。
2、滚球木琴[8]
日本北海道的一座公园,架设了一个巨大的木琴,当小球从上面滚过时,会发出音乐。木琴放在支柱上,角度是精心计算过的,每块木板都调节好,以控制球的速度。小球会压动木板发出音符,构成巴赫的一首曲子 Cantata 147。
选择这首曲子的主要原因是,它的每个音符长度相同,比较适合小球的滚动速度。游客现在可以在公园购买小球,观赏滚动发出的音乐,一颗球是300日元(约20元人民币)。下面就是演示视频(腾讯视频[9]Youtube[10])。
3、垂直车库[11]
2019年12月,石家庄一个居民小区安装了垂直停车位。这种停车位每个占地20平米,车辆驶入后会自动沉入地下,运送到合适的位置。需要取车的时候,升降机再将车辆送回地面。
根据介绍,目前可以做到地下120个停车位,地面只占一个车位的面积。这样最大的好处就是保持地面不被占用,有利于增加居民的休憩空间。石家庄正在推广这种垂直停车位,现有24个正在建设中。
4、下铁雨的星星[12]
科学家通过架设在智利的超大望远镜 VLT(Very Large Telescope,下图),发现在双鱼座有一颗距离地球约640光年的行星,天上下的不是雨,而是金属铁。
这颗行星在白天温度会攀升至2400摄氏度以上,足以使地表的铁金属汽化。强风将铁蒸气吹到半空,到了凉爽的夜晚,气温下降,铁蒸汽冷凝成铁滴,以雨点的形式重新落到地面。
5、世界年龄最大的熊猫[13]
重庆动物园的世界年龄最大的熊猫“新星”,于12月8日去世,享年38岁。1982年8月,这只雌性熊猫出生于四川省雅安市宝兴县,1983年6月被送到重庆动物园,已在动物园生活了37年零6个月。
她至少生育过十只幼崽,有153个后裔。今年8月,动物园才为它庆祝了38岁生日。野生熊猫的寿命为15~20年,38岁的熊猫相当于人类年龄110至140岁。
6、一句话消息
青海玉树地区2020年12月23日清晨7点23分,一颗火流星坠落地面,将天地照得亮如白昼,持续时间长达半分钟之久。根据测算,这是1988年有记录以来,中国境内发生的能量最大的一次天体撞击,接近一万吨TNT当量,与一颗小型核弹相当。
大阪美术馆[14]正在展出,50000块乐高积木搭建的葛饰北斋著名版画《神奈川冲浪里》。
美国科学家[15]通过研究贝壳化石,确定7000万前,每年有372天,每天的长度是23.5个小时,这是地球自传速度不断放慢的又一个证据。贝壳的外壳每天都在生长,会形成年轮,通过分析贝壳的微小切片,可以得到每天的时间长度。
英国交通警察[16]最新配备了价值13200美元的激光测速枪,专门用于查处超速行驶的汽车。该枪据说能够识别1500米以外的车牌。

文章

山西云冈石窟研究院用9天时间,在上海宝龙美术馆搭建了一个 3D 打印的云岗石窟。
迄今为止,中国的高铁只用于客运。最近,中车公司隆重发布了世界首列时速350公里高速货运动车组,专门用于货运,“相当于30架737全货机的运载能力,1500公里优势距离5小时内即可到达”。
3、中国巨型摩天高楼时代似乎已经过去了[17](英文)
世界最高的100座建筑物,44座在中国。但是,国外媒体报道,中国住房和城乡建设部最近禁止建造超过500米的高层建筑,同时要求严控建造250米以上的建筑物。大家终于意识到了,摩天大楼并不宜居,不仅成本高,而且带来很大的环境压力。
4、浏览器的虚拟机检测[18](英文)
这篇文章介绍了四个方法,可以使用网页脚本判断,当前浏览器是否运行在虚拟机里面。
5、如何只使用 EMCAScript 模块开发[19](英文)
本文演示如何在 Node.js 环境里面,写 EMCAScript 模块代码,并运行单元测试,然后不用构建,直接在浏览器运行代码。
6、5G 无线电波会损害健康吗?[20](英文)
5G 引入了毫米波,比 4G 频率高10倍多,理论上会携带更多的能量。本文讨论它对人体会不会有影响。
7、ARM 芯片是如何诞生的[21](英文)
本文介绍了英国 ARM 公司的由来,以及他们设计的芯片。对于了解 x86 和 ARM 两种 CPU 架构的早期历史和区别,很有帮助。
8、我的软件工程公理[22](英文)
作者总结了他心目中软件工程的25条公理。我觉得总结得挺好,比如“产品是资产,代码是负债”、“好的代码是易于删除的代码”、“坚持小团队,小心地对待团队成长”等等。
9、JavaScript 的 toJSON() 函数是什么?[23](英文)
JavaScript 语言中,一个对象只要部署了toJSON()方法,就可以被转成 JSON 字符串。很多库都使用了这个方法,比如 Express 框架的res.json()就是这样实现的。
10、浏览器的异步 Cookie Store API[24](英文)
以前,我们只能用document.cookie来操作 Cookie,Chrome 87 引入了一个新的 Cookie Store API。

工具

1、email-verifier[25]
Go 语言写的 Email 地址检验库,判断是不是假地址。判断原理参见这篇文章[26]。(@lryong[27] 投稿)
2、go-zero[28]
国内开发者写的 Go 语言 Web 和 rpc 框架,有中文文档。(@yuexing0921[29] 投稿)
3、Planner[30]
Linux 平台处理待办事项(Todos)的桌面软件,功能很强。
4、Mdpdf[31]
一个将 Markdown 转为 PDF 文件的 JS 库,底层是谷歌的无头浏览器 Puppeteer。
5、CodeSwing[32]
VS Code 的一个插件,提供交互式编码环境,可以直接运行 HTML / JavaScript / CSS 代码。
6、Personal Management System[33]
一个 Web 开源应用,可以自己搭建服务,将个人信息(笔记、代码事项、密码、日程安排、联系人等等)放在一个地方管理。
7、Upptime[34]
一个 GitHub Actions 模板,每5分钟运行一次,检查指定的网站是否在线。
8、LinkAce[35]
一个自托管的网络书签应用。

资源

1、游戏 UI 数据库[36]
该网站收集各种游戏的 UI 设计,提供多种分类,比如上图是第一人称视角的游戏。
2、计算机教育缺失的一课[37]
麻省理工学院计算机课程的中文版,向学生介绍基本的软件开发工具,帮助学生提高使用工具的能力。
3、ReleaseEye[38]
该网站列出最近发行新版本的软件。
4、《如何创业》系列视频[39]
创业孵化公司 Y Combinator 的前总裁 Sam Altman,整理的系列视频讲座。

图片

1、世界保存最好的恐龙化石[40]
2017年,加拿大发现了一具恐龙化石,距今1.1亿年,保存之完好令人震惊。皮肤、鳞甲、内脏都是完整的,实际上是恐龙木乃伊,而不是化石。它是怎么形成的,仍然是一个谜。
这头恐龙长5.5米,下面是它的复原图。
2、纽约住宅的前门楼梯[41]
纽约市很多住宅楼,尤其是老住宅楼,都装有前门楼梯。这成了纽约市的一种特色。
这是因为纽约最早是荷兰人的殖民地,早期的住宅楼都是荷兰式的。荷兰地势低洼,经常被水淹,所以住宅都修得较高,必须走楼梯进入,免得洪水淹没客厅的地板。
后来的建筑师沿袭了这种风格,即使没有淹水的风险,也加高了客厅,修建了前门楼梯。

文摘

1、科幻小说《机器人排除协议》[42]
下面是 Paul Ford 创作的一篇极短篇科幻小说。
我脱掉衣服,走进淋浴间,发现一个机器人在排水管旁边。它大概60厘米高,由金属制成,摄像头就是它的眼睛,还带有几十个机械抓手。
它说:“Hi!我来自 Google,我是谷歌机器人,我不会伤害你。”
我说:“我知道你是什么。”
它说:“我正在对你的公寓编制索引。”
我说:“我不允许你待在这里。谁让你进来的?”
“我是 Google 的产品!我会发现很多好东西。我会找到你的内衣,还会观看你的录像带,那些属于你的独一无二的东西。我会找出关键词,并且编制链接。我的主人会说:‘干得好,小机器人!’ 很多用户会通过我们的链接,发现你,哈哈哈。”
“我在大门上贴了《机器人排除协议》。你没看到吗?”
“您了解Google吗?我索引了很多东西,如果我干得好,我可以去机器人公园,安装更多的处理器,还能上油。谢谢 Google!我必须进公寓来编制索引。必须的!” 他的摄像头向我眨了眨眼睛。
“我知道我的权力。我给你10秒钟离开。”
“好吧,我离开。但让我编完索引,每一样东西!我是 Google 的产品!”它伸出一支机械手臂,阅读洗发精瓶子上面的标签。我操起一把折叠椅,把它打烂。你去对垃圾桶编制索引吧。
2、JetBrains 公司和 Kotlin 语言[43]
JetBrains 是一家位于捷克布拉格的软件公司。它由三个俄罗斯程序员2000年创立,现在依然是俄罗斯最大的程序员雇主之一,但是公司注册地搬到了捷克。
它从来没有接受过外部的风险投资,今年的公司收益可望达到2亿美元,现在的估值已经达到了70亿美元。创始人之一和 CEO 马克西姆·沙菲罗夫(Maxim Shafirov)说:“公司有足够的资源来实现我们的抱负,不用接受风险投资。”
它以开发各种语言的 IDE 而闻名,最著名的就是 IntelliJ IDEA,全世界最流行最强大的 Java IDE 之一。
2011年,JetBrains 发布了一种新语言 Kotlin。它是基于 Java 虚拟机 JVM 的一种新语言,既有友好简单的语法,又像 Java 一样可以快速编译。
考虑到 Java 是印尼的一个岛屿,开发团队希望也以一个岛屿命名这种新语言,就选择了圣彼得堡附近的 Kotlin 岛。
谷歌大力支持 Kotlin。2019年,谷歌宣布 Kotlin 是 Android 开发的首选语言,目前有超过60%的专业安卓开发者都在使用 Kotlin,包括谷歌本身。
据 JetBrains 透露,全世界有950万程序员在使用他们公司的软件,其中20%是付费用户。

言论

1、
一个知道怎么做的人可能总能找到一份工作,但是知道为什么做的人将成为他的老板。
-- 约翰·麦克斯韦[44](John Maxwell),畅销书《影响力》的作者
2、
一项研究发现,外科医生生日那天动大手术的老年患者,死亡率比一年中任何其他一天都高得多。
-- 《英国医学杂志》[45]
3、
最早的时候,编程语言都是大项目,需要投入大量资金,进行前期规划,并且有一个标准化委员会。上个世纪90年代,情况发生了巨大变化。很多最流行的语言(PHP、Python、JavaScript、Ruby)都是由孤独的程序员单枪匹马设计出来的,其中一些人并不追求学术,只是业余爱好,没有任何宏伟的目标,他只想让日常工作变得更容易,或者为自己找一些简单的编程乐趣。
-- 《编程语言研究》[46]
4、
擅长编程比赛,常常跟正式的工作表现负相关。因为编程竞赛的获胜者习惯于快速地提出解决方案,但是在工作中,你需要反思问题,并且慢慢地进展,确保一切正确,才会表现更好。
-- Peter Norvig[47],谷歌研究总监
5、
Webpack 有巨大的可配置性和可扩展性,复杂度非常高。使用 Webpack 不像是使用打包器,而像是“配置你自己的打包器”。
-- Hacker News 读者[48]评论 Webpack 5.0 发布[49]
6、
我加入的由风险投资支持的创业公司越多,我就越意识到:
风险投资家不是为企业增值,而是从企业那里吸走所有价值。
-- Hacker News 读者[50]

回顾

2019年的本周(第 89 期):不下雨的地方,不要去卖伞
2018年的本周(第 37 期):小说家的时代,永远地过去了

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/1520
[3]
 Instagram: 
https://www.instagram.com/p/CIkixQGBZ_z/
[4]
 新闻: 
https://finance.sina.com.cn/tech/2020-12-13/doc-iiznezxs6648424.shtml
[5]
 《我在印度的 701 天》: 
https://book.douban.com/subject/30177716/
[6]
 金渡教育: 
https://jindu.ke.qq.com/
[7]
 蓝牙墓碑: 
https://www.cool3c.com/article/158691
[8]
 滚球木琴: 
https://dornob.com/mile-long-wooden-xylophone-plays-bach-in-japanese-forest/
[9]
 腾讯视频: 
https://v.qq.com/x/page/h3214omjece.html
[10]
 Youtube: 
https://www.youtube.com/watch?v=g1_B0YhwMVE
[11]
 垂直车库: 
https://baijiahao.baidu.com/s?id=1627315470881322780
[12]
 下铁雨的星星: 
https://phys.org/news/2020-03-large-telescope-exoplanet-iron.html
[13]
 世界年龄最大的熊猫: 
http://news.hsw.cn/system/2020/1222/1275477.shtml
[14]
 大阪美术馆: 
https://www.openculture.com/2020/12/hokusais-iconic-print-the-great-wave-off-kanagawa-recreated-with-50000-lego-bricks.html
[15]
 美国科学家: 
https://nuadox.com/post/612163662441054208/earth-turned-faster-70m-years-ago
[16]
 英国交通警察: 
https://www.thedrive.com/news/38111/new-uk-police-speed-gun-can-read-license-plates-from-nearly-half-a-mile-away-at-night
[17]
 中国巨型摩天高楼时代似乎已经过去了: 
https://www.inkstonenews.com/society/days-chinese-mega-skyscraper-appear-be-over/article/3114834
[18]
 浏览器的虚拟机检测: 
https://bannedit.github.io/Virtual-Machine-Detection-In-The-Browser.html
[19]
 如何只使用 EMCAScript 模块开发: 
https://jouni.kantola.se/blog/2020-12-20/no-fuzz-development-with-ecmascript-modules/
[20]
 5G 无线电波会损害健康吗?: 
http://backreaction.blogspot.com/2020/12/all-you-need-to-know-about-5g.html
[21]
 ARM 芯片是如何诞生的: 
https://arstechnica.com/features/2020/12/how-an-obscure-british-pc-maker-invented-arm-and-changed-the-world/
[22]
 我的软件工程公理: 
https://martinrue.com/my-engineering-axioms/
[23]
 JavaScript 的 toJSON() 函数是什么?: 
http://thecodebarbarian.com/what-is-the-tojson-function-in-javascript.html
[24]
 浏览器的异步 Cookie Store API: 
https://medium.com/nmc-techblog/introducing-the-async-cookie-store-api-89cbecf401f
[25]
 email-verifier: 
https://github.com/aftership/email-verifier
[26]
 这篇文章: 
https://segmentfault.com/a/1190000038571446
[27]
 @lryong: 
https://github.com/ruanyf/weekly/issues/1562
[28]
 go-zero: 
https://github.com/tal-tech/go-zero
[29]
 @yuexing0921: 
https://github.com/ruanyf/weekly/issues/1565
[30]
 Planner: 
https://planner-todo.web.app/
[31]
 Mdpdf: 
https://github.com/BlueHatbRit/mdpdf
[32]
 CodeSwing: 
https://github.com/codespaces-contrib/codeswing
[33]
 Personal Management System: 
https://github.com/Volmarg/personal-management-system
[34]
 Upptime: 
https://upptime.js.org/
[35]
 LinkAce: 
https://github.com/Kovah/LinkAce/
[36]
 游戏 UI 数据库: 
https://www.gameuidatabase.com
[37]
 计算机教育缺失的一课: 
https://missing-semester-cn.github.io/
[38]
 ReleaseEye: 
https://releaseeye.info/
[39]
 《如何创业》系列视频: 
https://startupclass.samaltman.com/
[40]
 世界保存最好的恐龙化石: 
https://www.earthlymission.com/dinosaur-mummy-science-discovery-nodosaur-intact-canada/
[41]
 纽约住宅的前门楼梯: 
https://ephemeralnewyork.wordpress.com/2020/12/07/how-new-york-became-a-metropolis-of-stoops/
[42]
 科幻小说《机器人排除协议》: 
https://www.ftrain.com/robot_exclusion_protocol
[43]
 JetBrains 公司和 Kotlin 语言: 
https://www.bloomberg.com/news/articles/2020-12-18/czech-startup-founders-turn-billionaires-without-vc-help
[44]
 约翰·麦克斯韦: 
https://motiveex.com/quotes/john-maxwell-leadership-quotes-sayings/
[45]
 《英国医学杂志》: 
https://www.psychnewsdaily.com/elderly-emergency-surgery-patients-23-more-likely-to-die-if-operation-takes-place-on-surgeons-birthday/
[46]
 《编程语言研究》: 
http://tagide.com/blog/academia/research-in-programming-languages/
[47]
 Peter Norvig: 
https://catonmat.net/programming-competitions-work-performance
[48]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=24742026
[49]
 Webpack 5.0 发布: 
https://webpack.js.org/blog/2020-10-10-webpack-5-release/
[50]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=25470030
继续阅读
阅读原文