阮一峰 每周分享第 57 期

这里记录过去一周,我看到的值得分享的东西,每周五发布。

欢迎投稿,或推荐你自己的项目,请前往 GitHub 的 ruanyf/weekly 提交 issue。

(题图:陆家嘴,上海,2018)

前些日子,一个运营的女同学问我:“为什么程序员喜欢分享?”

我说,整个程序员社区都是这样啊,把自己知道的东西告诉别人,也从别人那里学习新知识。她回答,我就不喜欢分享,我的运营计划一说出去,所有人都知道了,好不容易想出来的东西,马上就被别人拷贝了,我什么好处也拿不到。别的运营也是这样,都不愿意分享自己的成果。

我想了想,发现真的是这样:除了程序员以外,好像没有别的行业,流行分享自己的知识。 相反的,这个世界上大部分行业,强调的都是保密,千万不能让别人知道我的独家信息和知识。

由此看来,程序员世界的开源和分享,其实是例外。正常情况下,这些东西都应该是标价出售的,花了钱才能拿到手。

经济学有一个假定,每个人都是自私的,追求自己的利益最大化,从而才能让这个世界变得有效率。那么,当我们鼓励开源和分享的时候,可不可以说我们正在做一件反人性的事情呢?

React 免费视频课程

本期周刊很高兴得到了 开课吧 的支持。他们是国内领先的互联网从业者职业成长平台,为互联网人提供职业成长服务。

React 是目前全世界最流行的前端框架,国内大型互联网公司,几乎全部在使用它。想要进入这些公司,从事前端开发,React 几乎是绕不过去的技术。同时,React 本身是对很多底层技术的抽象。深入理解 React,有助于吃透前端开发,提升个人竞争力。

开课吧结合国内 React 的应用现状,针对初学者的学习痛点,推出了系列教学视频 《React 基础 + 实战 CNode》,得到了很多学员的肯定和好评。

这套视频的第一部分,带大家快速掌握 React 的基础,学习各种底层库和组件库,搭建一个 React 项目《QQ 好友列表》。第二部分是实战训练,具体内容请看下图。

第三部分《React 16 虚拟 DOM 原理剖析》,紧跟最新版本的底层改动,讲解了 setState 异步队列、虚拟 DOM 的 Diff 算法、Fiber 架构、React Hooks 等难点内容,并教你如何构建自己的虚拟 DOM 库。

微信扫描下面的二维码,就可以领取视频。由于教学助理精力有限,限额 500 名。

新闻

1、宇宙射线观测站

4 月 26 日,中国的第一个高海拔宇宙射线观测站,正式在四川稻城启动,当地的海拔是 4400 米。宇宙射线是来自外太空的高能粒子,携带着宇宙起源、天体演化、太阳活动及地球空间环境等重要科学信息,被称为传递宇宙大事件的“信使”。

自从 1912 年被发现,宇宙射线的来源至今仍然是一个谜。这个观测站的启用,有助于回答宇宙射线来自哪里,它们又是如何被加速到千倍于人类现有加速器之高的能量,这些一直是困扰科学家的问题。

2、白鲸武器

一个挪威渔民最近出海时,发现一条小白鲸主动游到船边。这条白鲸身上还有绑带,上面写着俄文,意思是“圣彼得堡的设备”。

渔民说,这头鲸鱼的行为非常奇怪,会主动寻找船只,并试图拉动船的两侧的绳索。考虑到它可以携带相机和武器,专家怀疑这是附近摩尔曼斯克的俄罗斯海军专门训练的白鲸。上个世纪 80 年代,苏联曾经训练海豚发现鱼雷,海豚视野敏锐,有良好的记忆力,使它们成为有效的水下探测武器工具。一份 2017 年的报告显示,俄罗斯海军重新开始训练用于军事目的的白鲸、海豹和宽吻海豚。

3、Red Hat 的新 Logo

Red Hat 公司发布了新 logo(上图),变得更简洁和更具有可识别性,从一个戴着红色帽子的男人(下图),变成一顶红帽子。

