每日HackerNews RSS

## React 的 `act()` 函数:总结 `act()` 函数对于编写可靠的 React 测试至关重要,但常常被误解。它确保组件内的所有状态更新和副作用在你的测试断言运行之前被完全处理,防止测试检查到“旧”状态。 **为什么使用 `act()`?** 如果没有它,测试可能会错误地通过,因为断言发生在 React 完成组件更新之前。 **何时使用 `act()`:** 包装直接更新 React 状态的代码——手动状态更改、事件触发(尤其是使用 `fireEvent`)、定时器 (`setTimeout`),以及使用 `renderHook()` 测试的钩子内部。 **不要包装:** React Testing Library 函数,如 `userEvent.click()`、`screen.findByText()` 和 `waitFor()` 已经内部处理了 `act()`。 **从 `@testing-library/react` 导入:** 始终使用 `import { act } from '@testing-library/react'` 以确保兼容性和正确的环境设置。 **调试“更新未被 act 包装”:** 此警告意味着你的测试可能断言的是过时的状态。将有问题代码包装在 `await act(async () => { ... })` 中,或者更好的是,使用 `waitFor()` 或 `findBy...` 等待预期的状态。优先避免不必要的 `act()` 调用,以加快测试速度。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 关于 React 测试中 act() 的所有信息 (howtotestfrontend.com) 15 分,by howToTestFE 2 天前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

去年11月,肯塔基州发生一起UPS MD-11F货机坠毁事故,造成15人死亡。调查人员认为,事故很可能源于一个已知的结构缺陷,该缺陷可追溯到15年前。国家运输安全委员会(NTSB)调查发现,发动机安装组件存在裂纹和疲劳断裂——波音公司此前已经在四架其他飞机上发现了同样的问题。 尽管有之前的发现,波音公司认为该缺陷不会危及飞行安全,并发布了一份非强制性的“服务通知”,建议进行目视检查。专家认为,鉴于该组件在将发动机连接到机翼上的关键作用,波音的这一结论“非常不同寻常”。 这起事故加剧了对波音公司安全实践的日益关注,此前该公司曾出现737 Max问题和最近的质量控制问题。波音公司表示,将继续支持NTSB的调查,并向受影响者表示慰问。调查仍在进行中,最终报告尚未发布。

该网站正在使用安全服务来保护自身免受在线攻击。您刚才的操作触发了安全解决方案。 提交特定词语或短语、SQL命令或格式错误的数据等行为可能会触发此阻止。

一个黑客新闻的讨论围绕着2000年的一篇文章“无知的五种类型”,以及它与现代人工智能开发的关联。核心思想,在菲利普·G·阿莫尔的《软件过程定律》中得到进一步阐述,是**软件的主要挑战不在于*编写*代码,而在于*获取*构建正确系统所需的知识。** 评论者将此与大型语言模型的上下文窗口相提并论——模型需要特定的领域知识才能有效运作。 几位评论者强调了彼得·瑙尔早期关于编程作为理论构建的工作,强调代码代表了共同的理解,而当原始开发者离开时,这种理解就会丧失。 一个关键的收获是原型设计和迭代开发作为知识收集过程的重要性。 一位用户分享了使用人工智能探索二维几何工具设计权衡的个人经验,最终在获得足够的理解后*从头开始*重写代码,从而获得了一个更简单、更强大的解决方案。 这强化了“构建一个然后丢弃”以获得关键洞察力的想法。 最终,讨论表明,成功的软件开发取决于优先获取知识,而不是立即生产代码。

研究人员正在系统地确定康威生命游戏中哪些静态图形可以通过滑翔者碰撞来创造。先前的研究确定了一些无法通过滑翔者碰撞从空旷空间生成的静态图形。当前项目成功地找到了——逐步滑翔者碰撞配方——用于所有1,646,147个种群为23的“严格”静态图形,将下限从22提高。 这项研究建立在先前在较小静态图形(种群最多18,于2019年)方面的成功之上。挑战随着尺寸呈指数级增长;23种群的项目需要分析的静态图形比上一项目多2.4倍。该团队使用计算机搜索来消除大多数可能性,使人类专家能够专注于最复杂的情况。 他们成功的关键是开发了改进的软件(“Stomp”),用于高效地寻找合成步骤,包括一种从已知静态图形“转移”解决方案的方法和一种树搜索算法。他们发现的最复杂的解决方案需要47步和178个滑翔者,展示了这些新技术的强大功能。该项目强调了自动化搜索和人类智慧的结合,以探索这种细胞自动机内的可能性。

