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

封面图

10月5日,俄罗斯宇宙飞船将一名女演员(左一)和一名导演(右一)送入了国际空间站。他们将在那里停留12天,拍摄一部电影。电影讲述一个宇航员突发疾病,生命垂危,地面控制中心决定紧急派遣一名医生去治疗。(via[3]

本周话题:家庭太阳能发电的春天

最近,全国供电紧张,很多省的工业用电不够了。
我在想,会不会因为这件事,家庭太阳能发电就要流行了。
理由是这样的,这一次的供电紧张,主要原因是煤价涨了,从2021年初到现在翻了一倍。大家看下图,最后一个月(刚刚过去的9月份)的价格简直是飞涨。
但是,电价没涨,火力发电厂因此陷入亏损,每发一度电都会亏钱。偏偏又遇上用电量猛增,今年前八个月,全国用电量增加了13.8%[4],相比之下,这个数字去年是3.1%,前年是4.5%。用电量增长太快,电厂又无力多发电,所以电就不够了。
有的同学可能会说,火电不行,不是还有风电和光电吗?问题是它们只是一个零头,不到全部发电量的10%,根本替代不了火电,火电是绝对的大头,占到70%以上。
而且,风电和光电不稳定,英国的北海今年突然风停了[5],风电急剧减少,英国的能源就紧张到90%的加油站[6]没有汽油了。
总之,要解决供电紧张,还是离不开煤炭,最简单的方法就是让煤价下跌。但是这一次,煤价很可能不会下跌。“碳达峰、碳中和”是国家战略,这种背景下,政府不会大量投资去增产煤炭,煤炭供应不足可能会持续下去。
另一方面,以后用电量肯定持续增长。别的不说,全国每年新增那么多电动车,都需要用电啊,单单一台特斯拉 Model 3 的功率(220kw)大约是家用空调的100倍。马斯克最近说[7],美国的电力生产需要增长一倍,才能满足电动车时代的需要。
我认为,如果煤价短期内不下跌,为了避免火电厂亏损,电价很可能会上调。
这样的话,岂不是家庭太阳能发电的大好时机。一方面可以保证家庭供电不中断,不担心电网限电;另一方面可以减轻电价调整带来的支出上升。
太阳能发电设备的价格,这几年一直在下跌。一套 3000W 的光伏系统,也就不到3万元人民币。假定冬天工作4个小时,每天就是12度电,夏天工作8个小时,每天24度电,对于小家庭应该够用。根据各地的电价,不难算出大概七八年可以回本。
即使不架设全屋系统,只在窗外放一块光伏板,至少也能满足电脑和手机的用电,等于家里多了一个不间断电源。
以前是电力公司集中式发电,但是随着太阳能发电的价格下跌,今后的趋势大概是家家户户的分布式发电,每家的屋顶都有光伏板,这也许就是解决中国的能源问题,达到碳中和的有效方法。

Vue 3.0 辅导视频

前端开发的学习路径,一般分成三阶段。
第一阶段,学习 JavaScript 和 CSS 的基础语法,包括浏览器的 API。第二阶段,学习框架和周边工具,现在一般都学 Vue.js 或 React 框架。第三阶段,实际开发,积累经验。
很多同学卡在第二阶段,因为第一阶段啃语法书,可以熬过去,但到了第二阶段需要自己写代码,问题就全出来了。一方面,前期的语法基础不牢固,实际应用时,API 不会用,别人的代码也看不懂;另一方面,虽然跟着文档学了一遍框架,但不理解为什么这样做,遇到问题时,不知道怎么把框架套上去。
总之,第二阶段的框架和工具学习,非常磨人。但只有过了这个阶段,前端开发才算真正入门,后面才能去解决实际的开发任务。
本周的学习资料就是现在最热门的前端框架 Vue.js 3.0 的一个辅导视频,帮助你实现 Vue 的进阶,顺利通过第二阶段。
Vue 3.0 发布已经一年多了,国内的推广速度非常快。它的 Composition API 和 React 的钩子,是业内当前的两大热点技术。面试时往往会问到相关问题,比如 Vue 技术栈和它的核心设计。
这次的辅导视频,内容包括三个部分:(1)Vue 原理和源码剖析,(2)认识 Composition API,(3)实现一个“飞机大战”游戏。
整个视频总计450分钟,重点是第三部分,主讲老师在讲解框架之后,带大家从头写一个飞机大战游戏,通过实战练习,快速上手 Vue 3.0。同时也让你有一个成果,可以写在简历中,为面试加分。
微信扫描上方二维码,了解课程详情,0 元领取这份资料。保证没有任何套路,先到先得。

科技动态

1、贝多芬第十交响乐[8]
伟大的德国音乐家贝多芬,一生中写过九部交响乐。1827年,他去世时,正在着手准备第十交响乐,只留下了一些草稿(下图),包含大约250个小节。
2019年,为了纪念贝多芬诞生250周年,奥地利音乐研究所的所长找到了一个人工智能专家,询问能否使用 AI 技术生成第十交响乐。
那位专家就先写了一个 AI 模型,使用贝多芬所有的作品进行训练,熟悉他的风格以后,再根据现存的手稿,生成整部作品,长度接近一个小时。
AI 版第十交响乐的完整录音将于2021年10月9日发布,同一天还会在德国波恩举行全球首演。下面就是 AI 生成的第十交响乐片段。
2、VR 编程环境[9]
一个国外程序员发文,声称他都在 VR 环境编程,每周超过40小时,整个过程都戴着 VR 头盔。下面是他的编程环境示意图
他的实际编程还是在笔记本里面,使用实体键盘和鼠标,但是程序窗口会通过视频流,投射到 VR 头盔。这意味着,任何可以在笔记本完成的工作,都可以在 VR 环境里面做。
在 VR 环境,他将5个命令行窗口并排,感觉就像坐在 IMAX 影厅编程。
VR 环境的一个好处是,可以任意变换虚拟工作地点,一会在蓝天白云的山顶,一会又在海滩上工作。
中国科学家全球首次实现“二氧化碳生成淀粉”的全过程。淀粉是粮食的主要成分,目前都是通过植物的光合作用产生。一旦能够实验室生成,就为人类的粮食生产创造了另一条途径。
科学家首先利用太阳能电解水,获得氢气;然后,利用氢气将二氧化碳还原为甲醇。接着,从62种生物酶里面选出10种,将甲醇转化为淀粉。
据称,1立方米大小的生物反应器年产淀粉相当于5亩玉米地的淀粉产量。这种技术虽然可以节省大量土地和淡水,但是目前的成本太高,并不具备商业价值。(@pipi32167[10] 投稿)
4、胖熊周[11]
每年秋天,大批的棕熊都会来到美国阿拉斯加州的布鲁克斯河吃红鲑鱼,为即将到来的冬眠积累脂肪。
最早的时候,当地的国家公园架设了摄像头,直播棕熊的动态。很多人一边看直播的时候,一边会在网上讨论,哪一头熊最大最胖。
国家公园看到了这些讨论,从2014年开始,就跟一家网站合作,在每年的9月底10月初举办“胖熊周”,每天让网友投票,把来吃鱼的棕熊进行两两 PK,直至评选出最后的“胖熊冠军”。去年收到了将近60万张选票。
今年的胖熊周是9月29日到10月5日,经过投票,747号熊获得了今年的冠军。
5、Mac 应用商店的吸引力越来越小[12]
苹果公司有两个应用商店:iOS 商店和 Mac 商店。区别是 iOS 设备只能从官方商店安装 app,而 Mac 设备可以从第三方下载安装 app,不一定要通过应用商店。
统计数据显示,今年开始,开发者对于 Mac 商店的兴趣显著下降,越来越倾向于让用户直接从自己的网站下载安装。
以往 Mac 应用商店每月上架新 App 大约400款左右,但是今年6月份,这个数字首次降至不到300款,预计8月份将只有大约200款上架。

文章

玻璃幕墙建筑越来越多,撞上玻璃的鸟类也越来越多,导致大量鸟类死亡。本文是这个问题的调查报告。
2、Facebook 下线的原因[13](英文)
本周,Facebook 下线了七个小时,原因是它的 BGP 路由被撤销了,可能是内部人员更新 BGP 时出错了。本文是一篇简单的解释,什么是 BGP,为什么它会导致 Facebook 下线。
3、Service Worker 简介[14](中文)
谷歌官方的 Service Worker 教程,介绍什么是 PWA 应用,以及怎么开发,写得非常好,很容易懂。官方提供中文版翻译。
4、一个人能领导多少人?[15](英文)
人的精力是有限的,如果想做到有效领导,那么直线下属最好不超过5-7人。
5、异步函数如何使用缓存?[16](英文)
需要密集计算的函数,可以部署缓存(memoizing),用来提高性能。本文介绍了函数缓存的概念和实现。
6、Chrome 背景窗口的大小[17](英文)
Chrome 浏览器有一个 Bug,如果一个窗口在后台打开,这个窗口的大小(window.outerHeight)会是 0,但是内部视口(window.innerHeight)的大小却不是 0,这会导致一些奇怪的问题。
7、C23 的进展[18](英文)
C 语言的最新版本是 C17,这是2017年通过的标准。下一版本将在2023年发布,称为 C23。本文介绍 C23 会引入的一些新语法,关心 C 语言的朋友可以看看。
8、SourceMappingURL 的恶意使用[19](英文)
浏览器加载网页时,如果指定了 Sourece Map 文件网址,就会加载这个文件。但是,这个网址居然可以用脚本动态修改,因此恶意脚本可以用它发送用户信息。不过,这个技巧的生效条件,是用户必须打开开发者工具。

工具

1、listmonk[20]
一个开源的邮件列表管理器,提供美观好用的管理界面,只要配上邮件发送服务(比如 AWS SES 或者开源的 Haraka[21])就可以使用。
2、sqlite-tui[22]
命令行的 SQLite 数据库查看器。
3、OpenDesktop[23]
该网站是一个开源的云服务套件,向用户提供各种免费的云服务,比如网盘、Office、聊天、地图、项目管理、社交等等。
4、Mithril.js[24]
一个非常易用的轻量级前端框架,只做了 DOM 的包装层,没有加任何其他接口,体积小,加载快,并且支持组件和前端路由。开发小型页面,明显优于 React。
但是不知道什么原因,多年来它一直不流行,因为名字难记?……
5、Pollen[25]
一个 CSS 变量库,提供一组常用的 CSS 变量(比如颜色、长度、字体大小等等)。开发者可以将这个库作为初始变量,以后通过调整变量来改变样式,比如从亮模式变成暗模式。
6、NETworkManager[26]
Windows 原生的网络管理器非常难用,这是一个第三方的网络管理器,在图形界面中,提供各种方便的网络管理、调试功能。
7、x11docker[27]
一个封装了显示模块的容器,可以用来通过 Docker 容器运行图形界面应用。
8、Arc[28]
一个众包 CDN,宣称用户使用它们的服务可以赚钱。它跟以前的迅雷 CDN 是一样的,访问者打开安装了它的脚本的网站以后,就会分享一部分带宽,用来给其它用户作为 CDN 加速。
虽然不确定这样做是否合适,但从技术上看,是很有趣的实践。
9、git-cliff[29]
一个根据提交信息,生成 Changelog 文件的命令行工具。

资源

1、深入计算机系统[30](Dive into Systems)
免费阅读的英文教材,介绍计算机系统的底层知识,内容包含 C 语言和汇编语言的教程。
2、JS 库的免费公共 CDN[31](英文)
网上有一些 JS 库的公共 CDN,可以从它们加载库脚本。本文列出了主要的名单。
3、Programming-Idioms[32]
该网站列出主要语言的常用操作(比如创建数组、连接数组等),目前已经有250多种操作。可以指定任意两种语言进行对比[33],方便快速入门。(@jerrylususu[34] 投稿)
4、OpenMoji[35]
一套开源的 Emoji 图标,目前已经有将近4000个图标,还在持续增加中。
5、Mathlets[36]
这个网站提供网页小程序,帮助学习各种数学概念,比如正弦曲线、复数运算、傅里叶变换等等。

图片

1、 大公司起家的地方
下图是苹果、谷歌、亚马逊等大公司,各自创业起家的地方。
2、奇特的转向灯[37]
一家英国汽车公司推出了不一样的转向灯。
这种灯在右转时,显示向右的箭头;左转时,显示向左的箭头。为了显目,还会闪烁。
有些人觉得这个设计很好,另一些人觉得很愚蠢,你觉得呢?
3、地铁隧道的建设过程[38]
下面是一组伦敦地铁隧道的建设照片,展示了隧道是怎么建设的。
第一步,先用盾构机打洞。盾构机的直径7米,每天可以前进38米。
第二步,洞壁涂上混凝土。
第三步,铺设各种线路,同时保证良好的空气流通。
第四步,铺设路面和墙面,具备开通条件。

文摘

1、乔布斯逝世十周年[39]
乔布斯去世于2011年10月5日,今年是十周年。
著名 IT 作家史蒂文·利维发表了一篇回忆短文。
2011年时,作为一家科技媒体,妥善的做法是提前准备好史蒂夫·乔布斯的讣告,我们都知道他没有多少时间了。
将近有一年,苹果公司坚持说,它的创始人兼首席执行官能够成功康复,但是乔布斯本人的状况却是每况愈下。他的身体坚持不了多久了,他也认识到这一点。
那一年的早些时候,我和另一名记者要求对他专访。地点就在无限环路1号(One Infinite Loop)的苹果公司总部大楼四楼的一间办公室。专访没有指定议题,但是我们三人都知道这是为了告别。
那一天是工作日中午,整个苹果总部有数千人在上班,但是我们90分钟的谈话过程中,没有被一个电话或访客打断。就好像对于苹果公司来说,他已经是一个鬼魂了。
专访结束后,我还是没办法提前准备他的讣告。内心里,我不想承认他会很快逝世。
所以,2011年10月5日的下午,快要天黑的时候,接到乔布斯逝世的电话,我惊呆了。
那时,我手里什么文章也没有。于是,接下来的四个小时里,我开始写文章回顾乔布斯的一生,我使用的就是他创造的 Mac 电脑。我尽自己所能,讲述他的生平和遗产。
在讣告的最后一段,我写道:“乔布斯的全部遗产,在很长一段时间内都不会消失。”直到今天,我想我们还在整理他留下的遗产。不会再有像他这样特质的领导者和创新者,我们仍然生活在他的世界里。

言论

1、
开发人员是创建软件最宝贵的资源,但他们的时间往往被管理层低估和滥用。
管理者的作用应该是让开发人员能够工作,而不是拿走开发人员的时间。
-- medium.com[40]
2、
一周的上班时间是40小时,但是我分配到了一个需要60小时的开发任务,我能怎么办呢?
-- medium.com[41]
3、
唯一比量子力学更难的是解释量子力学。
--《理解量子革命》书评[42]
4、
达尔文散步时,喜欢边走边思考问题。散步开始时,他会在起点放五块小石头,每走一圈就踢掉一块石头,这样就能在不打断思路的情况下,达到预定的圈数。
--《思想家与步行之间的关系》[43]
5、
游戏分成两种。一种是有限游戏,另一种是无限游戏。有限游戏的目的是获胜,某方获胜就结束了,无限游戏的目的是继续游戏,你玩这个游戏是为了可以继续玩下去。
-- 《无限创业》[44]

历史上的本周

2018年(第 24 期):新人进入软件行业的建议

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/1980
[3]
 via: 
https://edition.cnn.com/2021/10/04/entertainment/russian-film-crew-space-launch-scn/index.html
[4]
 13.8%: 
https://news.bjx.com.cn/html/20210916/1177098.shtml
[5]
 风停了: 
http://www.fortunechina.com/shangye/c/2021-09/23/content_397903.htm
[6]
 90%的加油站: 
https://cn.reuters.com/article/britain-petrol-shortage-0927-mon-idCNKBS2GN11T
[7]
 最近说: 
https://www.barrons.com/articles/tesla-elon-musk-electric-vehicle-production-51633202912
[8]
 贝多芬第十交响乐: 
https://www.smithsonianmag.com/innovation/how-artificial-intelligence-completed-beethovens-unfinished-10th-symphony-180978753/
[9]
 VR 编程环境: 
https://blog.immersed.team/working-from-orbit-39bf95a6d385
[10]
 @pipi32167: 
https://github.com/ruanyf/weekly/issues/1971
[11]
 胖熊周: 
https://www.smithsonianmag.com/smart-news/get-to-known-the-bodacious-bulky-bears-of-fat-bear-week-2021-180978778/
[12]
 Mac 应用商店的吸引力越来越小: 
https://9to5mac.com/2021/08/31/research-shows-developers-are-becoming-less-interested-in-the-mac-app-store/
[13]
 Facebook 下线的原因: 
https://riskledger.com/blog/facebook-outage
[14]
 Service Worker 简介: 
https://developers.google.com/web/fundamentals/primers/service-workers
[15]
 一个人能领导多少人?: 
https://www.patkua.com/blog/how-many-people-can-someone-lead/
[16]
 异步函数如何使用缓存?: 
https://stackfull.dev/memoizing-async-functions-in-javascript
[17]
 Chrome 背景窗口的大小: 
https://shkspr.mobi/blog/2021/09/whats-the-window-size-of-a-background-tab/
[18]
 C23 的进展: 
https://thephd.dev/c-the-improvements-june-september-virtual-c-meeting
[19]
 SourceMappingURL 的恶意使用: 
https://weizman.github.io/?javascript-anti-debugging-some-next-level-shit-part-1
[20]
 listmonk: 
https://github.com/knadh/listmonk
[21]
 Haraka: 
http://haraka.github.io/
[22]
 sqlite-tui: 
https://github.com/mathaou/sqlite-tui
[23]
 OpenDesktop: 
https://www.opendesktop.org/
[24]
 Mithril.js: 
https://mithril.js.org/index.html
[25]
 Pollen: 
https://www.pollen.style/
[26]
 NETworkManager: 
https://github.com/BornToBeRoot/NETworkManager
[27]
 x11docker: 
https://github.com/mviereck/x11docker
[28]
 Arc: 
https://arc.io/cdn
[29]
 git-cliff: 
https://github.com/orhun/git-cliff
[30]
 深入计算机系统: 
https://diveintosystems.org/book/index.html
[31]
 JS 库的免费公共 CDN: 
https://www.webfx.com/blog/web-design/free-public-cdns/
[32]
 Programming-Idioms: 
https://programming-idioms.org/about#about-block-all-idioms
[33]
 对比: 
https://programming-idioms.org/cheatsheet/JS/Java
[34]
 @jerrylususu: 
https://github.com/ruanyf/weekly/issues/1972
[35]
 OpenMoji: 
https://openmoji.org/
[36]
 Mathlets: 
https://mathlets.org/mathlets/
[37]
 奇特的转向灯: 
https://jalopnik.com/congratulations-mini-you-made-the-stupidest-turn-sign-1847727385
[38]
 地铁隧道的建设过程: 
https://spectrum.ieee.org/londons-crossrail-is-a-21-billion-test-of-virtual-modeling
[39]
 乔布斯逝世十周年: 
https://www.wired.com/story/remembering-steve-jobs-10-years-after-his-death/
[40]
 medium.com: 
https://thehosk.medium.com/developers-are-the-most-valuable-resource-when-creating-software-but-their-time-is-undervalued-and-85aab08d7af7
[41]
 medium.com: 
https://thehosk.medium.com/developers-are-the-most-valuable-resource-when-creating-software-but-their-time-is-undervalued-and-85aab08d7af7
[42]
 《理解量子革命》书评: 
https://theamericanscholar.org/physics-for-the-feeble-minded/
[43]
 《思想家与步行之间的关系》: 
https://lithub.com/on-the-link-between-great-thinking-and-obsessive-walking/
[44]
 《无限创业》: 
https://www.indiehackers.com/post/infinite-entrepreneurship-da92f36f21
继续阅读
阅读原文