Red Hat 这个名字来自创始人之一 Marc Ewing,他总是戴着红色曲棍球帽。每当他的同学们在卡内基梅隆大学的计算机实验室需要帮助时,他们就会说“寻找红帽子的那个人。”Red Hat 公司希望,每当人们发现自己需要帮助时,就会去找他们。

4、停车场办公

创业者往往想要使用共享的办公空间,但是大城市的办公空间很贵。旧金山的一个创业者灵机一动,注册了 WePark 公司。他在旧金山的热门区域,选择若干个停车位,付出一整天的停车费,然后摆上桌椅,按小时卖给创业者。创业者就在停车位办公。

WePark 的优势在于价格,每小时收费 2.25 美元。相比之下,WeWork 的办公空间,每天收费 50 美元加上每月会员费。

5、菠菜叶生成的血管

人工心脏的一大问题,就是无法生成心脏肌肉上面的毛细血管,3D 打印可以生成人体组织,但是毛细血管不行。科学家提出了一种新的设想,菠菜叶子或许可以达到这个目的。

菠菜叶子去除叶肉以后,留下层层的叶脉,可以作为支架,将人体细胞培植在上面。然后,通过叶脉为细胞提供水和养分,促使其生长。长成以后,再取出菠菜叶,就会留下血管框架。上图左侧为去除叶肉的菠菜叶,右侧为红色染料处理过的菠菜叶。

6、大麦哲伦星云的照片

一群法国的天文爱好者使用 4,000 张图片,拼接成一张大麦哲伦星云的照片。这些照片是 2017 年 7 月至 2019 年 2 月期间,使用位于智利天文台的 160 毫米折射望远镜拍摄的。

大麦哲伦星云距离地球大约 16 万光年,是最靠近银河系的星系之一,大约包含了 200 亿颗恒星,也是裸眼能看见的最遥远天体之一。北半球大多数区域看不到它,只有南半球才能看到。

7、Minecraft 的 AR 玩法

Minecraft 发布了 AR(增强现实)新玩法,允许在现实世界叠加像素艺术。你只要掏出手机,对准街景,就可以在上面叠加一个 Minecraft 层。其他玩家在同一个地点,就可以看到这个层,与你互动。

由于这是微软的产品,应该会引进国内,看看会不会造成像《口袋妖怪》那样的抓宝风潮。

8、一句话新闻

  • 美国2019 年销售的汽车 82%带有触摸屏,五年前这一比例为 53%。这意味着,大部分汽车带有一个计算机操作系统。特斯拉的系统有 86% 的满意度,评价最高,其次是宝马 80%。

  • 微软 将 Linux 内核放进了 Windows 10,这是 Linux 第一次成为 Windows 的一部分。

  • 日本 计划将手机号码升级到 14 位,取代现在的 11 位号码。原因是 5G 通信普及以后,将有大量号码用于“机器对机器”的通信(比如 5G 电视),11 位号码不够用了。

  • 美国国防部高级研究局 正式宣布,与六所大学合作,研发下一代脑机接口,直接用神经活动控制计算机。

文章

1、电路图符号解释(英文)

本文介绍基本的电路图符号的含义。

2、一张纸对折 12 次(英文)

长久以来,人们一直认为,一张纸最多对折 7 次。2002 年,加利福尼亚州的 17 岁中学生 Britney Crystal Gallivan(1985 年出生)成功演示了,将一张 1200 米长的卫生纸对折 12 次。她还给出了一个计算公式(上图),根据纸张的厚度和想要对折的次数,算出所需的纸张的最小长度。

3、Caddy 服务器如何过滤网络请求(英文)

Caddy 是一种非常好用的 Web 服务器,作者演示如何根据 HTTP 请求携带的 Cookie 信息,返回不同的 CSS 样式表。

4、一种新的网络钓鱼方法(英文)

安卓系统的 Chrome 浏览器,用户向下滚动网页的时候,会自动隐藏地址栏。有人就利用这个特点,伪造了一个地址栏(上图的 hsbc 的地址栏就是伪造的),用来网络钓鱼。

5、虚拟内存探究(中文)

