infinitree - 嵌入式加密数据库
Infinitree 是一个嵌入式加密数据库。
- 默认线程安全
- 透明地处理热/温/冷存储层;目前支持 S3 兼容的后端
- 可以使用Iterator trait查询,无需完全加载的版本化数据结构
- 加密所有磁盘数据,仅在使用时解密
- 专注于性能和灵活
- 可扩展的自定义数据类型和存储策略
ReadMore:https://github.com/symmetree-labs/infinitree
嵌入式 Rust 的 2021
随着 2021 年接近尾声,我们认为我们会回顾过去一年在 Embedded Rust 中发生的事情,无论是在工作组内还是在更大的社区中。
- 会议
- 通讯
- 平台支持
- 其他嵌入式项目
- 资料库
ReadMore:https://blog.rust-embedded.org/this-year-in-embedded-rust-2021/
for vs into_iter - 新手对 map 的误解
我尝试从结构向量填充 HashMap 的下两个场景之间的区别。
第一个使用for
工作正常,并且resolvers
填充了 HashMap
let mut resolvers = HashMap::new();
for a in accounts {
resolvers
.entry(a.id)
.or_insert(Vec::new())
.push(a);
}
Ok(resolvers)
第二个我试图into_iter
代替for
,但resolvers
总是空的。
let mut resolvers = HashMap::new();
accounts.into_iter().map(|a| {
resolvers
.entry(a.id)
.or_insert(Vec::new())
.push(a);
});
Ok(resolvers)
后一段代码 map 是惰性的,需要触发才能运行,比如用collect。或者直接用 for_each来代替 map
ReadMore:https://www.reddit.com/r/rust/comments/rqln6n/for_vs_into_iter/