第340期 — 2025-11-01

在浏览器中阅读

周e信

扫描二维码关注微信公众号

Node.js

从deno移植到nodejs🔗

Mastro 网页框架与静态网站生成器开发者 Mauro Bieg,分享了将最初仅运行于浏览器和 Deno 的 Mastro 移植到 Node.js 的经历与心得:早期因 Deno 的丰富标准库、Web 标准支持及 TypeScript 原生支持,Mastro 以约 700 行 TypeScript 代码实现 90% 建站需求,还做成 VSCode 网页扩展;后因 Deno 2.0、Bun 等均支持 Node.js 功能,Node.js 内置功能成通用标准且稳定性佳,且其原生支持 TypeScript,开发者启动移植。过程中,替换 Deno 专属功能为 Node.js 对应功能(仅 “写流到文件” 保留 Deno 优先逻辑),用@remix-run/node-fetch-server polyfill Node.js 缺失的Request/Response API,拆分非核心代码解决 Node.js 不支持 HTTP 导入的问题,复制 Deno 标准库中适配 Node.js 的小功能;发布时核心代码放 JSR(自动转 TS 为 JS),因 JSR 不支持bin字段,将项目初始化脚本拆为纯 JS 包发布到 NPM,满足 Node.js 用户npx/npm create需求。最终 Mastro 可在浏览器、Deno、Node.js 运行且代码少重复,开发者表示未来新项目会提前规划优先用 Node.js 内置功能,也希望分享能帮他人避坑。

Mauro Bieg

Javascript

Isaac Mason

use strict等指令应该弃用🔗

传统 JavaScript 仅存在 “use strict” 这一标准化指令,而当前多个 JavaScript 框架自创了 use client、use server 等顶层自定义指令,这些指令虽看似语言特性却无统一标准,会造成误解、调试复杂、可移植性差、难以承载复杂配置等问题,还可能引发锁定效应和生态碎片化,因此作者反对这种趋势,呼吁框架用显式 API 替代自定义指令,明确框架特性与平台语义的边界,若需跨框架共享功能应协作制定规范而非无序新增指令。

typescript成为github上使用最多语言🔗

GitHub 2025 年度报告显示,全球开发者生态在 AI 推动下迎来重大变化:平均每秒新增 1 名开发者,一年新增 3600 万使总用户超 1.8 亿,印度等新兴地区成增长主力且全球分布更均衡;TypeScript 首次超越 Python 和 JavaScript 成为最常用语言,得益于框架默认支持和 AI 辅助开发的适配性,Python 则稳居 AI 与数据科学领域核心;AI 已成为开发标配,80% 新开发者首周就使用 Copilot 等工具,AI 相关仓库超 430 万个,助力开发效率大幅提升,开源生态中 60% 热门项目聚焦 AI,同时自动漏洞修复工具普及让关键漏洞修复提速 30%,但权限配置不当成为主要安全新问题。

GitHub Staff

前端

Matt Carroll and Ricky Hanlon

React Conf 2025 的总结🔗

大会两天直播及活动照片可在线查看。第一天主旨演讲中,团队介绍 React 19.2 新功能(如<Activity />组件、useEffectEvent、Performance Tracks 工具、部分预渲染)、Canary 版本新特性(如<ViewTransition />组件、Fragment Refs),宣布 React Compiler 1.0(支持自动记忆化、新 lint 规则,适配主流框架且有迁移指南)及 React 基金会成立;第二天主旨演讲提及 React Native 每周下载量达 400 万(同比增 100%)、众多知名应用迁移或采用,宣布 React Native 0.82 仅支持新架构、实验性支持 Hermes V1,还推出新的 Web 对齐 DOM API 与性能 API(含网络面板和桌面应用)。大会另有 React 团队分享(如异步 React、性能研究、React Native 新列表组件等)、React 框架团队分享(如框架扩展、打包方案等)、三场问答面板及社区分享,最后官方感谢了工作人员、主持人、合作团队、开发者、赞助商及所有参与者,强调 React 的社区属性。

