每日HackerNews RSS

## 信号:深入了解响应式编程 信号是一种现代的响应式编程方法,在Solid、Vue等前端框架中越来越受欢迎,但往往缺乏清晰的内部理解。 它们的核心是管理状态,并在状态改变时自动更新依赖值——就像一个电子表格,单元格会根据公式自动更新。 这种响应性由一种“推拉”算法驱动。**基于推的信号**在值改变时通知订阅者(不共享新的状态本身)。**基于拉的“计算值”**是惰性的;它们只有在被读取*并且*依赖项发生变化时才会重新计算。 重要的是,计算值会自动跟踪这些依赖项,无需手动指定——这是优于传统方法的关键优势。 这种依赖跟踪利用一个全局堆栈将计算与它们访问的信号关联起来。 带有“脏”标志的缓存系统确保仅在必要时才重新评估,从而优化性能。 推用于失效和拉用于重新评估的结合,创造了一种细粒度、高效的响应式系统。 标准化工作正在进行中,旨在将信号原生集成到JavaScript中(TC39 proposal-signals),可能为未来的框架提供一个共同的基础。 这种方法侧重于*如何*传播变化,为现有的状态管理解决方案提供了一种强大的替代方案。

对不起。

## 功敬设计奖:源于体验的设计 近25年来,功敬设计奖一直致力于推动创新文具,将概念变为现实。今年的主题是“共鸣:引发共鸣的设计”,鼓励设计师从个人经验中汲取灵感,创造出有影响力的产品。 大奖得主是神成宏树的**“Before Note”**,它重新构想了笔记本,将其设计成可定制的页面组合,使用户能够超越批量生产,个性化他们的体验。 优胜奖作品突出了微妙而有影响力的设计:高东田的**“Gram”**探索了重量对书写的影响,塚本雄二的**“边缘识别笔记本”**以可持续的方式提供优雅的组织,而五十嵐&泷泽的**“渐变日记”**则打破了刻板的计划表结构,采用了流畅的渐变布局。 其他值得关注的入围作品包括创新的包装、鼓励反思的笔以及增强阅读和捕捉灵感的工具,所有这些都体现了对用心互动和个人联系的关注。

对不起。

## HarfBuzz GPU 与 Slug 渲染彩色字体 Eric Lengyel 的 Slug 算法现已开源,并集成到 HarfBuzz 中作为 GPU 库,超越了文本塑形,进入了字形渲染领域。传统上,文本渲染依赖于在特定尺寸下栅格化位图,这对于缩放或 3D 环境来说是个问题。像符号距离场 (SDF) 这样的替代方案也有局限性,但 Slug 直接在片段着色器中计算字形覆盖率,从而实现完美的缩放和变换。 核心思想是将字形曲线预处理成数据缓冲区并上传到 GPU。虽然最初是用于单色字形,但可以通过 COLRv0 和 COLRv1 等格式扩展到矢量彩色字体(如表情符号)。COLRv0 将表情符号渲染为堆叠的彩色字形,可以通过调整现有的单色渲染来轻松支持。COLRv1 更加复杂,利用带有变换、裁剪和混合的渲染树 – 由 HarfBuzz 的 `hb-paint` 组件处理。 这涉及将绘图命令(裁剪蒙版、填充、变换、组)编码到纹理缓冲区中,并在片段着色器中执行它们,可能需要基于图层的混合方法。最终,这使得在任何应用程序中都能实现清晰、可缩放的表情符号渲染,并且即使对于单色文本也优于传统方法。作者希望该概述能够激发进一步的开发并集成到现有的渲染库中。

对不起。

我们检测到您的浏览器已禁用 JavaScript。请启用 JavaScript 或切换到受支持的浏览器以继续使用 x.com。您可以在我们的帮助中心查看受支持的浏览器列表。帮助中心 服务条款 隐私政策 Cookie 政策 版权信息 广告信息 © 2026 X Corp.

本文详细描述了在一次意外断电后,成功恢复一个严重损坏的12TB Btrfs文件系统,该文件系统跨越3个设备池(数据单副本,元数据DUP,DM-SMR磁盘)的过程。标准的`btrfs check --repair`命令失败,由于extent树和空闲空间树的问题陷入无限循环。 恢复是通过14个基于btrfs-progs API构建的定制C工具实现的,数据损失极小——大约4.59TB中的7.2MB(0.00016%)。作者分享此案例作为研究,*而非*错误报告,并为btrfs-progs的潜在改进提供建设性反馈。 提出了九个具体的改进领域,重点是增强的修复工具功能(进度检测、extent树重建、孤立inode清理)、更清晰的文档以及对已识别边缘情况的修复。定制工具的参考实现以及一个补丁已在GitHub上公开提供,作为进一步调查和讨论的资源,而非直接提交补丁。

## Btrfs 数据恢复案例研究与讨论 最近的案例研究详细描述了在提交操作期间断电后,如何恢复一个损坏的 12TB Btrfs 多设备池。作者利用自定义 C 脚本,并借助 LLM (Claude) 的帮助,在原生 Btrfs 工具失效后恢复了 99.9% 的数据。 该事件引发了关于 Btrfs 可靠性的争论。人们对文件系统在意外关机期间数据丢失的脆弱性表示担忧,并质疑这种风险是否已得到充分记录。许多评论员指出,特定配置——例如在没有 RAID 的情况下使用元数据 DUP——尤其容易出现问题。其他人分享了他们 Btrfs 损坏的个人经历,并将其与 ZFS 的感知稳定性进行了对比。 虽然有些人为 Btrfs 辩护,承认可能存在用户错误或硬件问题,但普遍的看法是,它的恢复过程通常很脆弱,导致整个文件系统无法访问,而不是孤立的数据损坏。 建议使用 ZFS,甚至 LVM、dm-integrity 和 mdraid 的组合,尽管每种方案在性能和复杂性方面都有其自身的权衡。 这次讨论凸显了围绕 Btrfs 成熟度和是否适合生产环境的持续争论。