这组系列文章通过实验的方式,介绍虚拟内存的相关概念和实现,这里是中文翻译,还可以参考 英语原版。(@NeoTse 投稿)

6、x86-64 汇编语言入门教程(英文)

本文通过运行一个最简单的 hello world 实例,介绍汇编语言的基本概念。

7、使用 Wasabi 和 restic 备份服务器(英文)

本文介绍如何写一个简单的脚本,将服务器数据备份到 Wasabi。

8、如何从零开始制作一块智能手表(英文)

本文含有大量图片,作者从零开始制作一块手表,表盘是 3D 打印的,电路是自己设计的,电池和充电器都是自己装配的。

9、二进制文件的编译过程(英文)

源码编译成为可运行的二进制文件,有好几个步骤,本文用一个最简单的例子,详细解释编译器的每一步都在干什么。

10、美国政府的高技术管制名单(英文)

2018 年底,美国联邦政府发布了一份高技术出口管制名单,列出了 14 个大项、40 多个小项的管制行业。凡是属于这些行业,原则上都不能出口,必须得到政府批准。这份名单可以当作参考,目前哪些行业属于真正的高科技行业。

软件

1、water.css

一个极小化的 CSS 框架,用来快速为网页加上简单样式,特别是不必使用任何 class。

2、ElGrapho

一个基于 WebGL 的浏览器数据可视化库,主要用于性能要求特别高的可视化图形。

3、googler

命令行搜索谷歌的工具。另外,还有一个 DuckDuckGo 的命令行客户端 ddgr

4、Convert images to LaTeX

数学公式的截图 OCR 转为 LaTex 代码的桌面软件。(@chenylvia 投稿)

5、ScreenDump

一个在线截屏工具。用户只要输入网址,就会显示各种设备的网页截屏,相当方便。

6、I love IMG

该网站提供各种在线的图像编辑工具,比如图像缩放、压缩、裁剪、水印等。(@ifrontend-xyz 投稿)

7、mpvue

基于 Vue.js 的小程序开发框架,美团点评出品。这里有一篇 教程,以及用它开发的 Unsplash 小程序。(@iyuyoung 投稿)

8、Motrix

一款桌面端下载工具,支持下载 HTTP、FTP、BT、磁力链、百度网盘等资源。(@ifrontend-xyz 投稿)

9、js-cloudimage-360-view

一个可以 360 度旋转观看图片的 JS 库,用于在网页上展示商品。

10、re-editor

一个基于 Slate 的开箱即用的 React 富文本编辑器,可以定制化。(@wowlusitong 投稿)

11、Pyodide

一个在浏览器运行的完整的 Python 解释器,可以执行 Python 脚本。

12、Microsoft Edge MacOS 预览版

Microsoft 公司的 Edge 浏览器发布第一个 MacOS 的版本。(@sedgwickz 投稿)

资源

1、国家地理频道纪录片:宇宙时空之旅

美国国家地理频道拍摄的 13 集科学纪录片,从理论物理学的角度,探讨宇宙的奥秘。中英文字幕,网易公开课提供全片。(@qinhanlei 投稿)

2、wapm

一个收集 WebAssembly 软件包的网站,相当于 WebAssembly 模块的 NPM。它还提供一个命令行工具,可以在命令行运行这些软件包。

3、数据库基础

免费的英文电子书,介绍数据库涉及的基本的数学知识。

4、MuseNet

人工智能公司 OpenAI 开发的自动作曲系统,可以指定你想听的音乐家(比如肖邦、莫扎特),然后该系统就会使用 10 种乐器生成一段 4 分钟的音乐。现在,OpenAI 每天在网上直播音乐会,旋律都是人工智能生成的。

5、数据科学的原理与技巧

加州大学伯克利分校的本科生入门教材,全英文,介绍数据科学原理,内容较简单,需要统计学和 Python 基础。

6、RemixIcon

一套免费高质量的开源图标库,目前有 1500 多枚图标,提供矢量图和字体图标文件,可用于商业用途。(@xiaochunjimmy 投稿)

文摘

1、为什么我们的工作时间越来越长?