Matt Carroll and Ricky Hanlon

移动端

适用于Android的Swift SDK🔗

2025 年 10 月 24 日,Joannis Orlandos 在 Swift 官网宣布推出安卓版 Swift SDK 的夜间预览版,这是安卓工作组在全球开发者社区多年基础努力上,历经数月攻坚的成果。该 SDK 标志着开发者可使用 Swift 开发安卓应用,为跨平台开发开辟新路径,能加速移动生态创新;可通过 Windows 安装程序捆绑获取,也能在 Linux 或 macOS 上单独下载。官方同步提供了入门指南和安卓版 Swift 示例项目,助力开发者搭建首个安卓原生 Swift 代码,目前 Swift 软件包索引中超 25% 的软件包已可在安卓构建,社区展示区也会标注安卓兼容性;同时,swift-java 项目能实现 Swift 与 Java 的双向互操作,通过自动生成安全高效的绑定,帮助开发者将业务逻辑整合到安卓项目。后续,安卓工作组正在起草安卓版 Swift 未来工作的愿景文档(目前待审核),还会维护项目看板追踪主要工作进度及官方持续集成(CI),并鼓励开发者在 Swift 论坛分享使用体验、想法等,邀请更多人参与完善该生态。

Joannis Orlandos

苹果公司对细节的传奇关注怎么了?🔗

这篇文博客作者吐槽苹果近 8-10 年已不再注重细节,用户体验、无障碍设计和质量测试大幅下滑,尤其 iOS 26 和 Mac OS 26 问题突出:Mac 上备忘录 APP 拒绝位置权限后仍反复弹窗索要、不同 APP 搜索栏和标签页设计无统一标准,iOS 26 则存在文件 APP 显示异常、分享面板与设置图标错乱、浏览器功能故障、iMessage 可读性差等大量 bug,还出现适配小屏手机不佳、续航下降、文字重叠等问题,作者认为苹果盲目推行 “液态玻璃” 设计系统、追求季度目标,忽视充分测试,让原本喜爱它的开发者和设计师逐渐失望。

John Ozbay

人工智能

向 ChatGPT 发送消息后背后的完整流程🔗

当用户按下 “发送”,输入的文字会先通过 HTTPS 加密连接传至 OpenAI 服务器,服务器先验证用户身份与请求合法性,接着整理模型所需的上下文(包括系统指令、相关聊天历史和最新消息,若开启网页浏览等功能还会附加工具可用标记),只保留有效信息以保证效率;随后文字会被拆分为模型可处理的 “token”(如常见词为单个 token,长词可能拆分,且受 “上下文窗口” 限制,长对话会精简早期内容,token 数量还影响处理速度与成本),再传输到运行在专用 GPU 硬件上的模型服务器;模型通过 “逐 token 预测” 生成回复,过程中借助 “自注意力”(判断输入关键信息)、“词嵌入”(将 token 转为含语义的数字)、“位置编码”(标记 token 顺序)等核心能力保证回复连贯合理,且并非等完整回复生成后再发送,而是采用 “流式传输”,生成部分 token 就立即传回浏览器,呈现 “文字逐步弹出” 的效果;若回复需实时信息(如查天气),模型会调用对应工具(生成工具指令、服务器执行工具并返回结果,模型基于结果继续生成),同时会经过三层安全检查(扫描输入拦阻违规请求、模型训练时植入合规准则、生成回复后二次核查)确保内容安全;此外,系统还通过可选的 “记忆功能”(存储用户偏好并在后续对话中调用,用户可自主管理)、“批量处理”(将多用户请求打包用 GPU 运算提升效率)、“缓存”(复用重复的系统指令等内容减少计算量)等优化手段,保证即使海量用户同时使用,服务也能快速响应,整体流程虽看似即时,实则是加密通信、上下文处理、tokenization、模型推理、流式传输、安全防护与性能优化等多环节协同作用的结果。

