肖恩技术周刊肖恩技术周刊
主页
  • 2025

    • 第 63 期:搞笑诺贝尔奖
    • 第 62 期:不纯粹工程
    • 第 61 期:Python的故事
    • 第 60 期:AI平替PS?
    • 第 59 期:OpenAI进化之路
    • 第 58 期:坠落or飞翔
    • 第 57 期:课题分离
    • 第 56 期:坎宁安定律
    • 第 55 期:手机发展史
    • 第 54 期:芯片简史
    • 第 53 期:编程的本质
    • 第 52 期:魔数0x5f3759df
    • 第 51 期:为何浏览器请求头User-Agent均以Mozilla开头?
    • 第 50 期:警惕胶水工作
    • 第 49 期:消费主义假象
    • 第 48 期:周刊一岁啦!
    • 第 47 期:端午安康
    • 第 46 期:好习惯要坚持
    • 第 45 期:冰冷的规则
    • 第 44 期:凌晨3点的高速
    • 第 43 期:电子榨菜
    • 第 42 期:新公园文化
    • 第 41 期:疲乏
    • 第 40 期:智能体是通往AGI的必经之路吗?
    • 第 39 期:战斗,爽!
    • 第 38 期:陪伴
    • 第 37 期:反差魅力
    • 第 36 期:国漫雄起!
    • 第 35 期:DeepSeek爆火
    • 第 34 期:辞旧迎新
    • 第 33 期:泼天流量?
    • 第 32 期:克隆声音
    • 第 31 期:自力更生
  • 2024

    • 第 30 期:2024的尾声
    • 第 29 期:宇宙的尽头是上岸
    • 第 28 期:小机器人是什么鬼啊?
    • 第 27 期:移动的移动充电宝
    • 第 26 期:无痛写作
    • 第 25 期:第一生产力
    • 第 24 期:伟大的母亲
    • 第 23 期:MAGA!
    • 第 22 期:4 > 1
    • 第 21 期:惬意
    • 第 20 期:折腾要趁早
    • 第 19 期:物理学不存在了
    • 第 18 期:啪的一下,假期就没了!
    • 第 17 期:牛市来了?
    • 第 16 期:白嫖AI的最佳时间
    • 第 15 期:中秋节快乐
    • 第 14 期:什么是完美副业?
    • 第 13 期:肉,好次!
    • 第 12 期:热 & 累!
    • 第 11 期:猴哥,我好急啊!
    • 第 10 期:太阳神鸟
    • 第 9 期:Queen Wen!!!
    • 第 8 期:奥运会热度不高?
    • 第 7 期:Fight!
    • 第 6 期:陶冶情操!
    • 第 5 期:小魔女太可爱了!
    • 第 4 期:Steam夏季促销开始啦!
    • 第 3 期:基于“智能体”创造自发展的冒险镇
    • 第 2 期:房地产降温
    • 第 1 期:起点!
  • 2024