## 黑客新闻讨论:23位稳定结构与生命游戏 最近在康威生命游戏(GoL)中的一项发现——所有23位稳定结构都可以通过滑翔器构造——引发了黑客新闻上的讨论。用户们惊讶于人类直觉能够解决这个问题,考虑到巨大的状态空间使得暴力搜索方法不可行。其复杂度可与宇宙中的原子数量相媲美。 对话扩展到相关话题,如“繁忙海狸”问题和滑翔器可构造性的可判定性。目前,只有包含特定“自强制”组件的稳定结构已知无法用滑翔器创建。 进一步的讨论探讨了拓展生命游戏构造的边界,图灵机构造冻结成稳定结构的可能性,以及生命游戏的图灵完备性是否与哥德尔不完备定理相关。一些用户还希望生命游戏能有允许“倒带”时间并交互式操作滑翔器的变体,从而可能创造出一个双人游戏。最后,一位用户提到了一个潜在的图灵完备的一维细胞自动机,规则54,并推测人工智能可能会破解其证明。

## SETI@home:21年的搜索与经验教训 在二十年间(1999-2020),SETI@home项目利用数百万志愿者电脑的计算能力,分析来自阿雷西博天文台的无线电数据,寻找外星智慧的迹象。该项目产生了120亿次探测,最终将其缩小到100个候选信号,目前正利用中国的FAST望远镜进行重新检查。 虽然尚未发现确凿的外星生命证据,但该项目并非失败。研究人员插入了虚假信号来测试他们的系统,揭示了当前SETI搜索方法的局限性——特别是将真实信号过滤在无线电干扰中的风险。他们发现最初的方法并不理想,并确定了未来天空巡查的改进方向。 SETI@home展示了分布式计算的力量,其搜索的灵敏度超出了预期。尽管寻找外星生命仍然难以捉摸,但该项目的遗产在于其科学贡献以及类似众包努力的潜力,利用当今更快的计算机和互联网速度来分析现代望远镜产生的大量数据。该团队相信,利用新的见解重新分析现有数据,仍然可能取得成果。

## SETI信号与地外生命探索 - 摘要 最近,SETI Home的分析在筛选了120亿个信号后,标记了100个潜在的有趣信号。然而,对于传统SETI的方法,即专注于探测强大的、有意的广播,仍然存在怀疑。许多人认为外星文明不一定使用这种方法,而且我们的望远镜可能缺乏探测更微妙通讯的灵敏度。探测到的信号通常缺乏重复性,导致它们被驳回。 讨论扩展到替代理论,包括恒星通过电磁场进行通讯的想法,以及主动向太空发送信号的潜在危险——呼应了“黑暗森林”理论,认为保持沉默是最安全的方法。 对话还强调了当前技术的局限性,指出我们甚至无法在距离一光年的地方探测到地球的无线电泄漏。虽然人工智能被提议作为分析庞大数据集的解决方案,但有人认为其模式识别能力尚未足够先进。 还有关于需要空间基无线电望远镜以摆脱地球日益增长的无线电噪声的讨论,并正在探索卫星星座的方案。最终,搜索仍在继续,既充满希望,又保持谨慎。

关于按住版权联系我们创作者广告开发者条款隐私政策和安全性YouTube的工作原理测试新功能© 2026 Google LLC

## 1 拍字节服务器构建总结 一位 Hacker News 用户分享了一个 YouTube 视频链接,详细介绍了从头开始构建一个 1 拍字节服务器的过程。该项目涉及大量的工程设计,包括设计和制造机箱、驱动加载机制以及用于电源分配的定制 PCB。 讨论的重点在于这种构建方式与预建存储解决方案(Backblaze、Dell MD3060、NetApp)的实用性对比,以及运行这种系统的相关成本(电力、冷却)。用户们提出了各种应用场景,从媒体存储和归档(Plex 库、保存旧内容)到托管大型数据集(Sentinel-2 图像、Linux ISO)以及提供本地知识库。 许多评论者强调了该项目的宏大范围,指出它远远超出了简单地组装预制组件。其他人则讨论了摆弄企业硬件的吸引力以及完成具有挑战性的 DIY 项目所带来的满足感,即使它在日常使用中不一定实用。