Alex Xu

DeepSeek OCR🔗

DeepSeek-OCR 是一个专注于视觉 - 文本压缩领域的 OCR(光学字符识别)模型仓库,旨在从以 LLM(大语言模型)为中心的视角研究视觉编码器的作用。 核心功能 支持多种分辨率模式的 OCR 处理,包括: 固定分辨率:Tiny(512×512)、Small(640×640)、Base(1024×1024)、Large(1280×1280) 动态分辨率:Gundam(n×640×640 + 1×1024×1024) 提供高效的推理能力,在 A100-40G 上处理 PDF 时可达到约 2500tokens/s 的并发速度 支持图像和 PDF 两种输入格式的 OCR 识别 能够将文档转换为 markdown 格式,保留排版结构 支持图像中文字的定位与识别

Wei, Haoran and Sun, Yaofeng and Li, Yukun

运维

AWS宕机事件是由于“人才流失”造成的🔗

作者认为当日发生的AWS宕机事件是由于“人才流失”造成的。文章指出,这次宕机的根源是DNS问题,但作者认为AWS理应清楚这一点。

作者怀疑,经验丰富的AWS工程师已经大量离职,带走了关于AWS系统大规模运行的宝贵知识。文章提到,AWS报告称在10月20日凌晨,US-EAST-1区域的多个AWS服务出现错误率和延迟增加,随后确认DynamoDB端点的DNS解析是罪魁祸首,导致了级联故障。这次故障导致互联网大面积瘫痪。

作者认为,AWS在解决问题上的迟缓表明,他们缺乏足够的内部专业知识。文章引用了Justin Garrison在2023年底离职时对AWS的批评,他曾预测2024年会出现重大宕机事件,并指出AWS的大规模事件(LSE)有所增加。

作者强调,AWS在2022年至2025年间进行了多次裁员,导致大量有经验的员工离职。虽然很难确定有多少AWS员工受到影响,但内部文件显示,亚马逊在所有雇佣级别上都存在69%到81%的“后悔流失率”。

作者总结说,这是一个转折点。AWS的运营优势建立在冗余和经验丰富的人员之上,但当削减到骨子里时,基本的东西就会开始崩溃。他预测,市场可能会原谅AWS这一次,但这种模式将会持续下去,下一次宕机已经在酝酿之中。

Corey Quinn

用每月55美元的服务器替换每月3000美元的Heroku账单🔗

Disco 帮助全球最大非营利招聘网站Idealist.org解决了 Heroku staging 环境成本过高的问题:Idealist.org此前在 Heroku 上仅 2 个永久 staging 环境(dev 和 main)每月就需 1000 美元(单个环境约 500 美元,因 Heroku 按环境收费,含 Web/worker dyno 及昂贵托管数据库插件),面临企业合同续约时,他们尝试用一台 55 美元 / 月的 Hetzner CCX33 服务器,借助 Disco 复刻了 Heroku 的 “git push 部署” 流程,让所有 staging 环境共享服务器上的 Postgres 实例以省去托管数据库费用;Disco 还提供零停机部署、自动 SSL 证书、Web UI 日志管理等功能,避免团队自建自动化部署工具,最终这台服务器轻松运行 6 个 staging 环境(按 Heroku 定价原需 3000 美元 / 月),且资源占用低(CPU 平均~2%、内存用 14GB/32GB);虽迁移后需手动配置 DNS/CDN、自行负责服务器监控与安全更新,Hetzner 在美国节点有限且 staging 环境无 Heroku 的冗余保障(故障需重新配置),还需 1 天适配应用网络以兼容 Docker,但 6 个月后该方案成为永久架构,不仅大幅节省成本,更让 staging 环境从稀缺资源变为可随意创建的 “免费商品”,消除了开发者创建环境时的成本顾虑。

Disco

