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

10月5日,俄罗斯宇宙飞船将一名女演员(左一)和一名导演(右一)送入了国际空间站。他们将在那里停留12天,拍摄一部电影。电影讲述一个宇航员突发疾病,生命垂危,地面控制中心决定紧急派遣一名医生去治疗。(via)
本周话题:家庭太阳能发电的春天
最近,全国供电紧张,很多省的工业用电不够了。
我在想,会不会因为这件事,家庭太阳能发电就要流行了。

理由是这样的,这一次的供电紧张,主要原因是煤价涨了,从2021年初到现在翻了一倍。大家看下图,最后一个月(刚刚过去的9月份)的价格简直是飞涨。

但是,电价没涨,火力发电厂因此陷入亏损,每发一度电都会亏钱。偏偏又遇上用电量猛增,今年前八个月,全国用电量增加了13.8%,相比之下,这个数字去年是3.1%,前年是4.5%。用电量增长太快,电厂又无力多发电,所以电就不够了。
有的同学可能会说,火电不行,不是还有风电和光电吗?问题是它们只是一个零头,不到全部发电量的10%,根本替代不了火电,火电是绝对的大头,占到70%以上。
而且,风电和光电不稳定,英国的北海今年突然风停了,风电急剧减少,英国的能源就紧张到90%的加油站没有汽油了。

总之,要解决供电紧张,还是离不开煤炭,最简单的方法就是让煤价下跌。但是这一次,煤价很可能不会下跌。“碳达峰、碳中和”是国家战略,这种背景下,政府不会大量投资去增产煤炭,煤炭供应不足可能会持续下去。
另一方面,以后用电量肯定持续增长。别的不说,全国每年新增那么多电动车,都需要用电啊,单单一台特斯拉 Model 3 的功率(220kw)大约是家用空调的100倍。马斯克最近说,美国的电力生产需要增长一倍,才能满足电动车时代的需要。

我认为,如果煤价短期内不下跌,为了避免火电厂亏损,电价很可能会上调。
这样的话,岂不是家庭太阳能发电的大好时机。一方面可以保证家庭供电不中断,不担心电网限电;另一方面可以减轻电价调整带来的支出上升。
太阳能发电设备的价格,这几年一直在下跌。一套 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、贝多芬第十交响乐

伟大的德国音乐家贝多芬,一生中写过九部交响乐。1827年,他去世时,正在着手准备第十交响乐,只留下了一些草稿(下图),包含大约250个小节。

2019年,为了纪念贝多芬诞生250周年,奥地利音乐研究所的所长找到了一个人工智能专家,询问能否使用 AI 技术生成第十交响乐。
那位专家就先写了一个 AI 模型,使用贝多芬所有的作品进行训练,熟悉他的风格以后,再根据现存的手稿,生成整部作品,长度接近一个小时。
AI 版第十交响乐的完整录音将于2021年10月9日发布,同一天还会在德国波恩举行全球首演。下面就是 AI 生成的第十交响乐片段。
2、VR 编程环境

一个国外程序员发文,声称他都在 VR 环境编程,每周超过40小时,整个过程都戴着 VR 头盔。下面是他的编程环境示意图

他的实际编程还是在笔记本里面,使用实体键盘和鼠标,但是程序窗口会通过视频流,投射到 VR 头盔。这意味着,任何可以在笔记本完成的工作,都可以在 VR 环境里面做。
在 VR 环境,他将5个命令行窗口并排,感觉就像坐在 IMAX 影厅编程。

VR 环境的一个好处是,可以任意变换虚拟工作地点,一会在蓝天白云的山顶,一会又在海滩上工作。

3、人工合成淀粉

中国科学家全球首次实现“二氧化碳生成淀粉”的全过程。淀粉是粮食的主要成分,目前都是通过植物的光合作用产生。一旦能够实验室生成,就为人类的粮食生产创造了另一条途径。
科学家首先利用太阳能电解水,获得氢气;然后,利用氢气将二氧化碳还原为甲醇。接着,从62种生物酶里面选出10种,将甲醇转化为淀粉。

据称,1立方米大小的生物反应器年产淀粉相当于5亩玉米地的淀粉产量。这种技术虽然可以节省大量土地和淡水,但是目前的成本太高,并不具备商业价值。(@pipi32167 投稿)

4、胖熊周