## Cloudflare 与意大利:一场数字权力斗争 美国科技巨头 Cloudflare 与意大利政府之间的版权纠纷已升级为一场重大的地缘政治冲突。意大利的“打击盗版盾牌”法案旨在迅速阻止非法体育直播,由于据称未能通过其 DNS 服务 1.1.1.1 遵守屏蔽请求,Cloudflare 遭到了 1400 万欧元的罚款。 Cloudflare 首席执行官 Matthew Prince 作出严厉通牒:从意大利撤回所有服务,可能危及 2026 年米兰-科尔蒂纳冬奥会的网络安全,并减慢数百万人的互联网接入速度。他认为罚款过高,法律缺乏正当程序,并且在他们的 DNS 系统上实施屏蔽在技术上不可行,并可能影响合法网站。 这场对峙凸显了欧洲在数字主权方面,对抗美国科技公司主导地位的斗争。虽然欧洲试图通过《数字服务法案》等立法获得更大的控制权,但 Cloudflare 的威胁表明了控制关键互联网基础设施的那些人所拥有的力量。这一事件强调了欧洲需要投资于自身强大的替代方案——例如 OVHcloud 和 Bunny.net——以避免依赖不可靠的外国供应商,并实现真正的数字自主。结果将为未来的互联网治理设定先例,并可能迫使欧洲优先建设自己的数字基础设施。

## Cloudflare 与意大利:摘要 Cloudflare 因未能遵守一项要求快速屏蔽被指控进行现场体育盗版的网站的法律,面临 1400 万欧元的罚款,并威胁退出意大利。意大利的“反盗版盾”要求在 30 分钟内屏蔽,这一体系因过度自动化、容易出错(例如屏蔽 Google Drive 等合法服务)以及缺乏正当程序而受到批评。 这场争端凸显了一个更大的问题:像 Cloudflare 这样的基础设施提供商的权力,以及是否应该强制它们执行可能与言论自由和网络中立原则相冲突的国家法律。许多评论员认为意大利的法律有问题,Cloudflare 反抗是合理的,而另一些人则质疑 Cloudflare 的动机,指出其过去的行为,例如继续在俄罗斯提供服务。 这种情况引发了关于基础设施提供商何时应该遵守或抵制政府要求,以及这些公司可能 wield 巨大政治影响力的可能性。一些人认为 Cloudflare 在越权,而另一些人则认为这是对国家政府过度干预的必要抵抗。

OpenBSD/arm64 现在可以在苹果的 Hypervisor 框架下作为客户操作系统运行,这得益于 Helg Bredow 和 Stefan Fritsch 的贡献。这些更新于 2026 年 1 月 12 日和 15 日提交,解决了关键的兼容性问题。 Bredow 的提交修复了一个虚拟 I/O GPU (viogpu) 映射错误,解决了在使用 X11 运行时出现的黑屏和内核崩溃问题。它还确保帧缓冲更新对主机系统可见。Fritsch 的工作为虚拟网络接口添加了最大传输单元 (MTU) 协商的支持,使 OpenBSD 的行为与 Linux 对齐,并提高了网络性能。 这些变化标志着 OpenBSD 在苹果 Silicon Mac 上的一个重要进步,鼓励拥有兼容硬件的用户测试该功能并提供反馈。预计这项开发将特别有利于使用较新的苹果 Silicon 型号的用户。

## OpenBSD 在 Apple Silicon 上的进展 最近的进展使得 OpenBSD-current 可以在 Apple 的 Hypervisor.framework 下作为客户操作系统运行,解决了关键的障碍:VIRTIO_NET_F_MTU 协商。 这对于本地开发来说是一项重大改进,由于 M4/M5 芯片强大的单线程性能,OpenBSD 可能会成为测试配置(如 `pf` 防火墙)或运行隔离服务的理想环境。 重要的是,此更新还修复了一个 QEMU 兼容性错误,该错误之前阻止 OpenBSD 在 arm64 上启动 X,从而提供了更简单的安装选项,而不仅仅是串行控制台。 用户对在 Apple 硬件上获得更易于访问的 OpenBSD 体验的前景感到兴奋。 讨论还涉及 Apple 虚拟化框架(Hypervisor.framework、Virtualization.framework 和 Containerization.framework)的复杂性以及资源管理(特别是虚拟机内的 RAM 分配)的进一步改进潜力。 此外还提出了有关客户操作系统隔离的安全考虑,并提到了 OpenBSD 中对 AMD SEV 的支持。