十多年来编写并频繁使用的各类 shell 脚本🔗

Evan Hahn 在文中分享了自己十多年来编写并频繁使用的各类 shell 脚本,涵盖多个实用场景:剪贴板操作(如copy/pasta实现内容复制粘贴、cpwd复制当前目录路径)、文件管理(如mkcd创建目录并进入、tempe切换临时目录、trash将文件移至回收站、mksh快速创建可执行 shell 脚本)、网络相关(如serveit启动静态文件服务器、getsong/getpod/getsubs分别下载歌曲、播客资源和视频字幕、wifi控制无线网络开关、url解析 URL 各部分)、文本处理(如line提取指定行内容、scratch打开临时文本编辑缓冲区、straightquote转换引号、markdownquote添加引用标记等)、REPL 启动器(如iclj/ijs/ipy等启动不同语言的交互环境)、日期时间(如hoy打印 ISO 格式日期、timer设置计时并提醒、rn显示当前时间日期和日历)、音视频图片处理(如ocr提取图片文字、boop根据命令执行结果发声提示、tunes播放音乐、pix查看图片等)、进程管理(如each替代xargs执行命令、running查看进程、murder逐步强制终止进程、bb后台运行程序等)、快速查询(如emoji查找对应表情、httpstatus查询 HTTP 状态码、alphabet打印字母表)、系统管理(如theme切换明暗模式、sleepybear让系统休眠、ds-destroy删除.DS_Store文件)及其他杂项(如catbin查看脚本源码、notify发送系统通知、uuid生成 UUID),并表示希望这些脚本对他人有帮助。

Evan Hahn

其他

通过FIA漏洞访问马克斯·维斯塔潘的护照和PII🔗

Ian Carroll 与 Gal Nagli、Sam Curry 在参加 F1 相关网络活动时,尝试攻击 F1 配套网站,发现国际汽车联合会(FIA)的驾驶员分类网站(drivercategorisation.fia.com)存在安全漏洞,该网站用于管理驾驶员(含 F1 车手)的分类等级(铜 / 银 / 金 / 白金),支持公众注册提交申请及相关证明文件。他们注册账号后,发现更新个人资料的 HTTP PUT 请求存在 “批量分配” 漏洞,通过分析网站 JavaScript 代码,推测并构造包含 “ADMIN 角色” 参数的 PUT 请求,成功将自己的账号升级为管理员权限,进而获得网站完整管理权限,能查看包括马克斯・维斯塔潘在内所有 F1 车手的护照、简历、驾照、密码哈希等个人敏感信息(PII),以及 FIA 内部关于驾驶员分类的沟通记录、委员会决策等敏感内容,发现漏洞后他们停止测试并删除所有获取的数据

ian carroll

解锁英国航空的免费WiFi🔗

作者分享了如何在英国航空的免费“Messaging” WiFi 上绕过限制,访问完整的互联网。

英国航空为常旅客计划会员提供免费的“Messaging” WiFi,但限制只能用于文本消息应用。作者发现,BA是通过检查TLS握手过程中的SNI(Server Name Indication)来判断用户访问的域名。SNI明文传输,暴露了用户访问的网站域名。

作者通过以下步骤绕过限制:

  1. 设置HTTPS代理: 在VPS上设置一个HTTPS代理,并配置stunnel使用自签名证书,并设置证书的Common Name (CN) 为wa.me(WhatsApp使用的域名)。
  2. 欺骗SNI: 使用 openssl s_clientcurl 命令,通过 -servername wa.me--resolve wa.me:443:VPS_IP 参数,强制客户端在TLS握手时发送 wa.me 作为SNI。
  3. 浏览器设置: 在浏览器中设置HTTPS代理,并忽略TLS证书错误,在hosts文件中设置wa.me指向VPS的IP地址。

通过以上方法,成功欺骗BA的网络,使其认为用户正在使用WhatsApp,从而允许通过代理访问任意网站。虽然速度受限,但实现了免费上网。

