每日HackerNews RSS

该开发者为Jelly的帮助中心构建了一个自动化截图系统,以消除UI变更时手动更新图片的繁琐任务。该系统通过在Markdown帮助文章中嵌入特殊注释来工作,指示Rake任务使用无头Chrome(Capybara & Cuprite)直接从运行的应用程序中捕获截图。 这些注释指定页面、要捕获的元素(通过CSS选择器)以及可选的操作,例如点击按钮或等待动画。截图可以是特定元素、完整页面或可见视口,并提供裁剪和视觉效果选项。 该流程会在每次重建时自动更新截图,确保文档始终反映当前的UI。这使得帮助中心能够以最小的努力保持最新,鼓励更频繁的更新,并维护一个完善且值得信赖的资源。该开发者承认之前因为 perceived complexity 而推迟了这项工作,但现在发现它非常有价值,简化了文档流程并保持了代码和文档的同步。

对不起。

新的伊丽莎白二世花园位于摄政公园,将一个原先的工业苗圃场地——此前被混凝土覆盖——改造成一个对野生动物友好的空间,通过创新性的再利用实现。与其移除1000立方米的现有混凝土,不如将其粉碎并重新用于景观美化,从而影响以适应由此产生的高pH土壤的、具有韧性且深根的植物品种。 花园的设计旨在随着时间推移而成熟,拥有不同的区域——开花草地、林地和干旱风格景观——反映了已故女王的植物偏好。花园还融入了英联邦元素,凉棚上有56根立柱代表其成员国。 可持续特性包括雨水收集、野生动物栖息地(包括刺猬群!),以及翻新后的1960年代观景塔,配备蝙蝠和鸟类巢箱。无障碍通行被优先考虑,设有道路和坡道。伊丽莎白二世花园将于2026年4月开放,展示了一种对棕地进行再生、具有气候意识的方法,提供可持续园艺的遗产以及一个“行动和反思”的空间。

对不起。

金融时报 安全验证 如需帮助,请访问help.ft.com。 我们对由此造成的不便表示歉意。 启用JavaScript和Cookie以继续。 以下信息可以帮助我们的支持团队解决此问题。 原因:挑战 请求ID:9f29e611edd16d97 状态码:403 条款与条件 隐私政策 Cookie政策 管理Cookie 版权声明与政策 © THE FINANCIAL TIMES LTD 2026. FT和‘Financial Times’是金融时报有限公司的商标。 金融时报及其新闻业受《金融时报编辑规范》下的自我监管制度约束。

如果您是网站访问者:请稍后几分钟重试。如果您是网站所有者:Cloudflare的缓存与您的源服务器之间存在问题。Cloudflare会监控这些错误并自动调查原因。为了支持调查,您可以从您的网络服务器中提取相应的错误日志并提交给我们的支持团队。请包含Ray ID(位于此错误页面的底部)。其他故障排除资源。

对不起。

一个 Rust 程序在将 AWS SDK 模型从 JSON 反序列化为 “Smithy Shape” 结构体时,最初消耗了 895MB 的内存。通过战略性地重构这些结构体并定制反序列化过程,内存使用量减少到 420MB,节省了 475MB。 关键优化在于认识到结构体内的许多可选字符串字段经常为空。Rust 的内存布局,特别是使用 `Option<String>` 时,在处理大量可选字段时效率低下。解决方案是将这些可选结构体移动到堆上,使用 `Option<Box<Struct>>`。这样,当嵌套结构体为空时,父结构体可以占用最小的空间(一个字),类似于 Java 或 Python 等语言的内存管理。 实现了自定义的反序列化器,以避免存储空结构体。虽然这会增加 CPU 开销,但由于减少了内存分配和垃圾回收压力,整体性能得到了改善。作者利用经过配置的 jemalloc 分配器来准确测量更改前后的内存使用量,证明了优化的有效性。这强调了理解 Rust 的内存模型以及利用分析工具进行性能调优的重要性。

