【Rust日报】2021-12-29 infinitree - 嵌入式加密数据库

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/


From 日报小组 冰山上的 mook && Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值