博客
订阅
GitHub
主页
  • 2025

    • 第 63 期:搞笑诺贝尔奖
    • 第 62 期:不纯粹工程
    • 第 61 期:Python的故事
    • 第 60 期:AI平替PS?
    • 第 59 期:OpenAI进化之路
    • 第 58 期:坠落or飞翔
    • 第 57 期:课题分离
    • 第 56 期:坎宁安定律
    • 第 55 期:手机发展史
    • 第 54 期:芯片简史
    • 第 53 期:编程的本质
    • 第 52 期:魔数0x5f3759df
    • 第 51 期:为何浏览器请求头User-Agent均以Mozilla开头?
    • 第 50 期:警惕胶水工作
    • 第 49 期:消费主义假象
    • 第 48 期:周刊一岁啦!
    • 第 47 期:端午安康
    • 第 46 期:好习惯要坚持
    • 第 45 期:冰冷的规则
    • 第 44 期:凌晨3点的高速
    • 第 43 期:电子榨菜
    • 第 42 期:新公园文化
    • 第 41 期:疲乏
    • 第 40 期:智能体是通往AGI的必经之路吗?
    • 第 39 期:战斗,爽!
    • 第 38 期:陪伴
    • 第 37 期:反差魅力
    • 第 36 期:国漫雄起!
    • 第 35 期:DeepSeek爆火
    • 第 34 期:辞旧迎新
    • 第 33 期:泼天流量?
    • 第 32 期:克隆声音
    • 第 31 期:自力更生
  • 2024

    • 第 30 期:2024的尾声
    • 第 29 期:宇宙的尽头是上岸
    • 第 28 期:小机器人是什么鬼啊?
    • 第 27 期:移动的移动充电宝
    • 第 26 期:无痛写作
    • 第 25 期:第一生产力
    • 第 24 期:伟大的母亲
    • 第 23 期:MAGA!
    • 第 22 期:4 > 1
    • 第 21 期:惬意
    • 第 20 期:折腾要趁早
    • 第 19 期:物理学不存在了
    • 第 18 期:啪的一下,假期就没了!
    • 第 17 期:牛市来了?
    • 第 16 期:白嫖AI的最佳时间
    • 第 15 期:中秋节快乐
    • 第 14 期:什么是完美副业?
    • 第 13 期:肉,好次!
    • 第 12 期:热 & 累!
    • 第 11 期:猴哥,我好急啊!
    • 第 10 期:太阳神鸟
    • 第 9 期:Queen Wen!!!
    • 第 8 期:奥运会热度不高?
    • 第 7 期:Fight!
    • 第 6 期:陶冶情操!
    • 第 5 期:小魔女太可爱了!
    • 第 4 期:Steam夏季促销开始啦!
    • 第 3 期:基于“智能体”创造自发展的冒险镇
    • 第 2 期:房地产降温
    • 第 1 期:起点!
  • 2024
博客
订阅
GitHub
  • 主页
  • 合集

    • 2024年周刊合集(01期 - 30期)
  • 周刊

    • 2025

      • 第 63 期:搞笑诺贝尔奖
      • 第 62 期:不纯粹工程
      • 第 61 期:Python的故事
      • 第 60 期:AI平替PS?
      • 第 59 期:OpenAI进化之路
      • 第 58 期:坠落or飞翔
      • 第 57 期:课题分离
      • 第 56 期:坎宁安定律
      • 第 55 期:手机发展史
      • 第 54 期:芯片简史
      • 第 53 期:编程的本质
      • 第 52 期:魔数0x5f3759df
      • 第 51 期:为何浏览器请求头User-Agent均以Mozilla开头?
      • 第 50 期:警惕胶水工作
      • 第 49 期:消费主义假象
      • 第 48 期:周刊一岁啦!
      • 第 47 期:端午安康
      • 第 46 期:好习惯要坚持
      • 第 45 期:冰冷的规则
      • 第 44 期:凌晨3点的高速
      • 第 43 期:电子榨菜
      • 第 42 期:新公园文化
      • 第 41 期:疲乏
      • 第 40 期:智能体是通往AGI的必经之路吗?
      • 第 39 期:战斗,爽!
      • 第 38 期:陪伴
      • 第 37 期:反差魅力
      • 第 36 期:国漫雄起!
      • 第 35 期:DeepSeek爆火
      • 第 34 期:辞旧迎新
      • 第 33 期:泼天流量?
      • 第 32 期:克隆声音
      • 第 31 期:自力更生
    • 2024

      • 第 30 期:2024的尾声
      • 第 29 期:宇宙的尽头是上岸
      • 第 28 期:小机器人是什么鬼啊?
      • 第 27 期:移动的移动充电宝
      • 第 26 期:无痛写作
      • 第 25 期:第一生产力
      • 第 24 期:伟大的母亲
      • 第 23 期:MAGA!
      • 第 22 期:4 > 1
      • 第 21 期:惬意
      • 第 20 期:折腾要趁早
      • 第 19 期:物理学不存在了
      • 第 18 期:啪的一下,假期就没了!
      • 第 17 期:牛市来了?
      • 第 16 期:白嫖AI的最佳时间
      • 第 15 期:中秋节快乐
      • 第 14 期:什么是完美副业?
      • 第 13 期:肉,好次!
      • 第 12 期:热 & 累!
      • 第 11 期:猴哥,我好急啊!
      • 第 10 期:太阳神鸟
      • 第 9 期:Queen Wen!!!
      • 第 8 期:奥运会热度不高?
      • 第 7 期:Fight!
      • 第 6 期:陶冶情操!
      • 第 5 期:小魔女太可爱了!
      • 第 4 期:Steam夏季促销开始啦!
      • 第 3 期:基于“智能体”创造自发展的冒险镇
      • 第 2 期:房地产降温
      • 第 1 期:起点!