每年秋天,大批的棕熊都会来到美国阿拉斯加州的布鲁克斯河吃红鲑鱼,为即将到来的冬眠积累脂肪。
最早的时候,当地的国家公园架设了摄像头,直播棕熊的动态。很多人一边看直播的时候,一边会在网上讨论,哪一头熊最大最胖。
国家公园看到了这些讨论,从2014年开始,就跟一家网站合作,在每年的9月底10月初举办“胖熊周”,每天让网友投票,把来吃鱼的棕熊进行两两 PK,直至评选出最后的“胖熊冠军”。去年收到了将近60万张选票。

今年的胖熊周是9月29日到10月5日,经过投票,747号熊获得了今年的冠军。


苹果公司有两个应用商店:iOS 商店和 Mac 商店。区别是 iOS 设备只能从官方商店安装 app,而 Mac 设备可以从第三方下载安装 app,不一定要通过应用商店。
统计数据显示,今年开始,开发者对于 Mac 商店的兴趣显著下降,越来越倾向于让用户直接从自己的网站下载安装。

以往 Mac 应用商店每月上架新 App 大约400款左右,但是今年6月份,这个数字首次降至不到300款,预计8月份将只有大约200款上架。
文章
1、鸟类撞上玻璃幕墙怎么办?(中文)

玻璃幕墙建筑越来越多,撞上玻璃的鸟类也越来越多,导致大量鸟类死亡。本文是这个问题的调查报告。
2、Facebook 下线的原因(英文)

本周,Facebook 下线了七个小时,原因是它的 BGP 路由被撤销了,可能是内部人员更新 BGP 时出错了。本文是一篇简单的解释,什么是 BGP,为什么它会导致 Facebook 下线。
3、Service Worker 简介(中文)

谷歌官方的 Service Worker 教程,介绍什么是 PWA 应用,以及怎么开发,写得非常好,很容易懂。官方提供中文版翻译。
4、一个人能领导多少人?(英文)

人的精力是有限的,如果想做到有效领导,那么直线下属最好不超过5-7人。
5、异步函数如何使用缓存?(英文)

需要密集计算的函数,可以部署缓存(memoizing),用来提高性能。本文介绍了函数缓存的概念和实现。
6、Chrome 背景窗口的大小(英文)
Chrome 浏览器有一个 Bug,如果一个窗口在后台打开,这个窗口的大小(window.outerHeight)会是 0,但是内部视口(window.innerHeight)的大小却不是 0,这会导致一些奇怪的问题。
7、C23 的进展(英文)

C 语言的最新版本是 C17,这是2017年通过的标准。下一版本将在2023年发布,称为 C23。本文介绍 C23 会引入的一些新语法,关心 C 语言的朋友可以看看。
8、SourceMappingURL 的恶意使用(英文)

浏览器加载网页时,如果指定了 Sourece Map 文件网址,就会加载这个文件。但是,这个网址居然可以用脚本动态修改,因此恶意脚本可以用它发送用户信息。不过,这个技巧的生效条件,是用户必须打开开发者工具。
工具
1、listmonk

一个开源的邮件列表管理器,提供美观好用的管理界面,只要配上邮件发送服务(比如 AWS SES 或者开源的 Haraka)就可以使用。

命令行的 SQLite 数据库查看器。

该网站是一个开源的云服务套件,向用户提供各种免费的云服务,比如网盘、Office、聊天、地图、项目管理、社交等等。

一个非常易用的轻量级前端框架,只做了 DOM 的包装层,没有加任何其他接口,体积小,加载快,并且支持组件和前端路由。开发小型页面,明显优于 React。
但是不知道什么原因,多年来它一直不流行,因为名字难记?……
5、Pollen
一个 CSS 变量库,提供一组常用的 CSS 变量(比如颜色、长度、字体大小等等)。开发者可以将这个库作为初始变量,以后通过调整变量来改变样式,比如从亮模式变成暗模式。

Windows 原生的网络管理器非常难用,这是一个第三方的网络管理器,在图形界面中,提供各种方便的网络管理、调试功能。

一个封装了显示模块的容器,可以用来通过 Docker 容器运行图形界面应用。
8、Arc