## Rust 内存优化技巧:总结 这次Hacker News讨论探讨了各种减少Rust中内存使用的方法,尤其是在处理字符串和数据结构时。虽然Rust的`String`是一个简单的可增长缓冲区,但像`Box<str>`、`CompactString`和`ColdString`这样的替代方案可以通过最小化存储容量等开销,为文本数据提供显著的节省。 除了字符串之外,对话还强调了更广泛的优化策略:使用原子(内部字符串)进行去重,使用bump分配器进行快速分配,以及使用单指针字符串将长度存储在分配本身中。然而,这些优化通常涉及权衡——可能需要复制或影响缓存性能。 一个关键的收获是,看似微小的改变,例如仔细选择数据结构表示(例如,在嵌套结构中使用可空指针代替字段),可以显著减少内存占用。像`heaptrack`和`clippy`这样的工具可以帮助识别内存使用模式,但理解潜在的权衡至关重要。讨论还涉及未来Rust特性(如模式类型)进一步简化这些优化的可能性。最终,有效的Rust内存管理需要对它的特性有细致的理解,并仔细考虑特定于应用程序的需求。

本地 棋盘对战与朋友分享屏幕或与人工智能磨练技巧。 与朋友对战或与机器人对战 在线 与特定玩家对战创建私有游戏并分享代码,或使用朋友的代码加入他们的游戏。 创建游戏或加入游戏 登录 登录或创建账户以创建和加入自定义游戏。 登录注册 在线匹配 与随机对手进行对战。选择时间控制或无时间限制。 无限时游戏 格式:分钟 + 每步棋秒数增量 1+0子弹 2+1子弹 3+0闪电 3+2闪电 5+0闪电 5+3闪电 10+0快棋 15+10快棋 30+0古典 观战 观看比赛粘贴游戏ID以观战正在进行的比赛。 观看 Tiao是由Andreas Edmeier创作的游戏。这个数字版本由Rico Trebeljahr构建。

对不起。

对不起。

## SAFEs:早期创业公司融资详解 SAFEs(简单协议未来股权)是初创公司筹集初始资金的常见方式。与传统投资不同,SAFEs 不会立即发行股份;而是投资在首次定价融资轮次中转换为股权。YC SAFE 是一种标准且对创始人友好的模板。 大多数现代 SAFEs 都是“融资后”的,这意味着投资金额包含在估值上限的计算中——100万美元的投资,在1000万美元的估值上限下,将导致10%的股权。关键条款是估值上限和折扣率(尽管现在通常使用估值上限*不带*折扣)。 然而,*过高*的估值上限可能有害。如果 A 轮估值较低,它会造成“下轮融资”风险,导致每次新的 SAFE 对创始人的稀释不成比例,并可能导致过早的融资压力。一个好的经验法则是将上限设置为在 18 个月内可以实现的估值,以避免这些陷阱。SAFEs 通常涉及多位投资者,如天使投资人和小型基金。

切尔诺贝利灾难四十年后,废弃核电站周围的区域正在揭示一个关于野生动物适应的令人惊讶的故事。1986年的爆炸导致人类撤离,形成了一个基本上无人居住的区域,动物们搬了进来——并且正在表现出变化的迹象。 科学家巴勃罗·布拉科于2016年开展的研究始于一个简单的观察:生活在反应堆附近的青蛙比远离反应堆的青蛙颜色更深。这引发了更深入的调查,以确定切尔诺贝利辐射是否正在推动当地动物群的进化变化。 人类干扰的缺失,加上辐射的存在,创造了一个独特的环境,野生动物不仅能够生存,而且可能正在*适应*受污染的景观。布拉科的工作旨在了解这些变化的程度和性质,为生命在灾难面前的韧性提供了一个引人入胜的视角。

## 双核 ESP32-S3:Rust 与 ESP-IDF 的结合 该项目旨在解决在 ESP32-S3 上使用 Rust 进行性能关键任务的挑战,同时利用 Espressif ESP-IDF 框架成熟的 Wi-Fi 和 BLE 协议栈。该方案利用 ESP32-S3 的双核架构,将一个核心分配给 ESP-IDF(运行 FreeRTOS),另一个核心分配给裸机 Rust。 通过在 Core 1 上禁用 FreeRTOS,开发者可以获得一个专用的、不间断的环境,用于对时间敏感的代码,例如音频处理。一个保留的内存区域确保 Core 1 拥有自己的堆栈。Rust 代码被构建为独立二进制文件并加载到闪存中,允许在不重新刷新整个固件的情况下进行运行时更新。 该过程涉及通过 MMU 将 Rust 二进制文件映射到内存中,读取入口点,然后直接将 Core 1 启动到 Rust 代码中。核心之间的数据共享通过原子变量实现。这种方法提供了 Rust 的安全性和特性,以及 ESP-IDF 的强大连接性,提供了一个强大而灵活的嵌入式开发环境。

对不起。

更多

联系我们 contact @ memedata.com