12 2024 档案
摘要:微软官方博客公布了 MS Edge 浏览器过去一年的一系列统计数字:用户完成了逾百亿次 AI 聊天;自动翻译了 38 万亿个字;休眠标签节省了 7 万亿 MB 内存;在 MSN 上每天浏览了逾 8 亿篇文章;使用 Drop 跨设备共享了 4600 万条消息和文件;Bing 日活用户逾 1.4 亿;移
阅读全文
摘要:12 月 27 日,OpenAI 确认,美东时间 12 月 26 日周四上午 11 点整,旗下服务开始发生大规模宕机。其公布的状态页面显示,OpenAI 在 11 点整公布启动调查,称 ChatGPT、Sora 和 API 都出现高错误率,11 点 18 分确认,问题出自“上游供应商”,在监控情况。
阅读全文
摘要:在 2024 理想 AI Talk 对话节目中,理想 CEO 李想表示,“汽车将从工业时代的交通工具,进化为 AI 时代的空间机器人。电动化是过渡阶段,而 AI 才是未来竞争的核心。”李想透露,2022 年 9 月,理想汽车就确定要把 AI 作为战略核心方向,认为这是未来竞争的关键,并在 2023
阅读全文
摘要:虽然 Rust 最近引入了 for<'a>(早期称为 use<'a>)语法,并且更早之前还加入了泛型关联类型(Generic Associated Types, GAT),但即便如此,这些工具也无法解决问题。 问题的关键在于,函数返回的 Future 类型需要依赖于参数的生命周期,而 Rust 不允
阅读全文
摘要:第一次调用 get_mut 时,map 被借用并返回一个可能包含引用的 Option。如果返回了值,借用会立即结束;而在不返回的分支中,实际上并没有再使用借用。然而,借用检查器的流分析能力有限,无法判断这种情况。 因此,在借用检查器看来,第一次调用 get_mut 会导致 map 在整个函数的剩余部
阅读全文
摘要:通常情况下,你可能更倾向于返回 &str 而不是 &String,不过这里为了简单清晰,使用了 String。 Rust 一贯建议避免不必要的操作,比如在 HashMap 中重复查找键值。与其先检查值是否存在再查找(这样会多一次无意义的查询),更好的方法是直接调用 get(),它会返回一个 Opti
阅读全文
摘要:借用检查器无法结合 match 和返回值进行判断 这个问题非常常见,我甚至先是帮别人解决了类似的问题,后来自己也在工作中也遇到了。这说明这种问题尤其普遍。 这种问题通常出现的场景是——你想要在 HashMap 中查找一个值,并在找不到时执行其他操作的场景中。为了举例说明,假设你需要先查找一个键,如果
阅读全文
摘要:需要说明的是,当我说“某事无法实现”时,我指的是无法通过 Rust 的类型系统来实现,也就是无法通过静态类型检查实现。或许你可以使用不安全代码(unsafe)或者运行时检查(比如“直接给所有东西加上 Arc<Mutex<_>>”)来绕过这些问题。然而,如果不得不采用这些方法,依然反映出类型系统的局限
阅读全文
摘要:Rust 以其严格的类型系统和内存安全著称,为开发者提供了强大的工具来避免运行时错误。然而,即便是经验丰富的 Rust 开发者,也难免在面对复杂场景时遇到一些棘手的类型系统限制。本文作者结合多年的实际开发经验,深入探讨 Rust 安全性保证的核心工具 Rust 借用检查器的局限性,并结合实例,分析这
阅读全文