12个Rust的Tips
- 使用
Crossbeam channels 取代标准库
- 使用
Scopeguard 实现类似 Golang 的延迟运算
- 在 VSCode 中使用 Rust Analyzer
- 使用
thiserror 和 anyhow 处理惯用错误
- 使用
include_str!() 和 include_bytes!() 宏在编译时读取文件
链接:https://federicoterzi.com/blog/12-rust-tips-and-tricks-you-might-not-know-yet/Rust语言圣经
又又又一个 Rust 教程:对 Rust 语言进行全面且深入的讲解,辅以生动的示例和习题。GitHub:https://github.com/sunface/rust-coursescapegoat
通过基于 arena 的 scapegoat tree(内存高效、自平衡二叉搜索树)实现的有序集合和映射数据结构。
- 安全:
#![forbid(unsafe_code)],包含所有依赖
- 针对标准库的 BTreeSet 和 BTreeMap,通过差分模糊验证
- 有序 Set
SgSet,BTreeSet 的子集
- 有序 Map
SgMap,BTreeMap 的子集
分享 Slide:https://tiemoko.com/slides/SafeAndPortableDataStructureDesign_CodeAndSupply_Dec2021.pdfGitHub:https://github.com/tnballo/scapegoatRedisJSON
RedisJSON 是一个 Redis 模块,实现了 ECMA-404 JSON 数据交换标准作为原生数据类型。它允许从 Redis 键(文档)存储、更新和获取 JSON 值。主要特点:
- 在文档中选择元素使用类似 JSONPath 的语法
- 文档存储为树结构中的二进制数据,允许快速访问子元素
文档:https://oss.redis.com/redisjson/GitHub:https://github.com/RedisJSON/RedisJSONdpc_pariter
又一个并行处理库,适用于在一个已有的 iterator 中加入多线程处理;如果有许多已经存储在 collection 的值,想要执行大量计算,最好使用 rayon。博客:https://dpc.pw/adding-parallelism-to-your-rust-iteratorsGitHub:https://github.com/dpc/pariter
From 日报小组 长琴
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。