肖恩技术周刊(第 62 期):不纯粹工程

周刊内容: 对一周内阅读的资讯或技术内容精品(个人向)进行总结,分类大致包含“业界资讯”、“技术博客”、“开源项目”和“学习资源”等。
更新时间: 周一
历史收录: 技术周刊合集
订阅方式: 微信公众号“肖恩聊技术”,除周刊外还有更多原创技术博文,欢迎关注👏🏻~
公众号二维码

编程工作可以分为两种截然不同的类型。第一种是 纯粹工程 (pure engineering),它的目标是尽可能完美地解决一个技术问题。开源项目常常属于这一类:某个工程师想写出最棒的 HTTP 请求库,或是打造他心目中理想的游戏引擎。第二种是 不纯粹工程 (impure engineering),它的目标是尽可能高效地解决一个现实世界的问题。科技公司的付费工作大多如此:工程师们被要求在截止日期前,尽其所能地交付某个项目或功能。

在纯粹的软件工程中,你所做的事情更接近艺术或研究。说它像艺术,是因为工程师被一种审美意识所驱动(比如,什么样的库或游戏引擎才算得上好)。说它像研究,是因为它是开放式的:工程师一旦找到了一个解决方案,他可以永远地测试和修改下去,不断尝试(也通常会不断放弃)新的方法。

不纯粹的软件工程则更像是水管工或建筑工。工程师的审美必须服从于他人的需求(通常是雇主的需求)。他们是在为别人的问题构建解决方案。既然是别人的问题,就必须按时完成,而这就意味着妥协。

业界资讯

npm 的 debug 和 chalk 包遭到入侵

2025年9月8日,npm上18个流行的JavaScript包(如debug和chalk)被恶意代码篡改,每周下载量超20亿次。这些包被注入恶意代码后,会在客户端执行,拦截和篡改与加密货币和Web3相关的网络请求及钱包交互,将资金和批准重定向到攻击者控制的账户,用户却毫无察觉。

恶意代码通过混淆技术隐藏功能,注入浏览器后挂钩fetch、XMLHttpRequest和钱包API,监控敏感数据并篡改目标地址,使用“相似地址”减少察觉。即使用户界面显示正确,实际交易已被篡改。

攻击者通过伪造的npm支持邮件(support [at] npmjs [dot] help)进行钓鱼攻击。维护者在得知被攻击后开始清理受影响的包。Aikido系统还检测到另一个包[email protected]被相同攻击者篡改。

修复建议包括检查使用的包版本、清理npm缓存、重新安装包,并使用Aikido SafeChain等工具防止类似攻击。

最轻的 iPhone 亮相,还有这些惊喜:Apple 发布会看点回顾

2025年9月10日凌晨,Apple召开新品发布会,推出iPhone 17系列、Apple Watch系列及AirPods Pro 3等新品。iPhone 17系列包括基础款iPhone 17、轻薄的iPhone Air和旗舰iPhone 17 Pro系列,均配备A19系列芯片,支持更高刷新率屏幕与更好影像系统,容量与续航显著提升。Apple Watch系列更新至Series 11、Ultra 3和SE 3,新增5G蜂窝、双向卫星通信、高血压提醒等功能,续航与健康监测能力增强。AirPods Pro 3则在音质、降噪、佩戴体验及健康监测方面全面升级,新增实时翻译功能。此外,Apple还发布了多款新配件,如MagSafe保护壳、防护边框和MagSafe电池等,进一步丰富了产品生态。此次发布会展现了Apple在技术创新和用户体验提升方面的持续努力,为消费者带来了更多选择和惊喜。

佳文共赏

对 Cloudflare 创始人兼CEO马修・普林斯有关互联网历史与流量付费的采访

