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

封面图

一个摄影师在荷兰拍到了一只倒着飞的鹅。(via[3]

本周话题:软件订阅制的胜利

上周,苹果公司最新一季的财报,披露了一个惊人的数据[4]:它有 7亿 付费订阅用户。
这太可怕了。世界总人口目前大约是78亿,里面包含了小孩、老人、文盲、穷人。即使把他们都算在内,全世界每11个人里面,就有一个人购买苹果公司的软件服务。软件生意还能做得比这更大吗?
注意,这是付费用户,不是免费用户。作为比较,阿里巴巴上周也宣布[5],它有10亿活跃用户,但那是免费用户。如果每月付费才能使用淘宝,不知还有多少能留下来。
苹果的付费订阅服务,目前主要有六项。
iCloud:存储服务Apple Music:音乐服务Apple TV:视频服务Apple News:新闻服务Apple Fitness:健身服务Apple Arcade:游戏服务
苹果把它们打包在一起,做成了一个 Apple One 订阅包。7亿订阅用户应该就是购买这些服务的人数。至于硬件质保的 Apple Care 服务,可能不包括在里面,因为它属于硬件销售收入,而不是软件收入。
今天我想谈的,并不是这些服务本身,而是想提醒大家注意。 世界最大的一些软件公司,正在改变软件销售模式,不再销售软件本体了,而是收取软件服务的订阅费。 苹果只是其中一个典型的例子。
除了苹果,世界最大的桌面软件商——微软公司也正在改成订阅制。它的 Office 已经变成了 Office365 服务,都在云端使用,个人版的价格是每年398元人民币。它还有计划在今年下半年,推出 Windows365[6] 服务,把 Windows 也变成云服务,按年收费。
Adobe 公司更是在几年前,就把自己的所有产品都变成了订阅制,单单一个 PhotoShop,一年的订阅价格是888元人民币。
我认为, 软件订阅制是未来的趋势。 因为这对于软件公司很有利,销售软件从一次性收入变成了经常性收入,能够产生稳定的现金流。只要用户使用,就必须付费,连续使用就必须连续付费。而且,有了订阅制,总能让用户使用软件的最新版,软件公司就不必为支持旧版本烦恼了。
对于用户来说,相对就不那么有利。以前只要购买了软件,就可以一直用下去,现在则是只能用一个月或一年。用得越久,费用越高,甚至可能产生对它的依赖。曾经有过例子,用户使用 PhotoShop 编辑照片,保存为 Adobe 专有格式,过了一阵子再想打开,只能再次订阅 PhotoShop。
除了软件,只要是可以长期消费的东西,似乎也在向订阅制转变。最近有新闻[7],教科书巨头培生(Pearson)推出了 Pearson+ 服务[8],美国学生以每月 14.99 美元的价格订阅其所有 1,500 种教材的电子版,可以搜索、做笔记、听有声版、专家咨询等等。
总之, 凡是可以数字化的商品,未来可能都会变成订阅制。 大家会习惯,每月像付电费那样,支付各种服务订阅费。

文档工具 ShowDoc

本周向大家介绍一款国产文档工具 ShowDoc[9]。周刊不定期推广优秀的国产软件,有意的朋友欢迎与我联系(Email:[email protected][10])。
软件业有一句名言,感叹文档是多么重要,又是多么难写。
程序员痛恨两件事:写文档和没有文档。( Coders hate 2 things: writing documentation and no documentation. )
好的文档工具,可以促进写作,减轻维护负担,给项目和团队带来巨大帮助。ShowDoc[11] 就是这样一款工具,简单易用,符合中国程序员用户的使用习惯,团队用户已经超过 10 万,包括腾讯、华为、百度、京东、字节跳动等知名公司的一些内部团队。
它主要解决这样一个问题:小团队或者个人开发者,希望有一个开箱即用的文档中心,能够快速地生成、展示、搜索文档,还能够多人协作,划分权限,并且还有桌面的和手机的客户端[12]。如果你也有这种需求,不妨试试看这个工具。
它的代码完全开源,放在 GitHub[13] 上面,是一个热门项目,超过9000颗星。可以放心使用。
如果你自己有服务器,安装很简单,一行命令[14]就可以了,底层的 Docker 容器自动帮你部署好。Windows 环境[15]也支持,但是安装稍微复杂一点。启动服务后,本机浏览器访问 localhost:4999 ,你就拥有了一个全功能的文档中心,就这么简单。只要绑定域名,就能对外访问。
网站首页上,默认有几个示例仓库[16],可以点进去看看。
除了常用的文档库和电子表格库,它还有两个技术文档的特色功能。一个是 API 文档库[17],解析源码注释,自动生成 API 的说明文档。另一个是数据字典文档[18],解析数据库结构,自动生成数据库每张表的说明文档。
为了配合软件 API 文档的生成,官方还特别开发了一个独立服务 RunApi[19],用来模拟定制 HTTP 请求,完成接口测试、自动流程测试、Mock 数据等功能,类似于 Postman,但它是完全免费的。并且,在调试 API 的过程中,自动生成文档到 Showdoc,极大提高团队的效率。平时调试 API 接口,也可以使用这个服务。
所有 ShowDoc 文档仓库都可以使用 API[20] 自动创建和批量导入,也可以导出为 Word 或 Markdown 文件。每个团队除了公共仓库,成员个人还可以新建私密仓库。
如果你没有或者不想维护自己的服务器,可以使用官方的在线版[21]托管文档,不超过5人的团队都是免费的。对于那些自己架设服务的团队,官方提供收费技术支持[22],帮助维护。
好了,感兴趣的朋友可以试试这个工具[23],任何问题可以到 GitHub 提 issue[24] 或 QQ 群[25]咨询。

科技动态

1、印度空气净化扇[26]
印度首都新德里,是世界空气最脏的城市之一。最近,市中心的豪华购物区耗资200万美元,建造了一个空气净化装置,40 台巨型风扇同时过滤空气。
这个装置是一个 25 米高的风扇塔,预计将于本月完工。它的目的是为旁边的商业街和咖啡馆,提供大约一平方公里范围的干净空气。目前尚无法知道,该方法是否真能奏效。
2、投篮机器人[27]
东京奥运会的第一场男子篮球比赛(美国对法国),中场休息时,丰田公司的一个投篮机器人为观众表演超准的三分球,可以在中圈命中蓝框。非常精彩,下面的30秒现场视频[28]值得一看。
这个机器人身高2米04,是丰田公司17位工程师在业余时间研制的。它采用人工智能算法,会利用重复投篮进行数据调整,最终实现百发百中。
3、无人机犯罪[29]
西班牙警方最近发现,有人从摩洛哥放飞一架巨大的无人机,越过西班牙边境,运送毒品。
该无人机为中国生产,宽4.5米,可以载重150公斤,最高飞行速度 170 公里/小时,续航7小时,价格在3万欧元到15万欧元之间。
这架无人机故意飞得很低,防止穿越国境时被雷达发现。但是,它是远程遥控的,接受无线电信号,警方通过异常的无线电信号发现了它。
4、坦克图纸[30]
《战争雷霆》((War Thunder)是一款多人对战游戏,玩家使用各种真实存在的武器,参加历史上的各种战争。
日前,有玩家自称为军人,认为游戏里面的“挑战者 2“(Challenger 2)坦克(下图)与实物有差异,就在游戏论坛上传了真实的坦克设计图纸,要求游戏公司据此更正。
但是,这辆坦克仍然是英国军队的现役主战坦克,所有设计图纸都是保密的。
几天后,游戏公司删掉了这个文件,并发表了声明:”经过向国防部询问,我们已经确认该文件仍然属于保密文件。传播该文件违反了英国《保密法》,最高可处 14 年的监禁。“
5、汽油味香水[31]
福特汽车的一项调查发现,五分之一的司机表示,他们在电动汽车上,闻不到汽油味,感到不适应。近 70% 的人说,他们某种程度上想念汽油味。
福特汽车因此发明了一种新的香水,“混合了淡淡的汽油味、烟熏味和橡胶味。”
6、最喜欢喝可乐的地方[32]
墨西哥最贫穷的恰帕斯州,是世界上含糖饮料(主要是可口可乐)消费量最高的地方。根据2019年的统计,当地居民每人每年平均饮用 821.25 升饮料,相当于每天 2.2 升。
原因是当地公共设施非常落后,无法提供清洁的饮用水。可口可乐在该州正好有一家巨大的装瓶厂,以很便宜的价格出售饮料。所以,当地男女老少几乎都用可口可乐替代饮用水,甚至有些婴儿在应该只喝母乳的时候,他们的母亲给他们喝可口可乐。
更糟糕的是,含糖饮料有成瘾作用,喝习惯以后,会一直想喝。所以,毫不奇怪,糖尿病是该州居民的一个主要死因,每年夺走 3,000 多人的生命。但即使这样,那些糖尿病患者发病后,还是一直在喝可乐,他们说自己无法想象没有这种饮料的生活。

文章

本文介绍中国的一些年轻建筑师,正在尝试重新设计农村的厕所。
农村没有给排水管网,厕所的水从哪里来?污水往哪里排放?而且,乡村厕所往往是在建筑外部的一个单独空间,尤其是北方,冬天如何保温?难道单独为厕所供暖?
2、苏炳添的论文(中文)
苏炳添是第一个100米跑进10秒的亚洲人。除了短跑运动员之外,他还有另外两个身份:暨南大学体育学院副教授以及北京体育大学2019级博士研究生。他曾经发表论文,以自己为例,研究怎样才能跑得更快。
3、如何生成一个数独游戏[33](中文)
作者介绍了自动生成数独游戏的编程思路。(@guanghechen[34] 投稿)
4、如何优化 node 项目的 docker 镜像[35](中文)
作者介绍如何一步步将一个 Node.js 应用的 Docker 镜像文件,从 1.06G 压缩到 73.4M,构建速度从 29.6 秒提高到 1.3 秒。(@iamobj[36] 投稿)
5、好友关系的数据库设计[37](英文)
用户互相加为好友,数据库应该怎么设计,才能方便以后查询和删改?
6、网页暗模式只要一行代码[38](英文)
本文介绍如何使用一个 CSS 命令,反转网页颜色。
7、谷歌是否索引 CSS 文本内容[39](英文)
CSS 可以通过伪元素向网页添加文本内容,作者做了一个实验,看看谷歌会不会索引 CSS 引入的文本。
8、为什么人眼对蓝色不易聚焦[40](英文)
一篇有点奇怪的文章,解释人眼为什么对蓝色不易聚焦,更容易对红色和绿色物体聚焦。
文章的例子很生动,上图的蓝色通道全部都进行了模糊,几乎不影响清晰度。如果对红色和绿色通道进行模糊,马上就会影响清晰度。但是这个例子说服力不强,因为上图中,蓝色主要是海洋,本来也没有多少细节。

工具

1、Obsidian[41]
手机 Markdown 编辑器,功能非常强,主要用于做笔记,有大量插件。编辑功能免费,桌面端同步功能需要付费。
2、Fakeflix[42]
网友写的 Netflix 的前端仿制品,用来练习 React + Redux 的用法。
3、PhotoBook[43]
一个概念产品,用户上传照片,在网页上生成一个 VR 相册,可以翻页浏览。
4、hookdeck[44]
一个 Web 服务,专门用来接收各种 Webhook 调用,相当于一个集中管理 Webhook 的平台。
5、DataEase[45]
一个开源的数据可视化分析工具,支持丰富的数据源连接,能够通过拖拉拽方式,快速制作图表和仪表盘。(@chixq[46] 投稿)
6、Mousai[47]
一个开源的桌面软件,可以根据音乐,识别这是什么歌曲。
7、html-to-image[48]
一个网页 JS 库,用于将 DOM 节点转成可以下载的图片,原理是在内存里面使用 canvas 和 SVG 对节点重新渲染一次。
8、mandodb[49]
一个示例项目,作者介绍如何从零开始实现一个小型的时序数据库(TSDB),也就是专门用于时间序列的数据库。(@chenjiandongx[50] 投稿)

资源

1、SVN Cheatsheet[51]
该网页整理了一些 SVN 常用指令的中文介绍,方便查询使用。(@Spike-Leung[52] 投稿)
2、Rust 和 WebAssembly[53]
一本免费阅读的英文教程,介绍如何用 Rust 语言开发 WebAssembly 程序。
3、信息检索导论[54]
一本免费阅读的英语教材,介绍搜索引擎的原理和基本技术。
4、1 亿美元的减碳奖[55]
马斯克基金会向全球征集最佳减碳方法,总奖金为1亿美元,第一名可以独得5000万美元。这是官方网站,可以去那里报名。
5、Public API Lists[56]
这个 GitHub 仓库收集了各种专供软件开发使用的免费 API。

图片

1、液晶门[57]
美国有一家叫做 Cooler Screens 的创业公司,推出了液晶门,整个门就是一块巨大的液晶屏幕。
请看下面的图片,你觉得这是自动售货机吗?
错了,这是实体的液晶门,正在展示广告。想买屏幕上的商品吗?请推开门,门后是一家超市,请看下面的视频演示[58]
这种液晶屏幕门,也可以用来播放大屏动态广告,非常炫酷。
2、卵石画[59]
一位英国艺术家展示了如何用不同颜色的卵石作画。

文摘

1、开发者为什么放弃自己的开源项目?[60]
大部分的开源软件,是个人开发者创建的。其中能够长期维护的少之又少,绝大部分项目最终都会被放弃。
下面是一个不完全列表,列出了开发者放弃自己的开源项目的主要原因。从中你就可以知道,个人维护一个长期项目有多难。
1)该项目是免费的,因此没有金钱激励来让开发者继续工作。
2)使项目跟上最新的技术进展,非常困难和耗时。
3)开发者对这个项目感到厌烦,不想继续做了,因为最早只是出于好玩,或为了学校作业而开发的。
4)项目已经失控,变得太大了,很难维护。
5)该项目的主要用户是不太懂计算机的人,每天有大量的、愚蠢的、缺乏耐心的支持请求。
6)出现了更好的替代方案。
7)开发者之间的摩擦,导致主要贡献者离开。
8)开发者的优先事项,从项目转移到其它事情上面,比如结婚有了小孩。
9)项目的代码质量很差,导致维护和重构困难。
10)开发者决定把项目卖给其他人。
11)一种新技术出现了,使得该项目过时了。