中国社科院曾经发布过一个报告,说 2017 年我国每天工作时间超过 8 小时的人,占了 42.2%。而且这不仅仅是中国的情况,日本,美国这些发达国家也普遍存在过劳。

这种现象虽然普遍,而且我们都身在其中。但仔细想想就会发现,其实“过劳”这件事,不太符合逻辑。

我们都知道,近两百年,人类整体的生产效率,那是一飞冲天啊。按说,生产效率上去了,单位工作时间的产出高了,那相应的工作时间应该减少才对啊。所以经济学家凯恩斯在 1930 年曾经做出一个有名的预测,他认为到 2030 年,人类的劳动时间每周 15 小时,就足够了。

现实是,很多互联网公司甚至开创了 996 模式,上午 9 点上班,下午 9 点下班,一周工作 6 天。我们还有 724 模式,一周 7 天 24 小时随时待命。你看,凯恩斯在 1930 年的预测错了。错的离谱,方向都错了。

问题是:他为什么错了?工具越高级,应该干活越省力才对。那为什么我们反而更累了呢?

《过劳时代》这本书里提供了很多解释。比如,全球化把所有人拉到了同一个竞争平面上。你是在一个地方工作,但你不是在和一个地方的人竞争。一个美国的工人是和一个中国的工人,甚至是非洲的工人在竞争。所以,竞争强度增大了。再比如,消费主义盛行。你和身边的人越来越多的攀比,比房子比车比包包比度假酒店,你想挣钱的欲望就越大,所以只能拼命干活。等等。

但是,我觉得最有说服力的解释,不是这些。问题的根子不在别的,就在于生产工具本身。它越进化、越高级、效率越高、越好用,我们就用得越多,所以工作时间就越长。

这是一个很有意思的悖论。举个例子,过去我们上班,必须得到单位才行,和同事见了面,才能展开协作。很不方便,后来有了电脑,有了邮件,有了微信,按说是更方便、更省时间了。但是结果呢?你知道的,老板能随时在微信群里抓到我们说事,周末也行,深更半夜也行。你上班的时间能不更长吗?

表面上看,工具的发明,总是解决一个现实问题的。有了斧头,砍树就更快。有了汽车,走得就更远。这是工具给我们提供的第一样东西,叫便利性。

但是,如果你只看到这一面,就忽略了一个更重要的东西,这也是工具带来的。你要解决问题,任何问题都是有它的时间空间边界的,工具一升级,边界内的问题,是被更高效的解决了,但是,这个时空边界本身也被打破了。于是,会出现新的问题,而且是更大的问题。

比如说,当年人们用马车,非常慢。后来,给车装上了发动机,这就成了汽车,速度提上去了。在有限的时空边界内,这就是一项改善。确定无疑的改善吧?那你说,会因为速度提上去了,所以,人旅行用的时间少了,所以车就会变少吗?当然不是啊。因为汽车打破了原来的时空限制,出现了全新的可能性。你就想,原来坐马车,你至少要带一个马车夫。现在呢?可以开汽车,一个人就可以开车,没有马车夫打扰了。车不仅是交通工具,它还是一个移动的私人空间了。所以就出现了一种新的行为方式,没有确定目的的开车兜风,这种行为模式就出现了。不去哪儿,就是带上女朋友开车去看看诗和远方。车的使用当然就越来越多。

当然,现实中远远不止是这一种情况了。因为车可以走得更远,所以,就一定会走得更远。因为可以走得更远,所以,整个社会的假设就变了,汽车旅馆就出现了,郊区景点和度假村就出现了,远离城区的购物中心,像奥特莱斯就出现了。这就反过来逼迫,你如果不能有汽车,你不能走得更远,你就没有办法享受社会基础设施提供的便利。它就会走到这个程度。

你看,这个过程就是:工具不仅为你解决了问题。工具还在你始料未及的地方,推开了一扇新的可能性的大门。这扇大门一旦推开,就再也关不上了,后面的人就会一涌而出,只会把门撑得越来越宽。这就是工具对人的反向塑造。