利用月球反射信号——被称为地月地(EME)通信——长期以来一直是无线电爱好者的终极挑战。它需要大型天线、昂贵设备以及精确的手动指向和跟踪。我们试图将这项技术带到地面,提供体验太空通信的乐趣所需的所有工具,通过开源软件定义的相控阵来实现。

## Bun vs. Node.js:Trigger.dev 的 5 倍性能提升 Trigger.dev 在其对延迟敏感的“Firestarter”服务(一个处理数千个长轮询 HTTP 连接的预热连接代理)中用 Bun 替换了 Node.js,从而实现了 **5 倍的吞吐量提升**。初步分析显示 Node.js 实现存在瓶颈:缓慢的 SQLite 查询、过多的 Zod 解析以及低效的头部转换。 第一阶段消除了 SQLite 数据库,用复合键 Map 替换它,实现 O(1) 查找,吞吐量翻倍,延迟减半。第二阶段切换到 Bun 的原生 `bun.serve()` API,进一步将性能翻倍。随后的分析(第三阶段)识别并修复了与 Zod 验证、头部处理和调试日志记录相关的热点,将 CPU 使用率提高了 40%。最后,编译成单个二进制文件(第四阶段)又将吞吐量提高了 14%,并将镜像大小从 180MB 减少到 68MB。 一个关键发现是 Bun 的 HTTP 模型中存在内存泄漏:来自断开连接的客户端的未解决的 Promise。修复此问题稳定了内存使用并进一步提高了性能。该团队强调分析的重要性,在每个步骤进行基准测试,并理解 Bun 独特的 HTTP 生命周期。他们还为常见的 Bun 问题创建了一个调试技能。

对不起。

最近的研究正在揭示阴蒂的奥秘,这个器官由于社会禁忌和解剖学挑战,历史上一直研究不足。研究人员利用同步加速器的先进X射线技术,首次在微米级别上创建了阴蒂神经的详细三维图像。 发表在bioRxiv上的研究表明,阴蒂背神经(DNC)有力地延伸到阴蒂龟头,广泛分支并连接到周围组织,如耻骨区域。这与先前的神经逐渐变细的假设相矛盾。 这种详细的解剖学图谱具有重要意义。它可以改善针对女性生殖器切割术后患者的重建手术,并帮助外科医生在其他盆腔手术中避免神经损伤。专家强调,随着性别肯定治疗的进步,人们对生殖神经重要性的认识日益增强,并强调需要进一步研究以开发针对相关疾病的更好疗法。该团队计划扩大研究范围,纳入更多样化的捐赠者。

这个黑客新闻的讨论围绕着LiveScience最近重新发布的一篇文章,该文章详细介绍了对阴蒂神经的首次完整绘制。用户最初将帖子标记为重复,并指出通过HN的搜索功能很难找到原始提交——这是最近几位评论者遇到的问题。 对话很快演变成一系列关于HTTP错误代码(404、403、502、411、420、402)的玩笑,利用了文章敏感的主题以及令人沮丧的搜索问题。几位用户指出,这些错误代码与主题相关的幽默之处,其中一人建议使用“420 Enhance your calm?”的回应。这个帖子既突出了科学发现,也突出了HN搜索功能的怪癖,以及社区略显尴尬但轻松的反应。

👍 1人点赞 👎 1人踩 😄 1人笑 🎉 1人欢呼 😕 1人困惑 ❤️ 1人爱心 🚀 1人火箭 👀 1人眼睛。 你现在无法执行该操作。

对不起。

``` /research "GraphQL性能特征" 收集证据,读取你的代码库,搜索网络,并记录发现的内容。每个发现都有一个类型(事实、风险、预估)和一个证据等级——从“声明”(有人说)到“测试”(原型验证)。 r001 [事实|文档] GraphQL消除了移动客户端的过度获取,减少了40-60%的负载大小。 r002 [事实|网络] GraphQL N+1查询问题需要DataLoader或等效的批量处理层。 r003 [风险|文档] 现有的REST缓存(CDN、HTTP)无法直接应用于GraphQL,需要自定义解决方案。 ```

一个黑客新闻的讨论围绕着人工智能生成工具和网站的激增,特别是名为“wheat”的一个工具,它迫使LLM通过CLI来解释它们的答案。 许多评论者表示怀疑,一些人认为这些工具是“无用的垃圾”,认为直接与LLM交互足以完成简单的任务。 还有人指出这些网站的重复性和糟糕的设计,并提到烦人的“淡入”效果是明显的标志。 然而,一些用户发现像“wheat”这样的工具很有价值,尤其是在与Claude等模型进行长时间会话时,并指出在代码合并方面提高了生产力。 讨论凸显了人们对不断涌现的人工智能工具的日益疲劳,以及关于它们是否真正解决了问题,还是仅仅增加了不必要的复杂性的争论。

更多

联系我们 contact @ memedata.com