言论

1、
银牌真的让我很不舒服。如果你赢得了金牌,你会感觉很好;如果你赢得了铜牌,你会安慰自己,“好吧,至少我得到了一些东西”。
但是当你赢得银牌时,就像有人对你说,“恭喜你,你差点赢了。在所有输家中,你排在第一名,没有人比你更靠近金牌!”
——Jerry Seinfeld[61]。一项研究称,根据奥运会颁奖时的面部表情识别,铜牌得主比银牌得主更快乐。
2、
我们的目标是永远保存 10 亿人的著作。
-- 布鲁斯特·卡利[62],互联网档案馆(Internet Archive)创始人,庆祝该项目创立25周年。
3、
我一直被问到工作与生活的平衡,我的观点是,这种说法会让人变软弱,因为它意味着你必须权衡,何时工作,何时生活。实际上,工作和生活是融合在一起的,一方不顺利,另一方就会受到影响。它们不是平衡关系。
-- 贝佐斯[63],亚马逊的老板
4、
SQLite 的应用太广泛,测试量也很惊人。每个版本发布之前,都要进行各种单元测试、参数测试、模糊测试,一共有数十亿次,运行一次完整的自动化测试,需要数天时间。
-- Hacker News 读者[64]
5、
每一行代码都是一种负担。如果增加代码行数,就会增加你的责任。
--《创业公司生存指南》[65]