有句话叫,身怀利刃杀心自起。你身上有把刀,看见什么都想用上。对,工具虽然只是提供了某种可能,但是人性使然,我们总是倾向于要把这种可能性变成现实性。工具在可能性上推开了多大的空间,我们就一定会倾向于把这个空间填满。

理解了这个逻辑,再回到今天的主题,为什么劳动工具效率越来越高,我们却越来越忙呢?这么看来,答案就非常简单了。和全球化,消费主义有关,但关系没那么大。因为劳动工具让我们工作的可能性越来越高,我们就一定会把这个可能性填满,我们当然就会一直工作,所以越来越忙。

《过劳时代》这本书的解读人,李南南老师还开了一个脑洞。他说,假如未来,你的工资不是按月计算,而是按秒计算。在你的面前,有一个计时器,你每多工作一秒,你的账上马上就会多一毛钱。结果会是什么?表面看起来,这对你只有好处没有坏处。首先,每天工作 8 小时,这就是一天 2880 块钱,不少吧?你收入提高了。更重要的是,你碎片时间的工作,比如,吃饭间歇、睡觉前给同事回个工作微信,也能计算报酬了,对你更公平了。好事吧?好工具。

但这是在你现在的时空边界下看问题。真实情况可能是,这个可能性的大门一旦打开,大多数人因为碎片时间也能挣钱,会工作到筋疲力尽才会停。如果不信,你现在到网吧里去看看那些打游戏挣积分通宵不睡的人,你就知道,如果真有那么一天,工作到筋疲力尽那就是我们的未来。

图片

1、微软总部

当你漫步在微软位于西雅图 Overlake 社区的庞大总部时,一定会觉得,那里熙熙攘攘的喧嚣就像大学校园一样。

微软在那里雇佣了超过 50,000 名员工。午餐时间,你会发现很多人在微软内部的许多咖啡馆和餐馆闲逛,在建筑物之间漫步,浏览商店,就像周末在一个小镇一样。

微软总部的中央大楼,里面有咖啡馆、银行、电信服务、快递服务、酒吧、餐厅和体育用品商店。较低楼层是提供全世界各种口味食物的免费食堂。

中央大楼室外有几个运动场,那里举办的员工足球和板球联赛非常受欢迎。

总部内部还有一片森林,里面有一套树屋会议室。

在微软较新的工作空间中,八到十二人的团队一起工作在大型吊舱中,附近有一些会议室、休息区、咖啡馆、游戏设施,甚至还有充满乐器的音乐室。

言论

1、

工会不允许波音公司解雇任何人,结果导致有大量不干活的员工。我保守估计,同事中有 30%是反社会人士,他们会积极破坏其他人的工作;另外 50%的人在那里愚蠢地整天瞎扯,阅读报纸或书籍;剩下的 20%才是那些真正关心飞机乘客不会死亡的人。

-- 一个自称是 波音员工 的人,在网上爆料。

2、

我发现很多东西都过时了。其中一个就是签名,现在没有人要我的签名,大家都拿着手机,要求跟我一起自拍。

-- 泰勒·斯威夫特,美国红歌星

3、

年少时,我选择做一件事,只是因为我喜欢这件事。现在,只要一个爱好无法获利,我就会放弃它,转而开始尝试一个可能带来收入的新的爱好或目标。

-- 《每个爱好都是一次赚钱的尝试》

4、

任何情况下,几乎都不应该购买喷墨打印机。激光打印机已经非常便宜,而喷墨打印机的墨水非常贵,实际比香奈儿 5 号的香水还贵。一加仑墨水的价格,可以购买超过 2,600 加仑的汽油!

-- 《没有理由购买喷墨打印机》

5、

我们现在可以期待,中国人加倍努力推出自己开发的智能手机操作系统,设计自己的芯片,开发自己的半导体技术,并实施自己的技术标准。这只会加速创建数字铁幕的过程,将世界分为两个截然不同的互斥技术领域。

-- 《技术冷战已经开始》,彭博社评论

回顾

去年的本周:《每周分享第 5 期》

阮一峰 每周分享第 57 期

订阅

这个专栏每周五发布,同步更新在我的 个人网站 微信公众号 语雀

微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

(完)

评论(没有评论)