第333期 — 2025-09-13 |
周e信 |

Node.js |
![]() |
知名开发者 Qix 的账户遭钓鱼攻陷,多个常用软件包被植入恶意代码🔗 攻击者发送看似合法的 2FA 重置钓鱼邮件,邮件伪装成 npm 官方支持邮件,来自 support@npmjs.help,警告 Qix 因 2FA 凭证过期账户将被锁定,诱使他点击 “Update 2FA Now” 链接,从而获取其账户权限。 Sarah Gooding, Olivia Brown, Kush Pandya, Philipp Burckhardt, Peter van der Zee, Douglas Coburn |
poloclub |
Next.js 居然不能在生产环境便利的生成日志🔗 因 Next.js 默认日志仅支持开发环境,作者尝试用 pino 库 + 中间件搭建日志,却先遇中间件仅能传 4 个参数、不支持多中间件链式调用、默认 edge 运行时不兼容 AsyncLocalStorage(换 nodejs 运行时在实际项目仍失效)的问题;后发现页面渲染与中间件不在同一异步上下文,无法获取日志实例,只能通过请求头传 requestId 重新初始化日志,还需拆分日志代码且中间件与页面代码不可互引,客户端组件日志需额外处理;作者尝试自定义服务器仍无果,吐槽 Next.js 不开放 AsyncLocalStorage 能力、强制按其设计规则开发,对比 Vercel 自家 SvelteKit 中间件的灵活(可存自定义数据、支持多中间件串联)更觉 Next.js 设计糟糕,同时不满 Next.js GitHub Issues 大量 bug(含作者一年前提交的)长期无回应、解决方案久拖不更,最终表示因 Next.js 处处是 bug 和不便,已不想使用,仅因无推动公司换框架的能力暂用,未来新项目会考虑其他方案。 Dominik Meca |
![]() |
Cloudflare Workers 支持 Node.js HTTP 服务器🔗 Cloudflare Workers 新增了对 Node.js 的node:http客户端和服务器 API 的支持。这意味着开发者可以把现有的 Express.js、Koa 等基于 Node.js 的应用部署到 Cloudflare Workers 这个边缘计算平台上。部署后,应用能实现零冷启动、自动扩展,用户访问时延迟也会显著降低,而且还不用修改原来的代码。 Yagiz Nizipli, James M Snell |
前端 |
css实现ios玻璃效果的原理🔗 用“斯涅尔定律” 的公式来算光线怎么拐 Chris Feijoo |
David |
![]() |
CSS 颜色渐变动画(color shifting)教程🔗 使用HSL而不是RGB 解决方案 1:用 CSS filter 的 hue-rotate, 先给粒子设一个基础 HSL 色(比如随机 H,固定 S=100%、L=80%); 写 CSS 动画,让 filter 从 hue-rotate(0deg) 变到 hue-rotate(720deg)(转两圈色轮)。 解决方案 2:用 CSS @property,让变量支持动画 用 @property --hue 声明 “--hue 是角度类型”,告诉浏览器按角度规则计算; 粒子的背景色设为 hsl(var(--hue) 100% 80%),动画时只改 --hue(比如从 0deg 到 720deg)。 Josh Comeau |
数据库 |
Maxi Ferreira |
人工智能 |
![]() |
AI 编程工具让开发者效率提升十倍的说法不成立🔗 文章提出了一个类似“费米悖论”的问题: 如果 AI 编程工具确实让开发者效率提升十倍,我们理应看到大量的“shovelware”(快速堆砌、质量不高的重复产品)出现在各类平台上:Steam 游戏、网站、移动 App、SaaS 产品等应激增。但现实中,这种现象并未发生。 — Mike Judge Stacker News 他通过调查多个指标(如 GitHub 仓库数量、新产品发布量、Steam 上的新游戏上架量等)发现趋势平稳,没有明显增长,也无法观察到 AI 广泛应用后的爆发性新软件增长: 文章和社区观点都表明:虽然 AI 编程工具在某些情境下确实方便,但没有出现“软件洪流”那种软件爆发式增长,也没有验证所谓的 10× 效率;真正的生产力瓶颈依然在构思、质量保障、团队协作等层面,而不是纯编代码。 Mike Judge |
![]() |
生成式 AI 对人们搜索行为的影响🔗 一方面,用户长期形成的搜索习惯(如默认用谷歌、跳过赞助结果)根深蒂固,难以轻易改变;另一方面,生成式 AI(如 AI 概览、ChatGPT/Gemini)凭借节省时间、简化信息筛选等优势,开始推动部分用户行为转变 —— 比如 AI 概览(谷歌搜索结果顶部的 AI 回答)让用户更少点击链接,AI 聊天工具能帮用户解决复杂需求(如诊断 plumbing 问题),初次使用者体验后多计划后续复用。不过,AI 尚未完全取代传统搜索,所有参与者仍会结合传统搜索验证信息;且 ChatGPT 因先发优势、Gemini 因整合谷歌搜索的熟悉度,在 AI 搜索领域更具竞争力,同时 AI 的广泛普及还面临 “用户未充分知晓其搜索用途”“功能可发现性不足” 等挑战。JavaScript 编写的 MIDI SoundFont/DLS 播放器和编辑器 Kate Moran, Maria Rosala, Josh Brown |
bbycroft |
![]() |
美法院认定 Google 的搜索业务构成非法垄断但保留其 Chrome 浏览器🔗 谷歌母公司 Alphabet 的股票在盘后交易的时候涨了 8%,苹果公司的股票也涨了 4%, Jennifer Elias |
Anthropic 宣布完成了由 ICONIQ 领投的 130 亿美元的 F 轮融🔗 Anthropic 公司在 2025 年 9 月 2 日宣布完成了由 ICONIQ 领投的 130 亿美元的 F 轮融资,本轮融资后估值达到 1830 亿美元。 Fidelity Management & Research Company 和 Lightspeed Venture Partners 共同领投。其他重要投资者包括 Altimeter、Baillie Gifford、BlackRock 相关基金、Blackstone、Coatue、D1 Capital Partners、General Atlantic、General Catalyst、GIC、Goldman Sachs Alternatives 的 Growth Equity、Insight Partners、Jane Street、Ontario Teachers' Pension Plan、Qatar Investment Authority、TPG、T. Rowe Price Associates, Inc.、T. Rowe Price Investment Management, Inc.、WCM Investment Management 和 XN。 Anthropic 的首席财务官 Krishna Rao 表示,公司自 2023 年 3 月推出 Claude 以来,实现了快速增长。到 2025 年初,也就是推出不到两年后,Anthropic 的年化收入已增长至约 10 亿美元。到 2025 年 8 月,仅八个月后,其年化收入就超过了 50 亿美元,成为历史上增长最快的科技公司之一。目前,Anthropic服务超过 30 万家企业客户,年化收入超过 10 万美元的大客户数量在过去一年中增长了近 7 倍。Claude Code 自 2025 年 5 月全面推出以来,迅速发展,已经产生了超过 5 亿美元的年化收入,使用量在短短三个月内增长了 10 倍以上。 anthropic |
Anthropic 同意支付 15 亿美元以解决与图书作者的集体诉讼诉讼🔗 诉讼称 Anthropic 曾从诸如 Library Genesis、Books3、Pirate Library Mirror 等“影子图书馆”下载了数百万本书,构成侵权。虽然法院认定使用正常获取的书籍用于AI训练属于“合理使用”(fair use),但未经授权下载、存储盗版书籍的行为则不具此保护 |
运维 |
我放弃了 Docker,转而使用 Podman🔗 带来三大优势:安全性提升(容器内提权也不影响主机)、无单点故障(单个容器崩溃不波及其他)、资源更节省。此外,Podman 还具备 systemd 无缝集成(生成标准服务文件,用 systemctl 管理)、与 Kubernetes 高度契合(原生支持 pod,可直接生成 K8s 配置)、遵循 Unix 哲学(拆分功能给 Buildah、Skopeo 等专用工具)的优点,且迁移成本极低(命令行用法相似,可别名 docker=podman,现有 Dockerfile 无需修改),仅少数差异(如普通用户不能绑定特权端口)实际是在倒逼更安全架构,还能兼容依赖 Docker socket 的老工具。作者用 Podman 半年后,安全感提升且资源监控更清晰,最后通过具体步骤演示 FastAPI 应用迁移(含构建镜像、运行容器、生产环境用 systemd 部署、多服务用 pod 管理、兼容 Docker Compose),并给出卷权限、老工具兼容等问题的解决办法,虽承认 Docker 生态成熟,但认为 Podman 对新项目或可自主选工具的场景是更优的进化选择。 Dominik Szymański |
其他 |
Bowerbyte |
“此电报在传达给任何人之前必须严密地释义”🔗 这篇文章探讨了二战时期美国电报上常见的短语“This telegram must be closely paraphrased before being communicated to anyone.” (此电报在传递给任何人之前必须被密切地改述)。 文章提出了问题:这句话的含义是什么?为什么需要密切地改述,而不是直接引用或模糊处理? 文章通过查阅历史资料,找到了美国陆军1950年的密码学手册 (TM 32-220),其中解释了“paraphrase”在当时的军事通信中的含义。手册指出,为了防止敌人通过比较明文和密文来破解密码系统,已经用加密形式发送过的消息,其明文形式不能再次以相同的形式出现,包括以明文或加密形式重复相同的文本。 因此,如果信息需要公开,或者需要被多人处理,明文版本需要被非常仔细地改述,以最大限度地减少敌人可能从明文和密文对比中获得的信息。改述意味着尽可能多地改变原文的措辞,同时保持信息含义不变,例如改变句子结构,使用同义词等。最好缩减词语,而不是扩充,并且尽可能避免重复的词语或专有名词。改述后的信息就可以用另一个密钥或代码发送。 文章还提到,盟军破译德军的Enigma密码也利用了类似的原理,即德军在不同的密码系统中使用完全相同的消息,导致盟军能够对比明文和密文,从而找到了破解密码的突破口。 文章还补充说,“closely”一词在当时可能同时具有“尽可能保持与原文含义接近”和“执行任务时要高度谨慎”的双重含义。 Dan Getz, T.E.D., Typpi |
Fil 令人难以置信的GC垃圾收集器🔗 Fil-C 语言的垃圾收集器FUGC(Fil's Unbelievable Garbage Collector) 是一款并行、并发、实时(on-the-fly)、基于灰栈(grey-stack)和 Dijkstra 屏障、精确(accurate)且非移动(non-moving) 的垃圾收集器,其核心优势在于无全局暂停(仅通过 “软握手” 实现异步线程协作,单次暂停短于典型malloc慢路径)、依托llvm::FilPizlonator确保指针精准追踪、通过 SIMD 位向量算法实现高效清扫(耗时 < 5%),同时支持 C/Java/JavaScript 风格的内存管理(如free触发陷阱、终结器队列、弱引用 / 弱映射),并借助安全点(safepoints)机制保障多线程安全与信号处理,其收集循环包含触发等待、屏障控制、根标记、追踪扫描、清扫等步骤,整体设计兼顾性能与易用性,还可通过FUGC_STW环境变量启用全局暂停以调试问题。 Fil |