历史上的本周

2020年(第 119 期):降雨量和保险博弈
2018年(第 16 期):科技改变死亡的模式

References

[1]
 ruanyf/weekly: 
https://github.com/ruanyf/weekly
[2]
 《谁在招人?》: 
https://github.com/ruanyf/weekly/issues/1870
[3]
 via: 
https://wgme.com/news/offbeat/goose-flying-upside-down-is-simply-showing-off-say-experts
[4]
 数据: 
https://www.pymnts.com/earnings/2021/apple-paid-subscriptions-hit-700m-up-150m-since-last-year/
[5]
 宣布: 
https://finance.sina.com.cn/tech/2021-07-27/doc-ikqciyzk7987897.shtml
[6]
 Windows365: 
https://www.microsoft.com/en-us/windows-365
[7]
 新闻: 
https://www.ft.com/content/54fd50fe-f15f-47c0-965d-797573c5ec9c
[8]
 Pearson+ 服务: 
https://plc.pearson.com/en-US/our-products-and-services/pearson-plus
[9]
 ShowDoc: 
https://www.showdoc.com.cn/
[10]mailto:[email protected]
[11]
 ShowDoc: 
https://www.showdoc.com.cn/
[12]
 客户端: 
https://www.showdoc.com.cn/clients
[13]
 GitHub: 
