This Week in Rust #610
阅读:https://this-week-in-rust.org/blog/2025/07/30/this-week-in-rust-610/
文章《构建一个简单的哈希图》
这篇文章介绍了如何用 Rust 语言从头构建一个简单的哈希表。哈希表是一种高效的数据结构,能够在平均 O(1) 的时间复杂度内完成插入和查询操作。
文章首先解释了哈希函数的作用,即通过将键映射为一个数字(哈希值)来快速定位键值对在内部存储中的位置。
接着,文章探讨了如何通过“桶”(buckets)来解决哈希冲突问题,即当不同键产生相同哈希值时的情况。
作者还介绍了如何通过动态调整桶的数量来保持哈希表的性能。文章最后提供了实现哈希表的 Rust 代码,包括插入、查询和扩容等关键功能,并通过测试验证了其正确性。
尽管这个哈希表实现相对简单,但它为理解哈希表的工作原理提供了一个很好的起点。
Reddit | 阅读:https://viniciusx.com/blog/building-a-hash-map/
Eon:简单且友好的配置格式
Eon 是一种简单易用的配置文件格式,旨在替代 Toml 和 YAML。
它使用 .eon
文件扩展名,语法类似于 JSON,但更简洁,支持任意类型的键值对和注释。
Eon 提供了强大的功能,如支持特殊浮点数(+inf
、-inf
、+nan
)和命名的枚举变体。它还包含一个 Rust crate,支持与 Serde 集成,以及一个 eonfmt
工具,用于格式化 Eon 文件。Eon 的设计目标是简洁、易读、易写,适合人类手动编辑配置文件。示例:
// Comment
string: "Hello Eon!"
list: [1, 2, 3]
map: {
boolean: true
literal_string: 'Can contain \ and "quotes"'
}
any_map: {
42: "This key is an integer"
[]: "This key is an empty list"
}
hex: 0xdead_beef
special_numbers: [+inf, -inf, +nan]
Reddit | 仓库:https://github.com/emilk/eon
Grabapl: 基于图的编程语言框架和可视化平台
具有以下特点:
- 图状程序状态:程序的全部数据状态是一个有向图,包含节点和边的权重。
- 静态类型保证:支持用户定义静态类型的操作,确保运行时节点和边的存在及其类型正确性。
- 可插拔语义:允许客户端定义节点和边权重的类型系统、内置操作和查询。
- 增量式可视化操作定义:提供构建器以增量方式创建类型安全的用户定义操作,并支持任意前端。
- 可视化运行时执行追踪:支持通过快照追踪程序运行时执行,快照可可视化为图。
- WebAssembly 支持:可编译为 WebAssembly。
- 在线 IDE:包含完整的在线 IDE,支持交互式图编辑器、操作状态可视化、运行时执行追踪可视化等。Playground
Grabapl 旨在通过图结构和静态类型系统提供直观的编程体验,同时支持高度可定制的语义和可视化工具,便于开发和调试。
仓库:https://github.com/skius/grabapl
cargo-license:查看依赖的 license
仓库:https://github.com/onur/cargo-license
讨论:serde_yaml 的替代
serde_yaml
被弃用,有没有其他库推荐使用?
“我用 serde_yaml 没问题。不更新又不是坏事。”
“别用 serde_yml,那是低质量 AI 生成的库。”
Reddit:
- https://www.reddit.com/r/rust/comments/1mbo9dl/alternative_for_serde_yaml/
- https://www.reddit.com/r/rust/comments/1mbo9dl/comment/n5o1rqy/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论