科技爱好者周刊(第 170 期):软件订阅制的胜利
这里记录每周值得分享的科技内容,周五发布。
本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。
周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。
封面图
一个摄影师在荷兰拍到了一只倒着飞的鹅。(via)
本周话题:软件订阅制的胜利
上周,苹果公司最新一季的财报,披露了一个惊人的数据:它有 7亿 付费订阅用户。
这太可怕了。世界总人口目前大约是78亿,里面包含了小孩、老人、文盲、穷人。即使把他们都算在内,全世界每11个人里面,就有一个人购买苹果公司的软件服务。软件生意还能做得比这更大吗?
注意,这是付费用户,不是免费用户。作为比较,阿里巴巴上周也宣布,它有10亿活跃用户,但那是免费用户。如果每月付费才能使用淘宝,不知还有多少能留下来。
苹果的付费订阅服务,目前主要有六项。
- iCloud:存储服务
- Apple Music:音乐服务
- Apple TV:视频服务
- Apple News:新闻服务
- Apple Fitness:健身服务
- Apple Arcade:游戏服务
苹果把它们打包在一起,做成了一个 Apple One 订阅包。7亿订阅用户应该就是购买这些服务的人数。至于硬件质保的 Apple Care 服务,可能不包括在里面,因为它属于硬件销售收入,而不是软件收入。
今天我想谈的,并不是这些服务本身,而是想提醒大家注意。 世界最大的一些软件公司,正在改变软件销售模式,不再销售软件本体了,而是收取软件服务的订阅费。 苹果只是其中一个典型的例子。
除了苹果,世界最大的桌面软件商——微软公司也正在改成订阅制。它的 Office 已经变成了 Office365 服务,都在云端使用,个人版的价格是每年398元人民币。它还有计划在今年下半年,推出 Windows365 服务,把 Windows 也变成云服务,按年收费。
Adobe 公司更是在几年前,就把自己的所有产品都变成了订阅制,单单一个 PhotoShop,一年的订阅价格是888元人民币。
我认为, 软件订阅制是未来的趋势。 因为这对于软件公司很有利,销售软件从一次性收入变成了经常性收入,能够产生稳定的现金流。只要用户使用,就必须付费,连续使用就必须连续付费。而且,有了订阅制,总能让用户使用软件的最新版,软件公司就不必为支持旧版本烦恼了。
对于用户来说,相对就不那么有利。以前只要购买了软件,就可以一直用下去,现在则是只能用一个月或一年。用得越久,费用越高,甚至可能产生对它的依赖。曾经有过例子,用户使用 PhotoShop 编辑照片,保存为 Adobe 专有格式,过了一阵子再想打开,只能再次订阅 PhotoShop。
除了软件,只要是可以长期消费的东西,似乎也在向订阅制转变。最近有新闻,教科书巨头培生(Pearson)推出了 Pearson+ 服务,美国学生以每月 14.99 美元的价格订阅其所有 1,500 种教材的电子版,可以搜索、做笔记、听有声版、专家咨询等等。
总之, 凡是可以数字化的商品,未来可能都会变成订阅制。 大家会习惯,每月像付电费那样,支付各种服务订阅费。
文档工具 ShowDoc
本周向大家介绍一款国产文档工具 ShowDoc。周刊不定期推广优秀的国产软件,有意的朋友欢迎与我联系(Email:yifeng.ruan@gmail.com)。
软件业有一句名言,感叹文档是多么重要,又是多么难写。
程序员痛恨两件事:写文档和没有文档。( Coders hate 2 things: writing documentation and no documentation. )
好的文档工具,可以促进写作,减轻维护负担,给项目和团队带来巨大帮助。ShowDoc 就是这样一款工具,简单易用,符合中国程序员用户的使用习惯,团队用户已经超过 10 万,包括腾讯、华为、百度、京东、字节跳动等知名公司的一些内部团队。
它主要解决这样一个问题:小团队或者个人开发者,希望有一个开箱即用的文档中心,能够快速地生成、展示、搜索文档,还能够多人协作,划分权限,并且还有桌面的和手机的客户端。 如果你也有这种需求,不妨试试看这个工具。
它的代码完全开源,放在 GitHub 上面,是一个热门项目,超过9000颗星。可以放心使用。
如果你自己有服务器,安装很简单,一行命令就可以了,底层的 Docker 容器自动帮你部署好。Windows 环境也支持,但是安装稍微复杂一点。启动服务后,本机浏览器访问 localhost:4999
,你就拥有了一个全功能的文档中心,就这么简单。只要绑定域名,就能对外访问。
网站首页上,默认有几个示例仓库,可以点进去看看。
除了常用的文档库和电子表格库,它还有两个技术文档的特色功能。一个是 API 文档库,解析源码注释,自动生成 API 的说明文档。另一个是数据字典文档,解析数据库结构,自动生成数据库每张表的说明文档。
为了配合软件 API 文档的生成,官方还特别开发了一个独立服务 RunApi,用来模拟定制 HTTP 请求,完成接口测试、自动流程测试、Mock 数据等功能,类似于 Postman,但它是完全免费的。并且,在调试 API 的过程中,自动生成文档到 Showdoc,极大提高团队的效率。平时调试 API 接口,也可以使用这个服务。
所有 ShowDoc 文档仓库都可以使用 API 自动创建和批量导入,也可以导出为 Word 或 Markdown 文件。每个团队除了公共仓库,成员个人还可以新建私密仓库。
如果你没有或者不想维护自己的服务器,可以使用官方的在线版托管文档,不超过5人的团队都是免费的。对于那些自己架设服务的团队,官方提供收费技术支持,帮助维护。
好了,感兴趣的朋友可以试试这个工具,任何问题可以到 GitHub 提 issue 或 QQ 群咨询。
科技动态
1、印度空气净化扇
印度首都新德里,是世界空气最脏的城市之一。最近,市中心的豪华购物区耗资200万美元,建造了一个空气净化装置,40 台巨型风扇同时过滤空气。
这个装置是一个 25 米高的风扇塔,预计将于本月完工。它的目的是为旁边的商业街和咖啡馆,提供大约一平方公里范围的干净空气。目前尚无法知道,该方法是否真能奏效。
2、投篮机器人
东京奥运会的第一场男子篮球比赛(美国对法国),中场休息时,丰田公司的一个投篮机器人为观众表演超准的三分球,可以在中圈命中蓝框。非常精彩,下面的30秒现场视频值得一看。
这个机器人身高2米04,是丰田公司17位工程师在业余时间研制的。它采用人工智能算法,会利用重复投篮进行数据调整,最终实现百发百中。
3、无人机犯罪
西班牙警方最近发现,有人从摩洛哥放飞一架巨大的无人机,越过西班牙边境,运送毒品。
该无人机为中国生产,宽4.5米,可以载重150公斤,最高飞行速度 170 公里/小时,续航7小时,价格在3万欧元到15万欧元之间。
这架无人机故意飞得很低,防止穿越国境时被雷达发现。但是,它是远程遥控的,接受无线电信号,警方通过异常的无线电信号发现了它。
4、坦克图纸
《战争雷霆》((War Thunder)是一款多人对战游戏,玩家使用各种真实存在的武器,参加历史上的各种战争。
日前,有玩家自称为军人,认为游戏里面的“挑战者 2“(Challenger 2)坦克(下图)与实物有差异,就在游戏论坛上传了真实的坦克设计图纸,要求游戏公司据此更正。
但是,这辆坦克仍然是英国军队的现役主战坦克,所有设计图纸都是保密的。
几天后,游戏公司删掉了这个文件,并发表了声明:”经过向国防部询问,我们已经确认该文件仍然属于保密文件。传播该文件违反了英国《保密法》,最高可处 14 年的监禁。“
5、汽油味香水
福特汽车的一项调查发现,五分之一的司机表示,他们在电动汽车上,闻不到汽油味,感到不适应。近 70% 的人说,他们某种程度上想念汽油味。
福特汽车因此发明了一种新的香水,“混合了淡淡的汽油味、烟熏味和橡胶味。”
墨西哥最贫穷的恰帕斯州,是世界上含糖饮料(主要是可口可乐)消费量最高的地方。根据2019年的统计,当地居民每人每年平均饮用 821.25 升饮料,相当于每天 2.2 升。
原因是当地公共设施非常落后,无法提供清洁的饮用水。可口可乐在该州正好有一家巨大的装瓶厂,以很便宜的价格出售饮料。所以,当地男女老少几乎都用可口可乐替代饮用水,甚至有些婴儿在应该只喝母乳的时候,他们的母亲给他们喝可口可乐。
更糟糕的是,含糖饮料有成瘾作用,喝习惯以后,会一直想喝。所以,毫不奇怪,糖尿病是该州居民的一个主要死因,每年夺走 3,000 多人的生命。但即使这样,那些糖尿病患者发病后,还是一直在喝可乐,他们说自己无法想象没有这种饮料的生活。
文章
1、农村的厕所应该长什么样?(中文)
本文介绍中国的一些年轻建筑师,正在尝试重新设计农村的厕所。
农村没有给排水管网,厕所的水从哪里来?污水往哪里排放?而且,乡村厕所往往是在建筑外部的一个单独空间,尤其是北方,冬天如何保温?难道单独为厕所供暖?
2、苏炳添的论文(中文)
苏炳添是第一个100米跑进10秒的亚洲人。除了短跑运动员之外,他还有另外两个身份:暨南大学体育学院副教授以及北京体育大学2019级博士研究生。他曾经发表论文,以自己为例,研究怎样才能跑得更快。
3、如何生成一个数独游戏(中文)
作者介绍了自动生成数独游戏的编程思路。(@guanghechen 投稿)
4、如何优化 node 项目的 docker 镜像(中文)
作者介绍如何一步步将一个 Node.js 应用的 Docker 镜像文件,从 1.06G 压缩到 73.4M,构建速度从 29.6 秒提高到 1.3 秒。(@iamobj 投稿)
5、好友关系的数据库设计(英文)
用户互相加为好友,数据库应该怎么设计,才能方便以后查询和删改?
6、网页暗模式只要一行代码(英文)
本文介绍如何使用一个 CSS 命令,反转网页颜色。
7、谷歌是否索引 CSS 文本内容(英文)
CSS 可以通过伪元素向网页添加文本内容,作者做了一个实验,看看谷歌会不会索引 CSS 引入的文本。
8、为什么人眼对蓝色不易聚焦(英文)
一篇有点奇怪的文章,解释人眼为什么对蓝色不易聚焦,更容易对红色和绿色物体聚焦。
文章的例子很生动,上图的蓝色通道全部都进行了模糊,几乎不影响清晰度。如果对红色和绿色通道进行模糊,马上就会影响清晰度。但是这个例子说服力不强,因为上图中,蓝色主要是海洋,本来也没有多少细节。
工具
1、Obsidian
手机 Markdown 编辑器,功能非常强,主要用于做笔记,有大量插件。编辑功能免费,桌面端同步功能需要付费。
2、Fakeflix
网友写的 Netflix 的前端仿制品,用来练习 React + Redux 的用法。
一个概念产品,用户上传照片,在网页上生成一个 VR 相册,可以翻页浏览。
4、hookdeck
一个 Web 服务,专门用来接收各种 Webhook 调用,相当于一个集中管理 Webhook 的平台。
5、DataEase
一个开源的数据可视化分析工具,支持丰富的数据源连接,能够通过拖拉拽方式,快速制作图表和仪表盘。(@chixq 投稿)
6、Mousai
一个开源的桌面软件,可以根据音乐,识别这是什么歌曲。
一个网页 JS 库,用于将 DOM 节点转成可以下载的图片,原理是在内存里面使用 canvas 和 SVG 对节点重新渲染一次。
8、mandodb
一个示例项目,作者介绍如何从零开始实现一个小型的时序数据库(TSDB),也就是专门用于时间序列的数据库。(@chenjiandongx 投稿)
资源
该网页整理了一些 SVN 常用指令的中文介绍,方便查询使用。(@Spike-Leung 投稿)
一本免费阅读的英文教程,介绍如何用 Rust 语言开发 WebAssembly 程序。
3、信息检索导论
一本免费阅读的英语教材,介绍搜索引擎的原理和基本技术。
马斯克基金会向全球征集最佳减碳方法,总奖金为1亿美元,第一名可以独得5000万美元。这是官方网站,可以去那里报名。
这个 GitHub 仓库收集了各种专供软件开发使用的免费 API。
图片
1、液晶门
美国有一家叫做 Cooler Screens 的创业公司,推出了液晶门,整个门就是一块巨大的液晶屏幕。
请看下面的图片,你觉得这是自动售货机吗?
错了,这是实体的液晶门,正在展示广告。想买屏幕上的商品吗?请推开门,门后是一家超市,请看下面的视频演示。
这种液晶屏幕门,也可以用来播放大屏动态广告,非常炫酷。
2、卵石画
一位英国艺术家展示了如何用不同颜色的卵石作画。
文摘
大部分的开源软件,是个人开发者创建的。其中能够长期维护的少之又少,绝大部分项目最终都会被放弃。
下面是一个不完全列表,列出了开发者放弃自己的开源项目的主要原因。从中你就可以知道,个人维护一个长期项目有多难。
1)该项目是免费的,因此没有金钱激励来让开发者继续工作。
2)使项目跟上最新的技术进展,非常困难和耗时。
3)开发者对这个项目感到厌烦,不想继续做了,因为最早只是出于好玩,或为了学校作业而开发的。
4)项目已经失控,变得太大了,很难维护。
5)该项目的主要用户是不太懂计算机的人,每天有大量的、愚蠢的、缺乏耐心的支持请求。
6)出现了更好的替代方案。
7)开发者之间的摩擦,导致主要贡献者离开。
8)开发者的优先事项,从项目转移到其它事情上面,比如结婚有了小孩。
9)项目的代码质量很差,导致维护和重构困难。
10)开发者决定把项目卖给其他人。
11)一种新技术出现了,使得该项目过时了。
言论
1、
银牌真的让我很不舒服。如果你赢得了金牌,你会感觉很好; 如果你赢得了铜牌,你会安慰自己,“好吧,至少我得到了一些东西”。
但是当你赢得银牌时,就像有人对你说,“恭喜你,你差点赢了。在所有输家中,你排在第一名,没有人比你更靠近金牌!”
——Jerry Seinfeld。一项研究称,根据奥运会颁奖时的面部表情识别,铜牌得主比银牌得主更快乐。
2、
我们的目标是永远保存 10 亿人的著作。
– 布鲁斯特·卡利,互联网档案馆(Internet Archive)创始人,庆祝该项目创立25周年。
3、
我一直被问到工作与生活的平衡,我的观点是,这种说法会让人变软弱,因为它意味着你必须权衡,何时工作,何时生活。实际上,工作和生活是融合在一起的,一方不顺利,另一方就会受到影响。它们不是平衡关系。
– 贝佐斯,亚马逊的老板
4、
SQLite 的应用太广泛,测试量也很惊人。每个版本发布之前,都要进行各种单元测试、参数测试、模糊测试,一共有数十亿次,运行一次完整的自动化测试,需要数天时间。
5、
每一行代码都是一种负担。如果增加代码行数,就会增加你的责任。
历史上的本周
2020年(第 119 期):降雨量和保险博弈
2019年(第 67 期):复杂系统无法维护,侏罗纪公园必定失败
2018年(第 16 期):科技改变死亡的模式
订阅
这个周刊每周五发布,同步更新在阮一峰的网络日志和微信公众号。
微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。
(完)