https://github.com/star7th/showdoc
[14]
 一行命令: 
https://www.showdoc.com.cn/help?page_id=828455960655160
[15]
 Windows 环境: 
https://www.showdoc.com.cn/help/4087044677189279
[16]
 示例仓库: 
https://www.showdoc.com.cn/item/index
[17]
 API 文档库: 
https://www.showdoc.com.cn/page/741656402509783
[18]
 数据字典文档: 
https://www.showdoc.com.cn/page/312209902620725
[19]
 RunApi: 
https://www.showdoc.com.cn/runapi/30291
[20]
 API: 
https://www.showdoc.com.cn/page/102098
[21]
 在线版: 
https://www.showdoc.com.cn
[22]
 收费技术支持: 
https://www.showdoc.com.cn/help/6199117240201189
[23]
 这个工具: 
https://www.showdoc.com.cn/
[24]
 提 issue: 
https://github.com/star7th/showdoc/issues
[25]
 QQ 群: 
https://www.showdoc.com.cn/help/6912631551342243
[26]
 印度空气净化扇: 
https://techxplore.com/news/2021-07-smog-tower-delhi-experts-sceptical.html
[27]
 投篮机器人: 
https://v.qq.com/x/page/w0039aev369.html
[28]
 现场视频: 
https://v.qq.com/x/page/w0039aev369.html
[29]
 无人机犯罪: 
