这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
进入四月以后,印度的新冠肺炎患者激增,全国氧气的库存迅速耗尽。政府不得不用气罐车,向重症地区运送液氧。有的地区没有高等级公路,只能将气罐车装在火车上运过去。(via)
最近,我想再配一台电脑,结果发现买不到显卡。加密货币的价格暴涨,导致显卡早就被抢购一空。
家用计算机的显卡挖矿,六个月据说就可以回本,以后就都是利润了。如果多块显卡组成矿机,利润相当可观。所以,显卡都被用来挖矿了,市场已经没有现货了,只能买二手显卡。
幸好,我去年买过一块显卡,还能凑合用。看了一下二手市场的行情,不由感慨地发了一条推特:
"去年,我花2000元买过一块显卡,现在用了一年再卖掉,可以卖到5000元。"
网友在下面回帖,他一年前400元买的显卡,今年2000元卖掉了。就是缺货到这种程度。
我不由感叹,矿工高兴了,DIY 市场却遭殃了。如果你只是一个普通的电脑爱好者,可能根本不关心比特币,对挖矿没有任何兴趣,突然之间,你莫名其妙就受到了波及,想要组装一台理想配置的电脑,用来玩游戏或处理大数据,就这样组不成了,真是飞来横祸。
一个其它领域的、跟你原本不相干的事情,突然就对你产生了重大影响。这在经济学上,叫做“异业竞争”。 某个行业的变化产生了溢出效应,波及到了另一个行业。这样的事情,最近好像越来越多了。
我举几个例子。智能手机的出现,使得电信公司很受伤,因为人们都用聊天软件联系,传统电话和短信的使用量急剧下降。再比如,外卖的兴起,影响了方便面的销售。
本周我还看到一条新闻,上海机场的董事长说,海南岛的免税政策对机场影响很大。以前,人们购买免税商品,首先想到的是机场,但是现在不用出国、在海南岛也能购买免税商品,下一步甚至北京上海也要开市内免税商店,这对机场的收入有很大影响。
总之,现在的世界高度关联,异业竞争比以前多得多、快得多。 不仅本行业的变化会影响你,世界上不知哪一个角落发生的事情,也会从天而降影响你。
这就是互联网时代,每个人的生活变得不确定,随时都会被意想不到的方式影响。有些是好的影响,有些是坏的影响,也无从准备或预防。只能尽量壮大自己,接受变化。
本周的课程资料是一个前端进阶课程,专门为想提升自己 Vue.js 水平的同学准备的。
大家都知道,Vue.js 是国内使用最广泛的前端框架之一,3.0 版出来以后,各方面都有很大改进,配套工具也在不断完善,目前来看,还处在上升期。新项目的加入,加上老项目的升级,市场份额有进一步上升的趋势。
根据一些最近找工作的同学反馈,面试当中 Vue 相关问题,几乎每次都有,尤其是大厂的面试。大家普遍比较关心,怎么准备 Vue 的面试。
老实说,一些具体的开发问题,跟项目经验相关,除了多做项目,没有太好的准备方法。比较可行的面试准备,还是多投一点时间在 Vue 的原理上面,搞懂 API 想要解决的问题,以及设计思路。打好了基础,不管是哪一类问题,至少不会太失分,也有利于长远发展。
本周的课程就是“开课吧”提供的 《Vue3 原理解析》,由 Vue3 源码贡献者崔效瑞老师主讲,带大家自己实现一个迷你版本的 Vue.js,让你站着 Vue 设计者的角度思考问题,精准找到学习关键点,快速顺畅地理解原理。
课程的直播时间是 周五(4月30日)晚上 19:50。如果你想长假里面,静下心来,学一点东西,这是一个非常合适的学习内容。听完课以后,正好利用假期,自己动手实践一下。
报名的同学还可领取《原理讲解+项目实战:带你高效掌握ES6》资料包,里面不仅包含 ES6 核心新特性的讲解,还有基于 ES6 class 的贪吃蛇游戏实现,通过实例教你如何在实际项目中拆分类,帮你提升面向对象的编程思想!
微信扫描下面二维码,就可以免费报名参加。
完成课程以后,还可以领取另外两份开课吧精心制作的学习资料:《Vue3 & React17 进阶知识地图》和《Vue 面试题高薪问答攻略》。
1、火星制氧实验
美国宣布,毅力号火星车成功完成制氧实验,在火星上制造了10克氧气,耗时一个小时,可以供一个宇航员呼吸10分钟。上图为探测车里面的制氧机。这个实验为人类探索火星,铺平了基础。
氧气对于宇宙飞行非常重要,不仅用于呼吸,还用于燃料的助燃。发射一个四名宇航员的火星飞船,需要7吨燃料和25吨氧气。人类要想火星旅行,必须解决氧气供应。火星大气包含95%的二氧化碳,本次实验使用太阳能,对二氧化碳进行电解,从中获得氧气和一氧化碳。
2、美国制造的代价
Purism 是一家美国的 Linux 开源硬件厂商,他们的最新 Linux 手机有两个型号:Librem 5 和 Librem 5 USA。规格完全相同,唯一区别是,前者的主要零件在中国制造,后者完全在美国制造。
如果你喜欢“美国制造”,就要承担更高的价格,猜猜看贵多少?
Librem 5:799 美元,Librem 5 USA:1999美元。
3、云洞图书馆
北京 MAD 建筑事务所设计的海口市云洞图书馆4月12日正式开馆,每天接受400人预约入馆。这是海口市规划的16座“海边的驿站”之中第一座完工的。这座一体成型的白色混凝土建筑,被英国《泰晤士报》称为“2021年最期待建成的建筑作品”。
它的南侧是图书阅览室,北侧是公共驿站,提供咖啡厅、卫生间、休息区等服务。设计师的想法是,这是一座位于陆地与海洋之间的建筑,通过它消融海与地之间的边界。
建筑物充满各种大小不一的洞,游客可以通过这些洞看天望海,同时也借此实现自然采光和自然通风。
整个建筑是数字建模,先搭建一个中空的骨架,然后混凝土一体浇灌,局部采用 3D 打印。
4、一句话消息
“新视野号”探测飞船(New Horizons)在发射15年之后,今年四月到达了距离太阳50个天文单位的地方(太阳到地球的距离为1个天文单位)。它是第五个飞出太阳系、进入柯伊伯带(kuiper belt)的飞行器。也就是说,以目前的科技,飞出太阳系需要15年。
英国通过一项法律,所有成年人死亡后默认同意捐献自己的器官,除非签署过不愿捐献的声明。
美国国防部选择了三家公司,开始设计核动力推进器,为太空作战提供快速机动的能源。
温州市交通执法大队发现,执法车出动后,总是抓不到违法运载的货车,对方似乎能够精准地避开执法车的巡查线路和时段。 检查后发现,车辆被人安装了烟盒大小的 GPS 跟踪器,通过磁铁吸附在车底。
一家创业公司推出了数字画框。挂在墙上,它会自动将精选的艺术品推送到显示屏,定时更新。
Facebook 正在研发一种腕带,可以将运动神经电信号转换为数字信号,从而感知手和手指的位置和活动,实现新型的人机交互。
1、为什么游戏里做一扇门这么难?(中文)
很多游戏开发者认为,实现一扇门是最让人痛恨的事情,各种各样的 bug 因此产生。“门不仅要能打开,还要能关上,有时还需要开锁或者被撞开,打开之后还得能来回摇摆。”
2、Z 字形斑马线(中文)
国内多地启用 Z 字形斑马线,让行人过马路的路线从直线变为“Z”字型,目的是减缓行人速度,拉长过马路的时间,让他更注意两边的车况,防止交通事故。这种设计到底有没有用,是有争论的。
3、云巴会在国内流行吗?(中文)
4月16日,国内首条“云巴”在重庆璧山正式通车,这是比亚迪公司主导的一个“小运量的高架有轨电车系统”。本文介绍这种交通系统的背景和前景。
4、视频分辨率与码率的关系(中文)
视频文件的清晰度主要由码率、分辨率、帧数等指标决定。本文介绍这几个指标的概念,以及它们之间的关系。
5、消失的除法指令(中文)
学习汇编的时候,观察到一个现象,C 语言的除法操作,编译得到的汇编代码是一条乘法指令。这是为什么?(@cj1128 投稿)
6、Serverless 数据库比较(英文)
这篇文章比较了三个 Serverless 云服务商的数据库服务(DynamoDB、 FaunaDB 和 Upstash),看看它们的性能如何。
7、如何在命令行操作 GitHub Actions?(英文)
GitHub 的命令行工具现在支持 GitHub Actions 了,用起来非常方便,这篇是官方的介绍文章。
8、我的复古网站(英文)
作者将他的个人网站,做成 WIndows 95 的样子,把个人博客放在上面,很有意思。本文介绍他是怎么做的。
9、从头开始编写 RPC(英文)
RPC 指的是远程函数调用,是服务器通信的常见方法。本文介绍 RPC 的概念,然后用 C 语言演示一个简单的例子。
一个基于 D3 的图表库,用来处理时间序列数据。特点是 API 简洁易用,生成的图表清晰漂亮。
一个浏览器插件,自动删除 URL 里面的访问者追踪参数。
某些正则表达式有性能漏洞,可能会引发 DDOS 攻击。这个工具可以找出有漏洞的正则表达式,参见教程。
4、NPlayer
一个支持弹幕的网页视频播放器。(@woopen 投稿)
一个采用接缝裁剪(seam carving)算法的在线工具,可以任意改变图片的高度和宽度,而不会扭曲图像。
它的原理是找出那些对图片主要内容贡献最少的像素,将它们删除,不断重复这个过程,直到达到指定的高度和宽度,详见这篇教程。
6、LuckDraw
一个大转盘/ 九宫格的页面抽奖组件,多端适配,有 JS / React / Vue / 小程序的等版本。(@buuing 投稿)
7、GoGoCode
一个 JavaScript 代码的 AST 抽象语法树的处理工具,便于方便地转换代码。(@kuangyanit 投稿)
如何写软件教程,是一个令人头痛的问题。Storyteller 是一个在线工具,提供一个教程编辑器,以无代码的方式制作交互式教程。(@netweng 投稿)
9、Varlet
Vue3 的 Material Design 移动页面组件库。(@BeADre 投稿)
10、chore-cli
一个 TypeScript 项目的脚手架工具。(@iwfan 投稿)
这个网站是一个制作精良的在线电台,播放工作学习时放松精神的背景音乐,可以根据音乐风格切换房间。
这篇英语长文向初学者介绍如何学习 iOS 开发,大家关心的各种问题都能在里面找到解答,比如应该学习 Object-C 语言还是 Swift 语言。
3、山内溥家族基金会
任天堂第三代传人山内溥有一个家族基金会,基金会官网非常有创意,很有任天堂游戏的感觉,我从没见过这样的网站,值得参观。
这个仓库收集网上的 Python 免费书籍(英文)。
ZooKeeper 的中文教程,从最基础的安装使用到背后原理和源码,使用有趣诙谐的文字讲解。ZooKeeper 是大型分布式计算的配置服务工具。(@521xueweihan 投稿)
1、石头宠物
1975年,一个美国人加里·达尔(Gary Ross Dahl)在酒吧里,听到了朋友们抱怨养宠物很麻烦。他想到,为什么石头不能作为“宠物”呢?一块石头,不用喂食,不用遛,不用洗澡,也不会死或生病,是完美的宠物。
他很认真地对待这个想法,开始动手设计。石头是来自墨西哥海滩的光滑小卵石,每块仅花费一美分。 它们像活宠物一样放在定制的纸板箱中出售,带有稻草和呼吸孔。他还花时间写了一本石头宠物的使用说明书。
石头宠物于1975年圣诞节前正式上市,引发了公众的好奇,销售非常好。但是,圣诞节过后,销量就开始下降,1976年2月价格打折。最终,达尔以每只4美元的价格,售出了超过100万只石头宠物,成为百万富翁。
2、三轴陀飞轮
陀飞轮是豪华手表才有的调速装置,主要用于抵消地心引力对机芯运作造成的误差。三轴陀飞轮则是陀飞轮的最高境界,整个装置沿三个轴同时旋转。
国外网友使用廉价的 3D 打印,制作出简易的三轴陀飞轮模型,目前正在众筹。
马斯洛金字塔是美国心理学家马斯洛提出的一个心理学模型,认为人类的心理需求从下往上分为5个层次,一旦实现了下层的需求,就会追求上一层的需求。
这五个层次依次是:生理需求、安全需求、社交需求、尊严需求、自我实现。
代码质量也可以用金字塔模型表示,从下往上有五个层次。
(1)第一层:正确(Correct)
代码是否执行预期的工作?是否考虑了边缘情况?是否经过充分测试?是否有可维护性?是否有可接受的性能?
(2)第二层:安全(Secure)
代码是否存在漏洞?数据是否安全存储?个人识别信息(PII)是否得到正确处理?是否对用户的输入进行了全面的验证?
(3)第三层:可读(Readable)
代码是否易于阅读和理解?测试足够简洁吗?变量、函数、类的名称是否适当?使用领域模型是否可以清晰地映射现实世界,以减少认知负担?是否使用一致的编码风格约定?
(4)第四层:优雅(Elegant)
代码是否利用了众所周知的编程模式?能否更简单简洁地实现所需的功能?你会为编写这些代码感到兴奋吗?你为这些代码感到骄傲吗?
(5)第五层:利他主义(Altruist)
别人能否从这些代码学到东西?这些代码是否会激励其他工程师进行改进?它是否会让世界变成一个更好的地方?
1、
我最近禁止了安卓手机的所有动画,手机的零延迟让我震惊,仿佛一瞬间它就变快了。
2、
旅行不是为了看到不同的事物,而是为了学会不同地看待事物。
(You don't travel to see different things, you travel to see things differently.)
-- Ben Davenpor,风险投资家
3、
在泰国工作的人,都说那是一个很糟糕的地方;在泰国休假的人,都说那个地方好极了。
-- 网友
4、
面向对象编程的哲学思想是,通过对语言建模来适应问题,而不是对问题建模来适应语言。
-- 《C prime plus》教材
5、
入职以后,公司给每位员工发了一台电脑,表面上看是每个人拥有了一台电脑,其实是给每个电脑配了一个人。
--网友
2020年(第 105 期):线上行业会赢
2019年(第 53 期):DNA 相亲会
2018年(第 2 期):为什么写周刊?
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。
(完)