## 松散的线索:解构YouTube的“最常重播”图表 一个有趣的观察——YouTube“最常重播”图表峰值两侧对称的下降——引发了对该功能实际运作方式的深入研究。作者出于理解底层系统的愿望,开始了一个个人项目来复制它。 从布尔数组和频率数组等基本方法入手,调查很快揭示了处理不同观看次数需要归一化,以及新视频的“冷启动”阶段。优化至关重要,促使实施了差分数组技术以减少写入负载。 核心发现来自于检查YouTube的SVG代码,确认数据被发送为归一化的强度分数,而不是预渲染的图像。解码混淆的JavaScript揭示了使用Cardinal Splines——特别是三次贝塞尔曲线——来创建平滑的视觉表示。下降并非故障,而是样条算法在遇到重播数据中的显著峰值时维持连续性的自然结果。 这段旅程凸显了大规模系统中性能、准确性和用户体验之间的复杂平衡,并触及了数据集中化和不断演变的计算格局等更广泛的主题。最终,作者展示了如何通过一个简单的问题,解开一段令人惊讶的复杂而优雅的工程设计。

## YouTube“最重播”图表的逆向工程 一位Hacker News用户“prvt”最近发表了一项关于YouTube“最重播”热图中的视觉异常的详细调查——围绕峰值重播点两侧出现的下降趋势。出于好奇,prvt逆向工程了这个功能,并在互动文章中记录了整个过程,涵盖系统设计、渲染代码和底层数学。 调查显示,该图表本质上是100个柱状图平滑成样条曲线的直方图,从而创造了*更大细节*的错觉。尽管解决方案出乎意料地直观,但评论员们赞扬了文章的深度和教学价值,并将其与Josh Comeau的作品相提并论。 作者欢迎批评,承认在某些领域可能过度解释,特别是关于选择100个分段的问题。讨论还涉及客户端渲染的性能考虑以及YouTube历史上关于“江南Style”的一个轶事。这篇文章引发了对修复YouTube长期存在的与文本字段事件相关的bug的兴趣。总而言之,这篇文章因其详尽性和对技术深度剖析的有趣方法而受到好评。

## 深入街机麻将:硬件、历史与《幻影妖术麻将传》 本文探讨了令人惊讶的街机麻将游戏世界,这是一个通常只在日本流行的类型,并且因其与成人内容的关联而臭名昭著。早期的街机麻将游戏,如《Janputer》,专注于游戏玩法,而后来的游戏,尤其是在 1980 年代,则融入了低俗元素。 作者详细介绍了麻将板的独特硬件需求——与标准 JAMMA 连接器不同,具有自定义引脚和专用的按键矩阵,用于游戏的大量动作(摸牌、打牌、吃碰杠、和牌)。将这些板适配到超级枪需要专门的适配器。 重点随后转移到《幻影妖术麻将传》(1994),这款游戏代表了由于行业准则而*远离*露骨内容的一次转变。尽管它具有动漫艺术风格和恶魔主题的情节,但该游戏被认为是一款“愚蠢的游戏”并且在商业上失败了。游戏玩法涉及简化的两人麻将体验,以其难度和倾向于偏袒人工智能对手而臭名昭著。 最终,作者质疑为这些游戏构建专用设置的努力,并指出存在出色的 MAME 模拟。尽管板上的声音芯片出现故障,但这篇文章深入研究了街机麻将的利基硬件和文化背景。

一个黑客新闻的讨论围绕着玩日式麻将的吸引力,这是一种复杂的牌类游戏。原发帖者质疑这种乐趣是来自游戏本身,还是对街机体验的怀旧“海市蜃楼”。 几位评论者热情地推荐学习这门游戏,理由是它结合了运气和策略,以及玩实体牌的乐趣。线下游戏的一个常见障碍是复杂的计分系统(“符计算”),但一位用户建议专注于高价值的牌型来简化它。另一个挑战是仅仅找到足够多的会玩的人。 对话还涉及在家重现街机体验的技术方面,解释了“超级枪”的功能——一种适配器,允许街机游戏板连接到标准的家庭电视。最后,一位评论者表达了对简化配对游戏被错误地标记为麻将的沮丧,渴望玩到具有战略性的正宗麻将游戏。

更多

联系我们 contact @ memedata.com