本文是Stratechery对Cloudflare创始人兼CEO马修·普林斯的访谈,主要围绕Cloudflare的创立历程、业务模式以及互联网内容分发的未来展开。普林斯分享了他从法律专业转向技术领域的经历,以及如何在哈佛商学院期间构思出Cloudflare的创意。Cloudflare最初通过提供免费服务吸引用户,逐步拓展到企业级市场,并在网络安全和内容分发领域占据重要地位。普林斯还探讨了AI对传统互联网商业模式的影响,尤其是谷歌创建的基于流量的商业模式,并试图通过Cloudflare的力量为内容创作者创造新的商业模式。访谈还涉及了Cloudflare在内容分发、网络安全、AI技术应用等方面的现状和未来展望,以及普林斯对AI时代内容创作者如何获得合理回报的思考。

使用智能体为智能体编写高效工具

文章探讨了为人工智能代理编写工具的方法,以提升其解决现实任务的能力。工具是代理与系统间的桥梁,需为代理设计。编写工具时,应先构建原型并本地测试,接着通过复杂任务评估工具表现,分析代理的困难点和工具调用指标,最后与代理合作优化工具。有效工具的编写需遵循几大原则:选择合适的工具实现,避免简单包装现有功能;为工具命名以明确功能边界;返回对代理有意义的上下文信息;优化工具响应以提高标记效率;精心设计工具描述和规范。未来,随着代理能力的提升,工具开发需适应非确定性模式,通过系统化评估驱动方法持续改进。

技术博客

你的大客户可能是最大的瓶颈

文章讲述了在多租户系统中,如何解决“最大客户可能成为最大瓶颈”的问题。作者所在的公司Trieve在引入最大客户后,发现新客户的大量文档上传导致系统处理管道堵塞,其他客户的文档索引请求被延迟数小时。这揭示了多租户系统中的“嘈杂邻居”问题,即一个贪婪的租户可能会耗尽所有资源,导致其他租户无法获得服务。

为了解决这个问题,作者提出了公平排队(Fair Queueing)的解决方案。传统的先进先出(FIFO)队列只关心谁先到达,而不考虑谁最需要服务。公平排队则通过为每个客户分配独立队列,并通过轮询调度器轮流处理每个客户的消息,确保每个客户都能得到服务,防止饥饿现象。

作者构建了一个名为Broccoli的系统来实现公平排队。其核心架构包括两个主要组件:每个客户的专用队列和一个轮询调度器。这种设计的优点是完全自平衡的,忙碌的客户保持在轮转中,安静的客户自动退出,每个客户都能公平地获得处理时间,无论他们排队的工作量有多大。

类型检查不是解决方案

文章质疑编程行业对类型检查的痴迷,认为这可能是掩盖架构错误的复杂工具。类型检查被视作大型程序可维护性的关键,但实际上,它只是我们创造的不必要的复杂性的证明。软件行业普遍认为类型检查可以捕获错误、使重构更安全,但这些观点是基于当前构建软件的方式。作者指出,类型检查的需求并非规模的自然结果,而是不良架构选择的症状。

作者认为,函数调用作为现代编程的基础抽象,带有隐藏的负担,不适合分布式、基于时间的系统。相比之下,电子工程师设计的系统复杂度更高,但不依赖复杂的类型系统,而是通过严格隔离、明确的时序约束和简单接口来管理复杂性。

作者呼吁重新审视这些假设,探索更好的架构选择,如真正的隔离,使系统更容易理解。

开源项目

Nano Banana 提示词合集

gemini - 2.5 - flash - image(也被称作 Nano Banana)生成的精选图像和提示词合集。

自学计算机科学

TeachYourselfCS 的中文翻译。

工具推荐

西游记取经路线图

跟随唐僧师徒四人的传奇西行之路,体验八十一难的奇幻冒险。

摸摸鱼计时器

一款藏在 macOS 菜单栏里的小工具,每天自动统计摸鱼时间,帮你心里有数、偶尔自省、持续进步!

Last Updated:
Prev
第 63 期:搞笑诺贝尔奖
Next
第 61 期:Python的故事