https://english.elpais.com/spain/2021-07-15/spanish-police-seize-large-drone-used-to-carry-drugs-from-morocco.html
[30]
 坦克图纸: 
https://ukdefencejournal.org.uk/classified-challenger-tank-specs-leaked-online-for-videogame/
[31]
 汽油味香水: 
https://electrek.co/2021/07/15/ford-petrol-scent-for-electric-cars-barrier-ev-adoption/
[32]
 最喜欢喝可乐的地方: 
https://mexiconewsdaily.com/news/with-average-daily-consumption-of-2-2-liters-of-coca-cola-chiapas-leads-the-world/
[33]
 如何生成一个数独游戏: 
https://me.guanghechen.com/post/game/sudoku/
[34]
 @guanghechen: 
https://github.com/ruanyf/weekly/issues/1874
[35]
 如何优化 node 项目的 docker 镜像: 
https://juejin.cn/post/6991689670027542564
[36]
 @iamobj: 
https://github.com/ruanyf/weekly/issues/1873
[37]
 好友关系的数据库设计: 
https://minimalmodeling.substack.com/p/modeling-mutual-friendship
[38]
 网页暗模式只要一行代码: 
https://davidwalsh.name/dark-mode-invert-filter
[39]
 谷歌是否索引 CSS 文本内容: 
https://www.searchcandy.uk/seo/technical-seo/css-pseudo-elements/
[40]
 为什么人眼对蓝色不易聚焦: 
https://calebkruse.com/10-projects/seeing-blue/
[41]
 Obsidian: 
https://obsidian.md/mobile
[42]
 Fakeflix: 
https://github.com/Th3Wall/Fakeflix
[43]
 PhotoBook: 
https://awesomealbum.com/photobook
[44]
 hookdeck: 
https://hookdeck.com/
[45]
 DataEase: 
https://github.com/dataease/dataease
[46]
 @chixq: 
https://github.com/ruanyf/weekly/issues/1872
[47]
 Mousai: 
https://github.com/SeaDve/Mousai
[48]
 html-to-image: 
https://github.com/bubkoo/html-to-image
[49]
 mandodb: 
https://github.com/chenjiandongx/mandodb
[50]
 @chenjiandongx: 
https://github.com/ruanyf/weekly/issues/1876
[51]
 SVN Cheatsheet: 
https://spike-leung.github.io/blog/others/svn-cheatsheet.html
[52]
 @Spike-Leung: 
https://github.com/ruanyf/weekly/issues/1875
[53]
 Rust 和 WebAssembly: 
https://rustwasm.github.io/docs/book/introduction.html
[54]
 信息检索导论: 
https://nlp.stanford.edu/IR-book/
[55]
 1 亿美元的减碳奖: 
https://www.xprize.org/prizes/elonmusk
[56]
 Public API Lists: 
https://github.com/public-api-lists/public-api-lists
[57]
 液晶门: 
https://twitter.com/RunDaltonRun/status/1408566439833788423
[58]
 视频演示: 
https://v.qq.com/x/page/u3255jduawe.html
[59]
 卵石画: 
https://www.odditycentral.com/art/the-awe-inspiring-pebble-mosaics-of-justin-bateman.html
[60]
 开发者为什么放弃自己的开源项目?: 
https://sambhav.saggis.com/en/blog/2021-06-21-free-software-and-freakonomics
[61]
 Jerry Seinfeld: 
https://news.ycombinator.com/item?id=28010560
[62]
 布鲁斯特·卡利: 
https://blog.archive.org/2021/07/21/reflections-as-the-internet-archive-turns-25/
[63]
 贝佐斯: 
https://www.businessinsider.com/jeff-bezos-work-life-balance-debilitating-phrase-career-circle-2021-7
[64]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=27719052
[65]
 《创业公司生存指南》: 
https://blog.kalvad.com/surviving-guide-for-a-tech-startup/
继续阅读
阅读原文