# 科技爱好者周刊(第 270 期):“精益开发”的精益是什么? 这里记录每周值得分享的科技内容,周五发布。 本杂志[开源](https://github.com/ruanyf/weekly),欢迎[投稿](https://github.com/ruanyf/weekly/issues)。另有[《谁在招人》](https://github.com/ruanyf/weekly/issues/3425)服务,发布程序员招聘信息。合作请[邮件联系](mailto:yifeng.ruan@gmail.com)(yifeng.ruan@gmail.com)。 ## 封面图 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090607.webp) 南京证大喜玛拉雅中心,是一个2020年竣工的地产项目。为了体现南京是“山水城市”,它的外形模仿高山流水。([via](https://www.sohu.com/a/460052910_791225)) ## “精益开发”的精益是什么? 最流行的软件开发模式,现在是“敏捷开发”(agile development)。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090201.webp) 但是,很多人不知道,**敏捷只是一种价值观,不是具体的方法。** 它包含一些原则,实现这些原则有很多不同方法,下面是主要的几种。 > - 极限编程(XP) > - Scrum 开发 > - 看板开发(kanban) > - 精益开发(lean) ![](https://cdn.beekka.com/blogimg/asset/202308/bg2023082803.webp) 初来乍到,看到这些奇怪的专有名词,你会不会头晕啊,它们什么意思,跟编程有何关系? 我正好读到一篇[老外的文章](https://elijahpotter.dev/articles/on_iteration_and_lean_thinking),里面提到“精益开发”的一些小故事,读完豁然开朗,知道了“精益”的来历,就掌握它的做法了。下面分享给大家。 “精益”(lean)这个词来自1988年的一篇论文 **《精益生产系统的胜利》**,论文讨论为什么日本汽车击败了美国汽车? ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090202.webp) 论文作者以福特和丰田两家公司为例,认为它们的生产方法完全不同。 福特是早期的汽车霸主,强调批量生产,追求极致的生产效率,以降低汽车价格。以前,汽车是3000美元一辆,福特 T 型车的上市价格竟然为850美元,最终还降到了260美元,占领了美国大部分汽车市场。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090203.webp) 传说中,亨利·福特说过一句名言:“顾客可以选择任何一种颜色,只要它是黑色。” T 型车就只有黑色车型,这并非由于福特喜欢黑色,而是黑色油漆干得快,落地后可以最短时间出售,从而降低了成本。 为了压低汽车价格,福特的生产流程是这样的: > 1. 采购100辆汽车的原材料。 > 1. 制造100辆汽车的所有零件(总共超过十万个)。 > 1. 组装100辆汽车,然后出售。 > 1. 接收顾客反馈,生产下一批次。 由于每个步骤都需要较长的时间,因此迭代周期很久,福特也很少改动车型。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090204.webp) 丰田公司采用了完全不同的生产方法。刚成立时,丰田是一家小公司,无力囤积原材料,也买不起生产不同零件的专用机器,只能选择通用机器,即同一台机器生产多种零件。 因此,**他们的方法就是一次制造一辆车,并尽快出售**。如果有问题,就马上修改,避免再次生产有缺陷的车。 > 1. 获取一辆车的原材料。 > 1. 制造一辆汽车所需的零件。 > 1. 组装一辆车,然后出售。 > 1. 接收顾客反馈,生产下一辆车。 这种流程有利于快速迭代和多次迭代,长期下来,丰田汽车逐渐变得更可靠耐用,更符合客户需要。 虽然,单车成本上面,丰田依然高于大批量生产的福特,但是福特迭代缓慢,很多零件不符合需要,有缺陷还是被大量生产出来,造成巨大的浪费,公司的整体效益反而不如丰田。 丰田的生产方法,就被称为“精益方法”(lean method)。英语单词 lean 的原意是“瘦且健康”,用在这里表示追求实效、快速行动,没有一丝浪费。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090205.webp) 后来,这种方法就被用在各种领域,管理领域叫做“精益思维”,生产领域叫做“精益制造”,软件开发领域叫做“精益开发”。 总结一下,“精益开发”指的是**创建一个最小的产品原型,交付给客户,观察他们如何使用它,再快速推出小幅改进的下一代产品**。这样就能迎合快速变化的需求,不会引入无用功能。 作为比较,福特方法则是详细计划所有功能,全部开发出来,然后一次性交付。 ## 科技动态 1、[网站的 AI 翻译](https://www.theverge.com/2023/9/1/23856029/gizmodo-shuts-down-spanish-language-site-ai-translations) 老牌的 IT 资讯网站 Gizmodo 宣布,它的西班牙语版本全部改为 AI 翻译,编辑都被解雇。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090101.webp) 它的西班牙语网页底部,现在有一行免责声明:“本站内容为自动翻译,可能会存在与原意的细微差异。” Gizmodo 此前还尝试,使用 AI 撰写新闻:只要输入一些基本事实,AI 就会自动生成一篇几百字的报道。这样的做法以后很可能会流行,翻译和编辑将最早被 AI 替代。 2、[ai 域名](https://arstechnica.com/information-technology/2023/08/ai-fever-turns-anguillas-ai-domain-into-a-digital-gold-mine/) 顶级域名`.ai`属于安圭拉(anguillas),它是英国控制的加勒比海小岛,面积只比香港本岛大一点。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090102.webp) AI 热潮使得`.ai`域名炙手可热,为安圭拉带来巨大财富。一个 ai 域名的年费现在是80美元左右(约人民币600元),还在上涨。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090103.webp) 2021年安圭拉从`.ai`域名注册获得了740万美元。现在出现了 ChatGPT,今年的收入估计可达3000万美元,占到当地 GDP 的10%。 安圭拉人口只有1.5万,相当于每人每年分到2000美元,真的是天上掉下来的财富。 3、[众筹十年](https://www.tomshardware.com/news/oscilloscope-watch-ships-after-10-years) 10年前,众筹是一种非常流行的产品发布方式。发起人通过网络筹集资金,投产后再把产品寄给出资者。 但是,有些产品从来没有发货,还有些产品过了很久才发货。最近就有一块手表,10年前众筹,现在才发货。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090501.webp) 这块手表具有示波器功能,2013年众筹,此后就没了消息。等到大家都忘了,它却在今年7月30日宣布开始发货。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090502.webp) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090503.webp) 用户等于拿到一个10年前的电子产品,但是无法退款或退货。众筹平台 Kickstarter 很清楚地规定,众筹是一种投资行为,不是购买行为。 > “支持者必须明白,我们不是一家商店。当你支持一个项目时,是在帮助创造新的东西,而不是预订已经存在的东西。我们不提供退款,我们鼓励支持者要调查项目的想法和创建者,自行评估项目风险。” 4、[增强现实挡风玻璃](https://www.thedrive.com/news/apple-wants-to-patent-an-augmented-reality-windshield) 苹果公司申请了一项专利,让汽车的挡风玻璃变成一块增强现实(AR)屏幕。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090106.webp) 这块玻璃会显示各种信息,比如天气、地图、仪表数据等。它并不是投影上去的,而是玻璃本身就是一块透明的显示屏。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090608.webp) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090609.webp) 最具创意的是,苹果还设想,路上遇到外文招牌,它会自动叠加翻译,用户会看到翻译后的招牌(上图)。 ## 文章 1、[任正非:华为有业务边界,人才要在边界内研究探索](https://www.bjnews.com.cn/detail/1693810149129843.html)(中文) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090402.webp) 9月4日,华为发布了任正非在高端技术人才使用工作组对标会上的最新讲话。任正非谈了华为的人才使用策略。 2、[我是怎样程序员入门的](https://www.zhihu.com/question/614706706/answer/3146012068)(中文) 知乎的一个回答,作者记录大学四年,如何从完全不懂编程变成一个职业程序员。([@wind-liang](https://github.com/ruanyf/weekly/issues/3439) 投稿) 3、[如何将 iCloud 密码用于 Chrome](https://www.kocpc.com.tw/archives/508132)(繁体中文) ![](https://cdn.beekka.com/blogimg/asset/202308/bg2023083109.webp) 苹果设备自带一个 iCloud 密码管理器,只用于 Safari 浏览器。两年前,它向 Windows 系统的 Chrome/Edge 浏览器开放,现在 Mac 系统的 Chrome/Edge 也能使用了。 4、[如何自己写一个前端框架](https://18alan.space/posts/how-hard-is-it-to-build-a-frontend-framework.html)(英文) ![](https://cdn.beekka.com/blogimg/asset/202305/bg2023051502.webp) 本文教你两个技巧,用它们就可以写一个简单的前端框架。 5、[维基百科 DNS](https://meta.wikimedia.org/wiki/Wikimedia_DNS)(英文) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090704.webp) 维基百科推出自己的 DNS,支持DNS-over-HTTPS(DoH)和 DNS-over-TLS(DoT)查询。 6、[如何终止无响应的 Linux 会话](https://linuxiac.com/how-to-terminate-user-session-in-linux/)(英文) ![](https://cdn.beekka.com/blogimg/asset/202308/bg2023080308.webp) 使用 Linux 终端时,有时会卡住,失去响应,这时应该如何终止会话? 7、[AWS 网络基础知识](https://medium.com/codenation-engineering/fundamentals-of-networking-in-aws-3ad3d0dc01dd)(英文) ![](https://cdn.beekka.com/blogimg/asset/202308/bg2023080401.webp) 本文介绍亚马逊云服务的一些基础网络知识,针对初学者,包括 VPC(虚拟私有云)、subnet(子网)、路由、安全组等,写得很好。 8、[财务安全的17条法则](https://thetaoofwealth.wordpress.com/2013/02/17/harry-brownes-17-golden-rules-of-financial-safety/)(英文) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090208.webp) 本文跟技术无关,介绍个人财务的17个注意点。我觉得说得很好,有参考价值,就保存一下链接吧。 ## 工具 1、[Gitstars](https://github.com/cfour-hi/gitstars) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090109.webp) 一个在线工具,用来管理你打过星的 GitHub 项目。([@dllen](https://github.com/ruanyf/weekly/issues/3428) 投稿) 2、[Figma.Pub](https://figma.pub/) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090111.webp) 为 figma 设计稿生成可自动更新的图片链接,支持 jpg 、png 、svg 格式和 scale 参数。([@airyland](https://github.com/ruanyf/weekly/issues/3431) 投稿) 3、[MusicFree 桌面版](https://github.com/maotoumao/MusicFreeDesktop) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090601.webp) 一个开源的音乐播放器,通过插件支持各种音源,参见[示例插件库](https://github.com/maotoumao/MusicFreePlugins)。([@maotoumao](https://github.com/ruanyf/weekly/issues/3451) 投稿) 4、[NiceShots](https://apps.apple.com/cn/app/niceshots/id6450619697) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090602.webp) 一个 iOS App,用来美化手机截图,可以实现带手机壳效果。([@JimmyByte](https://github.com/ruanyf/weekly/issues/3452) 投稿) 5、[TabX](https://github.com/Developer27149/tabX) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090207.webp) 一个 Chrome 插件,用来管理 Tab 页。([@Developer27149](https://github.com/ruanyf/weekly/issues/3441) 投稿) 6、[AI 小镇](https://github.com/get-convex/ai-town) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090401.webp) 一个开源的网页游戏,人物都是 AI 驱动的,用户加入这个虚拟小镇,就可以跟这些角色互动。([@dllen](https://github.com/ruanyf/weekly/issues/3442) 投稿) 7、[Android-Touch-Helper](https://github.com/zfdang/Android-Touch-Helper) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090403.webp) 开源的安卓手机的开屏广告自动跳过助手。([@Lyeragain](https://github.com/ruanyf/weekly/issues/3402#issuecomment-1704958856) 投稿) 8、[MagicNotch](https://apps.apple.com/cn/app/magicnotch-elegant-shortcut/id6447055708?mt=12) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090404.webp) 一款 macOS 刘海屏工具,将快捷键藏在刘海里面,鼠标移入时显示。([@fengyiqicoder](https://github.com/ruanyf/weekly/issues/3445) 投稿) 9、[文件桥](https://github.com/ppz-pro/file-bridge) 一个简单的 JS 脚本,用来架设静态文件服务器。A 电脑在网页上打开一个本地文件目录,B 电脑就能下载里面的文件,两者不必在同一局域网。([@daGaiGuanYu](https://github.com/ruanyf/weekly/issues/3449) 投稿) 10、[Whisper Web](https://huggingface.co/spaces/Xenova/whisper-web) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090709.webp) 不必登录,将英语音频转成文本的在线工具。([@Y024](https://github.com/ruanyf/weekly/issues/3457) 投稿) 11、[StableDiffusion XL 体验站](https://www.stablediffusionai.ai/) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090708.webp) SDXL 是 Stable Diffusion 最新发布的画图模型。这是网友架设的体验站,不需要登陆也不需要付费,直接体验文生图。([@zengdamo](https://github.com/ruanyf/weekly/issues/3455) 投稿) ## 资源 1、[Hello 算法](https://github.com/krahets/hello-algo) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090110.webp) 一本开源的中文电子书籍,介绍数据结构与算法,配有动画图解。([@Y024](https://github.com/ruanyf/weekly/issues/3430) 投稿) 2、[AIHub](https://www.aihub.cn/) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090108.webp) 该网站收集各种 AI 工具和资源。([@liuluanping](https://github.com/ruanyf/weekly/issues/3427) 投稿) 3、[Web 音视频系列](https://hughfenghen.github.io/tag/WebAV/) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090112.webp) 一组系列文章,介绍如何在浏览器中处理音视频。([@hughfenghen](https://github.com/ruanyf/weekly/issues/3434) 投稿) 4、[yesicon](https://yesicon.app/) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090206.webp) 中文的图标搜索引擎,作者利用 ChatGPT 翻译了 Iconify 的 18 万个图标名。([@dongnaebi](https://github.com/ruanyf/weekly/issues/3440) 投稿) 5、[Awesome Domain LLM](https://github.com/luban-agi/Awesome-Domain-LLM) ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090603.webp) 这个仓库收集各种垂直领域的大语言模型。([@wuyifan18](https://github.com/ruanyf/weekly/issues/3453) 投稿) ## 图片 1、[国际橙](https://en.wikipedia.org/wiki/International_orange) 国际橙是航空航天工业使用的一种醒目的颜色,用来将物体与周围环境区分开来。它是一种纯的橙色,但颜色更深,色调更偏红。 NASA 的宇航服就采用过这种颜色。 ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040616.webp) 美国金门大桥和葡萄牙里斯本的四月二十五号大桥(下图)也采用这种颜色。 ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040617.webp) 东京塔和很多高楼顶上的天线,也使用国际橙和白色相间的颜色。 ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040618.webp) ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040619.webp) 2、[手绘滑雪地图](https://jamesniehues.com/) ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040806.webp) 美国有一位艺术家,手工绘制高山滑雪地图,追求高度还原真实地貌。这种地图在滑雪者里面非常受欢迎。 ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040807.webp) ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040808.webp) 下面就是最后的成品。 ![](https://cdn.beekka.com/blogimg/asset/202304/bg2023040809.webp) 相比高清卫星地图,这种地图现在只能当作艺术品。 ## 文摘 1、[为什么塑料无法再利用](https://www.theatlantic.com/ideas/archive/2022/05/single-use-plastic-chemical-recycling-disposal/661141/) 塑料是环境污染的主要来源之一,很多人提出回收塑料再利用,但是这很难起作用。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090604.webp) 首先,塑料有成千上万种,每种都有自己的成分和特性,包含不同的化学添加剂和着色剂,无法一起回收再利用。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090605.webp) 你只能将回收的塑料,先分类成不同的类型,再进行加工。举例来说,单单是饮料的宝特瓶,就有聚对苯二甲酸乙二醇酯 (PET#1)、高密度聚乙烯 (HDPE#2)、聚氯乙烯 (PVC#3)、低密度聚乙烯 (LDPE#4)、聚丙烯 (PP#5) 和聚苯乙烯 (PS#6)等多种类型,必须分开回收。 这就是为什么宝特瓶的瓶盖和瓶身,必须分开的原因。你在麦当劳吃快餐,一次性的杯子、杯盖、托盘、袋子和餐具涉及到多种类型的塑料,也必须分开,不能放在一起回收。 ![](https://cdn.beekka.com/blogimg/asset/202309/bg2023090606.webp) 其次,塑料废物的再加工有很多限制。塑料是易燃品,一旦发生火灾,就会影响到附近的居民区,造成的损失比回收的好处还大。 而且,不同于金属和玻璃,塑料不是惰性物质,可能包含有毒添加剂和化学品,塑料再生制品很可能有毒性。加拿大就禁止回收塑料做成食品包装。 最后,塑料回收根本不经济。塑料的价格很低,但是收集、分类、运输、再加工塑料废物付出的成本高得惊人。再生塑料制品的价格降不下来,用户根本没有动力购买。 由于以上三个原因,塑料回收不能解决塑料污染。 为了解决塑料污染,最终只能限制塑料的使用,必须尽可能少用塑料,并且将塑料垃圾集中处理。 ## 言论 1、 CSS 每年都添加众多的新特性,对任何人来说都很难跟上,更不要说利用它们了。 基本上,CSS 的复杂度已经赶上了 JavaScript。 -- [Hacker News 读者](https://news.ycombinator.com/item?id=36375678) 2、 生活就是当你忙着制定其他计划时,发生在你身上的事情。 -- [约翰·列侬](https://martinburckhardt.substack.com/p/talking-to-jeff-sutherland) 3、 人类正在创造我们自己的继任者:我们每天都让机器变得更美丽和精致,赋予它们更大的力量,并通过各种巧妙的设计,让它们拥有自我调节、自我行动的力量,他们的智力逐渐变得跟人类一样。 随着岁月的流逝,我们将发现自己是劣等种族,而机器是一种不断进化的“机械生命”,最终可能取代人类成为主导物种。 -- 19世纪英国小说家塞缪尔·巴特勒,1863年6月13日发表的文章[《机器中的达尔文》](https://en.wikipedia.org/wiki/Darwin_among_the_Machines) 4、 我们一直没有发布1.0版,因为有一些高级功能没有完成。但是现在,我们决定发布了,部分原因是那些没有完成的功能,在现实世界中似乎并不重要(不过以后我仍然想完成它们。) 更重要的原因是,只有发布了1.0版,我们才能开始开发2.0版。 -- [《Cap'n Proto 1.0 发布说明》](https://capnproto.org/news/2023-07-28-capnproto-1.0.html) 5、 我曾经请了三年假,去玩电子游戏(不是开玩笑)。后来重新回来,不得不从最低端的工资开始,好在工资很快又涨回来了。找工作的秘诀就是降低你的工资要求,只有降低很多,你才能被录取,对于程序员来说,通常它可以涨回来。 -- [Hacker News 读者](https://news.ycombinator.com/item?id=36904240) ## 往年回顾 [程序员需要担心裁员吗?](http://www.ruanyifeng.com/blog/2022/09/weekly-issue-223.html)(2022 #223) [网络收音机的设计](http://www.ruanyifeng.com/blog/2021/08/weekly-issue-173.html)(2021 #173) [互联网公司与湘军的军制](http://www.ruanyifeng.com/blog/2020/09/weekly-issue-123.html)(2020 #123) [数据统计的威力](http://www.ruanyifeng.com/blog/2019/09/weekly-issue-73.html)(2019 #73) (完)