这里记录每周值得分享的科技内容,周五发布。
本杂志开源[1],欢迎投稿[2]。另有《谁在招人》[3]服务,发布程序员招聘信息。合作请邮件联系[4][email protected][5])。

封面图

南京证大喜玛拉雅中心,是一个2020年竣工的地产项目。为了体现南京是“山水城市”,它的外形模仿高山流水。(via[6]

“精益开发”的精益是什么?

最流行的软件开发模式,现在是“敏捷开发”(agile development)。
但是,很多人不知道,敏捷只是一种价值观,不是具体的方法。 它包含一些原则,实现这些原则有很多不同方法,下面是主要的几种。
极限编程(XP)Scrum 开发看板开发(kanban)精益开发(lean)
初来乍到,看到这些奇怪的专有名词,你会不会头晕啊,它们什么意思,跟编程有何关系?
我正好读到一篇老外的文章[7],里面提到“精益开发”的一些小故事,读完豁然开朗,知道了“精益”的来历,就掌握它的做法了。下面分享给大家。
“精益”(lean)这个词来自1988年的一篇论文 《精益生产系统的胜利》,论文讨论为什么日本汽车击败了美国汽车?
论文作者以福特和丰田两家公司为例,认为它们的生产方法完全不同。
福特是早期的汽车霸主,强调批量生产,追求极致的生产效率,以降低汽车价格。以前,汽车是3000美元一辆,福特 T 型车的上市价格竟然为850美元,最终还降到了260美元,占领了美国大部分汽车市场。
传说中,亨利·福特说过一句名言:“顾客可以选择任何一种颜色,只要它是黑色。” T 型车就只有黑色车型,这并非由于福特喜欢黑色,而是黑色油漆干得快,落地后可以最短时间出售,从而降低了成本。
为了压低汽车价格,福特的生产流程是这样的:
1.采购100辆汽车的原材料。2.制造100辆汽车的所有零件(总共超过十万个)。3.组装100辆汽车,然后出售。4.接收顾客反馈,生产下一批次。
由于每个步骤都需要较长的时间,因此迭代周期很久,福特也很少改动车型。
丰田公司采用了完全不同的生产方法。刚成立时,丰田是一家小公司,无力囤积原材料,也买不起生产不同零件的专用机器,只能选择通用机器,即同一台机器生产多种零件。
因此,他们的方法就是一次制造一辆车,并尽快出售。如果有问题,就马上修改,避免再次生产有缺陷的车。
1.获取一辆车的原材料。2.制造一辆汽车所需的零件。3.组装一辆车,然后出售。4.接收顾客反馈,生产下一辆车。
这种流程有利于快速迭代和多次迭代,长期下来,丰田汽车逐渐变得更可靠耐用,更符合客户需要。
虽然,单车成本上面,丰田依然高于大批量生产的福特,但是福特迭代缓慢,很多零件不符合需要,有缺陷还是被大量生产出来,造成巨大的浪费,公司的整体效益反而不如丰田。
丰田的生产方法,就被称为“精益方法”(lean method)。英语单词 lean 的原意是“瘦且健康”,用在这里表示追求实效、快速行动,没有一丝浪费。
后来,这种方法就被用在各种领域,管理领域叫做“精益思维”,生产领域叫做“精益制造”,软件开发领域叫做“精益开发”。
总结一下,“精益开发”指的是创建一个最小的产品原型,交付给客户,观察他们如何使用它,再快速推出小幅改进的下一代产品。这样就能迎合快速变化的需求,不会引入无用功能。
作为比较,福特方法则是详细计划所有功能,全部开发出来,然后一次性交付。

科技动态

1、网站的 AI 翻译[8]
老牌的 IT 资讯网站 Gizmodo 宣布,它的西班牙语版本全部改为 AI 翻译,编辑都被解雇。
它的西班牙语网页底部,现在有一行免责声明:“本站内容为自动翻译,可能会存在与原意的细微差异。”
Gizmodo 此前还尝试,使用 AI 撰写新闻:只要输入一些基本事实,AI 就会自动生成一篇几百字的报道。这样的做法以后很可能会流行,翻译和编辑将最早被 AI 替代。
2、ai 域名[9]
顶级域名.ai属于安圭拉(anguillas),它是英国控制的加勒比海小岛,面积只比香港本岛大一点。
AI 热潮使得.ai域名炙手可热,为安圭拉带来巨大财富。一个 ai 域名的年费现在是80美元左右(约人民币600元),还在上涨。
2021年安圭拉从.ai域名注册获得了740万美元。现在出现了 ChatGPT,今年的收入估计可达3000万美元,占到当地 GDP 的10%。
安圭拉人口只有1.5万,相当于每人每年分到2000美元,真的是天上掉下来的财富。
3、众筹十年[10]
10年前,众筹是一种非常流行的产品发布方式。发起人通过网络筹集资金,投产后再把产品寄给出资者。
但是,有些产品从来没有发货,还有些产品过了很久才发货。最近就有一块手表,10年前众筹,现在才发货。
这块手表具有示波器功能,2013年众筹,此后就没了消息。等到大家都忘了,它却在今年7月30日宣布开始发货。
用户等于拿到一个10年前的电子产品,但是无法退款或退货。众筹平台 Kickstarter 很清楚地规定,众筹是一种投资行为,不是购买行为。
“支持者必须明白,我们不是一家商店。当你支持一个项目时,是在帮助创造新的东西,而不是预订已经存在的东西。我们不提供退款,我们鼓励支持者要调查项目的想法和创建者,自行评估项目风险。”
4、增强现实挡风玻璃[11]
苹果公司申请了一项专利,让汽车的挡风玻璃变成一块增强现实(AR)屏幕。
这块玻璃会显示各种信息,比如天气、地图、仪表数据等。它并不是投影上去的,而是玻璃本身就是一块透明的显示屏。
最具创意的是,苹果还设想,路上遇到外文招牌,它会自动叠加翻译,用户会看到翻译后的招牌(上图)。

文章

1、任正非:华为有业务边界,人才要在边界内研究探索[12](中文)
9月4日,华为发布了任正非在高端技术人才使用工作组对标会上的最新讲话。任正非谈了华为的人才使用策略。
2、我是怎样程序员入门的[13](中文)
知乎的一个回答,作者记录大学四年,如何从完全不懂编程变成一个职业程序员。(@wind-liang[14] 投稿)
3、如何将 iCloud 密码用于 Chrome[15](繁体中文)
苹果设备自带一个 iCloud 密码管理器,只用于 Safari 浏览器。两年前,它向 Windows 系统的 Chrome/Edge 浏览器开放,现在 Mac 系统的 Chrome/Edge 也能使用了。
4、如何自己写一个前端框架[16](英文)
本文教你两个技巧,用它们就可以写一个简单的前端框架。
5、维基百科 DNS[17](英文)
维基百科推出自己的 DNS,支持DNS-over-HTTPS(DoH)和 DNS-over-TLS(DoT)查询。
6、如何终止无响应的 Linux 会话[18](英文)
使用 Linux 终端时,有时会卡住,失去响应,这时应该如何终止会话?
7、AWS 网络基础知识[19](英文)
本文介绍亚马逊云服务的一些基础网络知识,针对初学者,包括 VPC(虚拟私有云)、subnet(子网)、路由、安全组等,写得很好。
8、财务安全的17条法则[20](英文)
本文跟技术无关,介绍个人财务的17个注意点。我觉得说得很好,有参考价值,就保存一下链接吧。

工具

1、Gitstars[21]
一个在线工具,用来管理你打过星的 GitHub 项目。(@dllen[22] 投稿)
2、Figma.Pub[23]
为 figma 设计稿生成可自动更新的图片链接,支持 jpg 、png 、svg 格式和 scale 参数。(@airyland[24] 投稿)
3、MusicFree 桌面版[25]
一个开源的音乐播放器,通过插件支持各种音源,参见示例插件库[26]。(@maotoumao[27] 投稿)
4、NiceShots[28]
一个 iOS App,用来美化手机截图,可以实现带手机壳效果。(@JimmyByte[29] 投稿)
5、TabX[30]
一个 Chrome 插件,用来管理 Tab 页。(@Developer27149[31] 投稿)
6、AI 小镇[32]
一个开源的网页游戏,人物都是 AI 驱动的,用户加入这个虚拟小镇,就可以跟这些角色互动。(@dllen[33] 投稿)
7、Android-Touch-Helper[34]
开源的安卓手机的开屏广告自动跳过助手。(@Lyeragain[35] 投稿)
8、MagicNotch[36]
一款 MacOS 刘海屏工具,将快捷键藏在刘海里面,鼠标移入时显示。(@fengyiqicoder[37] 投稿)
9、文件桥[38]
一个简单的 JS 脚本,用来架设静态文件服务器。A 电脑在网页上打开一个本地文件目录,B 电脑就能下载里面的文件,两者不必在同一局域网。(@daGaiGuanYu[39] 投稿)
10、Whisper Web[40]
不必登录,将英语音频转成文本的在线工具。(@Y024[41] 投稿)
11、StableDiffusion XL 体验站[42]
SDXL 是 Stable Diffusion 最新发布的画图模型。这是网友架设的体验站,不需要登陆也不需要付费,直接体验文生图。(@zengdamo[43] 投稿)

资源

1、Hello 算法[44]
一本开源的中文电子书籍,介绍数据结构与算法,配有动画图解。(@Y024[45] 投稿)
2、AIHub[46]
该网站收集各种 AI 工具和资源。(@liuluanping[47] 投稿)
3、Web 音视频系列[48]
一组系列文章,介绍如何在浏览器中处理音视频。(@hughfenghen[49] 投稿)
4、yesicon[50]
中文的图标搜索引擎,作者利用 ChatGPT 翻译了 Iconify 的 18 万个图标名。(@dongnaebi[51] 投稿)
5、Awesome Domain LLM[52]
这个仓库收集各种垂直领域的大语言模型。(@wuyifan18[53] 投稿)

图片

1、国际橙[54]
国际橙是航空航天工业使用的一种醒目的颜色,用来将物体与周围环境区分开来。它是一种纯的橙色,但颜色更深,色调更偏红。
NASA 的宇航服就采用过这种颜色。
金门大桥也采用这种颜色。
东京塔和很多高楼顶上的天线,也使用国际橙和白色相间的颜色。
2、手绘滑雪地图[55]
美国有一位艺术家,手工绘制高山滑雪地图,追求高度还原真实地貌。这种地图在滑雪者里面非常受欢迎。
下面就是最后的成品。
相比高清卫星地图,这种地图现在只能当作艺术品。

文摘

1、为什么塑料无法再利用[56]
塑料是环境污染的主要来源之一,很多人提出回收塑料再利用,但是这很难起作用。
首先,塑料有成千上万种,每种都有自己的成分和特性,包含不同的化学添加剂和着色剂,无法一起回收再利用。
你只能将回收的塑料,先分类成不同的类型,再进行加工。举例来说,单单是饮料的宝特瓶,就有聚对苯二甲酸乙二醇酯 (PET#1)、高密度聚乙烯 (HDPE#2)、聚氯乙烯 (PVC#3)、低密度聚乙烯 (LDPE#4)、聚丙烯 (PP#5) 和聚苯乙烯 (PS#6)等多种类型,必须分开回收。
这就是为什么宝特瓶的瓶盖和瓶身,必须分开的原因。你在麦当劳吃快餐,一次性的杯子、杯盖、托盘、袋子和餐具涉及到多种类型的塑料,也必须分开,不能放在一起回收。
其次,塑料废物的再加工有很多限制。塑料是易燃品,一旦发生火灾,就会影响到附近的居民区,造成的损失比回收的好处还大。
而且,不同于金属和玻璃,塑料不是惰性物质,可能包含有毒添加剂和化学品,塑料再生制品很可能有毒性。加拿大就禁止回收塑料做成食品包装。
最后,塑料回收根本不经济。塑料的价格很低,但是收集、分类、运输、再加工塑料废物付出的成本高得惊人。再生塑料制品的价格降不下来,用户根本没有动力购买。
由于以上三个原因,塑料回收不能解决塑料污染。
为了解决塑料污染,最终只能限制塑料的使用,必须尽可能少用塑料,并且将塑料垃圾集中处理。

言论

1、
CSS 每年都添加众多的新特性,对任何人来说都很难跟上,更不要说利用它们了。
基本上,CSS 的复杂度已经赶上了 JavaScript。
-- Hacker News 读者[57]
2、
生活就是当你忙着制定其他计划时,发生在你身上的事情。
-- 约翰·列侬[58]
3、
人类正在创造我们自己的继任者:我们每天都让机器变得更美丽和精致,赋予它们更大的力量,并通过各种巧妙的设计,让它们拥有自我调节、自我行动的力量,他们的智力逐渐变得跟人类一样。
随着岁月的流逝,我们将发现自己是劣等种族,而机器是一种不断进化的“机械生命”,最终可能取代人类成为主导物种。
-- 19世纪英国小说家塞缪尔·巴特勒,1863年6月13日发表的文章《机器中的达尔文》[59]
4、
我们一直没有发布1.0版,因为有一些高级功能没有完成。但是现在,我们决定发布了,部分原因是那些没有完成的功能,在现实世界中似乎并不重要(不过以后我仍然想完成它们。)
更重要的原因是,只有发布了1.0版,我们才能开始开发2.0版。
-- 《Cap'n Proto 1.0 发布说明》[60]
5、
我曾经请了三年假,去玩电子游戏(不是开玩笑)。后来重新回来,不得不从最低端的工资开始,好在工资很快又涨回来了。找工作的秘诀就是降低你的工资要求,只有降低很多,你才能被录取,对于程序员来说,通常它可以涨回来。
-- Hacker News 读者[61]

往年回顾

数据统计的威力(2019 #73)
(完)

References

[1]
 开源: 
https://github.com/ruanyf/weekly
[2]
 投稿: 
https://github.com/ruanyf/weekly/issues
[3]
 《谁在招人》: 
https://github.com/ruanyf/weekly/issues/3425
[4]
 邮件联系: 
mailto:[email protected]
[5]mailto:[email protected]
[6]
 via: 
https://www.sohu.com/a/460052910_791225
[7]
 老外的文章: 
https://elijahpotter.dev/articles/on_iteration_and_lean_thinking
[8]
 网站的 AI 翻译: 
https://www.theverge.com/2023/9/1/23856029/gizmodo-shuts-down-spanish-language-site-ai-translations
[9]
 ai 域名: 
https://arstechnica.com/information-technology/2023/08/ai-fever-turns-anguillas-ai-domain-into-a-digital-gold-mine/
[10]
 众筹十年: 
https://www.tomshardware.com/news/oscilloscope-watch-ships-after-10-years
[11]
 增强现实挡风玻璃: 
https://www.thedrive.com/news/apple-wants-to-patent-an-augmented-reality-windshield
[12]
 任正非:华为有业务边界,人才要在边界内研究探索: 
https://www.bjnews.com.cn/detail/1693810149129843.html
[13]
 我是怎样程序员入门的: 
https://www.zhihu.com/question/614706706/answer/3146012068
[14]
 @wind-liang: 
https://github.com/ruanyf/weekly/issues/3439
[15]
 如何将 iCloud 密码用于 Chrome: 
https://www.kocpc.com.tw/archives/508132
[16]
 如何自己写一个前端框架: 
https://18alan.space/posts/how-hard-is-it-to-build-a-frontend-framework.html
[17]
 维基百科 DNS: 
https://meta.wikimedia.org/wiki/Wikimedia_DNS
[18]
 如何终止无响应的 Linux 会话: 
https://linuxiac.com/how-to-terminate-user-session-in-linux/
[19]
 AWS 网络基础知识: 
https://medium.com/codenation-engineering/fundamentals-of-networking-in-aws-3ad3d0dc01dd
[20]
 财务安全的17条法则: 
https://thetaoofwealth.wordpress.com/2013/02/17/harry-brownes-17-golden-rules-of-financial-safety/
[21]
 Gitstars: 
https://github.com/cfour-hi/gitstars
[22]
 @dllen: 
https://github.com/ruanyf/weekly/issues/3428
[23]
 Figma.Pub: 
https://figma.pub/
[24]
 @airyland: 
https://github.com/ruanyf/weekly/issues/3431
[25]
 MusicFree 桌面版: 
https://github.com/maotoumao/MusicFreeDesktop
[26]
 示例插件库: 
https://github.com/maotoumao/MusicFreePlugins
[27]
 @maotoumao: 
https://github.com/ruanyf/weekly/issues/3451
[28]
 NiceShots: 
https://apps.apple.com/cn/app/niceshots/id6450619697
[29]
 @JimmyByte: 
https://github.com/ruanyf/weekly/issues/3452
[30]
 TabX: 
https://github.com/Developer27149/tabX
[31]
 @Developer27149: 
https://github.com/ruanyf/weekly/issues/3441
[32]
 AI 小镇: 
https://github.com/get-convex/ai-town
[33]
 @dllen: 
https://github.com/ruanyf/weekly/issues/3442
[34]
 Android-Touch-Helper: 
https://github.com/zfdang/Android-Touch-Helper
[35]
 @Lyeragain: 
https://github.com/ruanyf/weekly/issues/3402#issuecomment-1704958856
[36]
 MagicNotch: 
https://apps.apple.com/cn/app/magicnotch-elegant-shortcut/id6447055708?mt=12
[37]
 @fengyiqicoder: 
https://github.com/ruanyf/weekly/issues/3445
[38]
 文件桥: 
https://github.com/ppz-pro/file-bridge
[39]
 @daGaiGuanYu: 
https://github.com/ruanyf/weekly/issues/3449
[40]
 Whisper Web: 
https://huggingface.co/spaces/Xenova/whisper-web
[41]
 @Y024: 
https://github.com/ruanyf/weekly/issues/3457
[42]
 StableDiffusion XL 体验站: 
https://www.stablediffusionai.ai/
[43]
 @zengdamo: 
https://github.com/ruanyf/weekly/issues/3455
[44]
 Hello 算法: 
https://github.com/krahets/hello-algo
[45]
 @Y024: 
https://github.com/ruanyf/weekly/issues/3430
[46]
 AIHub: 
https://www.aihub.cn/
[47]
 @liuluanping: 
https://github.com/ruanyf/weekly/issues/3427
[48]
 Web 音视频系列: 
https://hughfenghen.github.io/tag/WebAV/
[49]
 @hughfenghen: 
https://github.com/ruanyf/weekly/issues/3434
[50]
 yesicon: 
https://yesicon.app/
[51]
 @dongnaebi: 
https://github.com/ruanyf/weekly/issues/3440
[52]
 Awesome Domain LLM: 
https://github.com/luban-agi/Awesome-Domain-LLM
[53]
 @wuyifan18: 
https://github.com/ruanyf/weekly/issues/3453
[54]
 国际橙: 
https://en.wikipedia.org/wiki/International_orange
[55]
 手绘滑雪地图: 
https://jamesniehues.com/
[56]
 为什么塑料无法再利用: 
https://www.theatlantic.com/ideas/archive/2022/05/single-use-plastic-chemical-recycling-disposal/661141/
[57]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=36375678
[58]
 约翰·列侬: 
https://martinburckhardt.substack.com/p/talking-to-jeff-sutherland
[59]
 《机器中的达尔文》: 
https://en.wikipedia.org/wiki/Darwin_among_the_Machines
[60]
 《Cap'n Proto 1.0 发布说明》: 
https://capnproto.org/news/2023-07-28-capnproto-1.0.html
[61]
 Hacker News 读者: 
https://news.ycombinator.com/item?id=36904240
继续阅读
阅读原文