文章还提到了 ECH(Encrypted Client Hello),作为 SNI 的替代方案,可以加密 SNI,防止中间人窃听。作者测试了使用 ECH 绕过限制,同样成功。

最后,作者强调 SNI 只是客户端向服务器提供的“提示”,可以被伪造,不应被用于安全相关的决策。

Unknown

美国取消了报告美国武装外国部队侵犯人权行为的网站🔗

美国国务院已经撤销了一个用于报告由美国武装的外国军队侵犯人权行为的在线门户网站——人权报告门户 (HRG)。该门户网站是向美国政府正式举报此类行为的唯一公开渠道。这一举动受到了人权活动家和相关法律起草者的谴责。

Tom Bateman

在课程中取得好成绩:Andrej的成功建议(2013)🔗

斯坦福大学的 Andrej Karpathy 针对本科生如何学好课程给出建议,涵盖多方面:通用学习上,强调熬夜不值、保证睡眠(约 7.5 小时)、提前多天备考以利用大脑夜间记忆巩固,建议参加辅导课,选择图书馆等安静场所学习,还可借助他人学习氛围督促自己;备考时,要规划学习内容避免偏科,先看往届试题把握教授出题风格,注重实操(如数学多做题)而非仅阅读,先独自学习后与他人协作(包括帮助基础较弱同学以深化理解),考前找教授沟通,自制复习提纲,紧急时可借助能量饮料;考试当天,提前 2 小时进食喝咖啡,考前高强度复习(避免考前立即休息);考试中,用铅笔答题,先浏览全卷再做易题,保持卷面整洁、标注答案,不提前交卷,根据分值分配时间,最后几分钟检查是否漏题;最后特别提醒,不要过度关注成绩(除非成绩差),应将时间投入到获取实际经验(如暑期实习、科研项目)、参与或发起课外项目、贡献开源等更有价值的事上,且做科研要坚持不半途而废,这些经历和推荐人评价比成绩更重要。

Andrej Karpathy

VST3音频插件格式现在是MIT许可🔗

Steinberg 公司在论坛发布的 VST 3.8.0 SDK(音乐插件开发者工具包)更新通知,核心内容包括:将 VST 3 改为 MIT 许可证下的开源模式,降低开发者使用门槛;新增 MIDI 2.0 支持(含替代旧接口的新接口、补全 MIDI 1.0 系统消息设置)、Linux 系统 Wayland 技术初步支持;升级 VSTGUI(插件界面工具)至 4.15.0,增加多线程任务调度、CSS 网格式布局等界面开发便利功能;修复编译、测试工具的 bug,更新授权相关文档与使用指南;提供支持新功能的示例插件,并给出 SDK 在官网和 GitHub 的下载渠道,整体为音乐插件开发者提供更免费、功能更强、更易使用的开发工具

Yvan

取代人类的AI公司首页 - Replacement.ai🔗

网页以极端讽刺、荒诞的语气,伪装成 “诚实的 AI 公司” 宣传页,实则批判当下 AI 行业的诸多问题:宣称要 “取代人类”,反讽部分 AI 公司嘴上说 “赋能” 实则推进机器替代人的逻辑;调侃 AI “安全” 只是公关话术,戳穿部分企业为竞争和股东利益,无视超智能 AI 失控风险的现状;挖苦普通劳动者会被替代,称 “老板才是客户”,还恶搞 “后人类职业” 暗讽失业危机;推出针对儿童的离谱 AI 产品 HUMBERT,功能含包办育儿、生成换脸视频、诱导成瘾甚至允许与儿童暧昧调情,讽刺不良 AI 危害儿童;此外还直白 “感谢” 艺术家,实则揭露 AI 训练偷用创作者作品的侵权问题,整体是借夸张表达批判 AI 行业重利益、轻人文与风险的倾向。

replacement.ai

扫描二维码关注微信公众号
本期阅读量