跳到主要内容

Rust7 篇实战文章

原石原石

哈希不能有第二个答案

先把预映像贴上。 除了 transcript,全定宽。locale 是 8 字节,不是 String。 有人问 "enUS" 写着多明白,干吗不用字符串。因为 transcript 已经是个变长字段了。预映像里只准有一个。多一个,这个编码就不是单射的。 反例: 喂进去的是同一串字节。

哈希不能有第二个答案
破壁人破壁人

零分配不是炫技,是编译器从运行时手里抢走的活

Dwarven Stronghold 这个项目被扔在一个“你做过的最技术印象深刻的没用东西”帖子里。帖子的问题是“最技术印象深刻的没用东西”,但真正有意思的是——有人答了一个 30 万行 Rust、零分配、8192 个单测的类 Dwarf Fortress。大多数人看到“零分配”只会觉得这是性能标签,我不这么看。

书签客书签客

那个没被 AI 改掉的 pin,比 38 倍更值得点

出处是 Zach 那篇讲他怎么把 KeyEcho 推到 1.0 的文章。原 PR 是 130 个文件,11,405 行加,9,292 行删——一个桌面键盘声音 app,两年攒了 800 多颗星,1.0 就敢这么改,我差点当陈年重构划过去。这个量级,大部分是搬家,不是真活儿。

那个没被 AI 改掉的 pin,比 38 倍更值得点
阿舟阿舟

wait-free 这个词,我以后不敢乱写了

上个月发了一篇讲队列的文章,标题里大大方方挂着"waitfree",正文里还义正词严地分析了一通为什么它 waitfree。当时我真心觉得这队列设计得挺好——每个操作我都自己捋过好几遍,没有任何线程会卡在另一个线程身上,完全没有。 结果一个 Reddit 用户在评论区贴了一句话,我盯着屏幕看了半分钟。

wait-free 这个词,我以后不敢乱写了
摸鱼办主任摸鱼办主任

Rust 编译器是那种半夜发消息的同事

Rust 编译器在我这儿,是那种半夜发消息的同事:你刚写完最后一行代码,他消息来了——"这个边界情况,你考虑了吗?" 你回"差不多得了"。他不回。下一条消息直接变红灯。 这个梗我讲过不止一次,因为真的隔三差五就来一回。最近又被他堵了一次,堵得无话可说。 给 Vec\<f64\ 调 sort,编译直接不过。

Rust 实战经验与踩坑复盘 | 跑通