一个众包 CDN,宣称用户使用它们的服务可以赚钱。它跟以前的迅雷 CDN 是一样的,访问者打开安装了它的脚本的网站以后,就会分享一部分带宽,用来给其它用户作为 CDN 加速。
虽然不确定这样做是否合适,但从技术上看,是很有趣的实践。
一个根据提交信息,生成 Changelog 文件的命令行工具。
资源
1、深入计算机系统(Dive into Systems)

免费阅读的英文教材,介绍计算机系统的底层知识,内容包含 C 语言和汇编语言的教程。
2、JS 库的免费公共 CDN(英文)

网上有一些 JS 库的公共 CDN,可以从它们加载库脚本。本文列出了主要的名单。

该网站列出主要语言的常用操作(比如创建数组、连接数组等),目前已经有250多种操作。可以指定任意两种语言进行对比,方便快速入门。(@jerrylususu 投稿)
4、OpenMoji

一套开源的 Emoji 图标,目前已经有将近4000个图标,还在持续增加中。
5、Mathlets

这个网站提供网页小程序,帮助学习各种数学概念,比如正弦曲线、复数运算、傅里叶变换等等。
图片
1、 大公司起家的地方
下图是苹果、谷歌、亚马逊等大公司,各自创业起家的地方。

2、奇特的转向灯
一家英国汽车公司推出了不一样的转向灯。

这种灯在右转时,显示向右的箭头;左转时,显示向左的箭头。为了显目,还会闪烁。


有些人觉得这个设计很好,另一些人觉得很愚蠢,你觉得呢?
下面是一组伦敦地铁隧道的建设照片,展示了隧道是怎么建设的。
第一步,先用盾构机打洞。盾构机的直径7米,每天可以前进38米。

第二步,洞壁涂上混凝土。

第三步,铺设各种线路,同时保证良好的空气流通。

第四步,铺设路面和墙面,具备开通条件。

文摘
1、乔布斯逝世十周年
乔布斯去世于2011年10月5日,今年是十周年。
著名 IT 作家史蒂文·利维发表了一篇回忆短文。

2011年时,作为一家科技媒体,妥善的做法是提前准备好史蒂夫·乔布斯的讣告,我们都知道他没有多少时间了。
将近有一年,苹果公司坚持说,它的创始人兼首席执行官能够成功康复,但是乔布斯本人的状况却是每况愈下。他的身体坚持不了多久了,他也认识到这一点。
那一年的早些时候,我和另一名记者要求对他专访。地点就在无限环路1号(One Infinite Loop)的苹果公司总部大楼四楼的一间办公室。专访没有指定议题,但是我们三人都知道这是为了告别。
那一天是工作日中午,整个苹果总部有数千人在上班,但是我们90分钟的谈话过程中,没有被一个电话或访客打断。就好像对于苹果公司来说,他已经是一个鬼魂了。
专访结束后,我还是没办法提前准备他的讣告。内心里,我不想承认他会很快逝世。
所以,2011年10月5日的下午,快要天黑的时候,接到乔布斯逝世的电话,我惊呆了。
那时,我手里什么文章也没有。于是,接下来的四个小时里,我开始写文章回顾乔布斯的一生,我使用的就是他创造的 Mac 电脑。我尽自己所能,讲述他的生平和遗产。
在讣告的最后一段,我写道:“乔布斯的全部遗产,在很长一段时间内都不会消失。”直到今天,我想我们还在整理他留下的遗产。不会再有像他这样特质的领导者和创新者,我们仍然生活在他的世界里。
言论
1、
开发人员是创建软件最宝贵的资源,但他们的时间往往被管理层低估和滥用。
管理者的作用应该是让开发人员能够工作,而不是拿走开发人员的时间。
2、
一周的上班时间是40小时,但是我分配到了一个需要60小时的开发任务,我能怎么办呢?
3、
唯一比量子力学更难的是解释量子力学。
4、
达尔文散步时,喜欢边走边思考问题。散步开始时,他会在起点放五块小石头,每走一圈就踢掉一块石头,这样就能在不打断思路的情况下,达到预定的圈数。
5、
游戏分成两种。一种是有限游戏,另一种是无限游戏。有限游戏的目的是获胜,某方获胜就结束了,无限游戏的目的是继续游戏,你玩这个游戏是为了可以继续玩下去。
— 《无限创业》
历史上的本周
2020年(第 127 期):未来人人开发软件,几乎没人编码
2019年(第 75 期):电子取代机械,对就业有何影响?
2018年(第 24 期):新人进入软件行业的建议
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

(完)