当前位置 : 主页 > 编程语言 > java >

【Rust 日报】2022-01-09 又一个Rust中文教程《Rust语言圣经》

来源:互联网 收集:自由互联 发布时间:2022-07-04
12个Rust的Tips 使用​​Cowstr​​作为返回类型 使用​​Crossbeam channels​​取代标准库 使用​​Scopeguard​​实现类似 Golang 的延迟运算 使用​​Cargo-make​​打包 自定义和链接 Panic 处理

12个Rust的Tips

  • 使用​​Cow<str>​​ 作为返回类型
  • 使用​​Crossbeam channels​​ 取代标准库
  • 使用​​Scopeguard​​ 实现类似 Golang 的延迟运算
  • 使用​​Cargo-make​​ 打包
  • 自定义和链接 Panic 处理程序
  • 在 VSCode 中使用 Rust Analyzer
  • 用到闭包时使用​​impl Trait​​
  • 在保存时为 VSCode 启用​​Clippy​​
  • 使用​​thiserror​​ 和 ​​anyhow​​ 处理惯用错误
  • 使用​​dbg!()​​ 替换 ​​println!()​​
  • 使用​​include_str!()​​ 和 ​​include_bytes!()​​ 宏在编译时读取文件
  • 使用​​cc​​ crate 与 C/C++ 代码交互

链接:https://federicoterzi.com/blog/12-rust-tips-and-tricks-you-might-not-know-yet/

Rust语言圣经

又又又一个 Rust 教程:对 Rust 语言进行全面且深入的讲解,辅以生动的示例和习题。

教程地址:https://course.rs/

GitHub:https://github.com/sunface/rust-course

scapegoat

通过基于 arena 的 scapegoat tree(内存高效、自平衡二叉搜索树)实现的有序集合和映射数据结构。

  • 嵌入式友好:默认​​#![no_std]​​
  • 安全:​​#![forbid(unsafe_code)]​​,包含所有依赖
  • 针对标准库的 BTreeSet 和 BTreeMap,通过差分模糊验证

两个 API:

  • 有序 Set​​SgSet​​,BTreeSet 的子集
  • 有序 Map​​SgMap​​,BTreeMap 的子集

分享 Slide:https://tiemoko.com/slides/SafeAndPortableDataStructureDesign_CodeAndSupply_Dec2021.pdf

GitHub:https://github.com/tnballo/scapegoat

RedisJSON

RedisJSON 是一个 Redis 模块,实现了 ECMA-404 JSON 数据交换标准作为原生数据类型。它允许从 Redis 键(文档)存储、更新和获取 JSON 值。主要特点:

  • 完全支持 JSON 标准
  • 在文档中选择元素使用类似 JSONPath 的语法
  • 文档存储为树结构中的二进制数据,允许快速访问子元素
  • 所有 JSON 值类型支持类型化原子操作
  • 基于 RediSearch 的二级索引支持

文档:https://oss.redis.com/redisjson/

GitHub:https://github.com/RedisJSON/RedisJSON

dpc_pariter

又一个并行处理库,适用于在一个已有的 iterator 中加入多线程处理;如果有许多已经存储在 collection 的值,想要执行大量计算,最好使用 ​​rayon​​。

博客:https://dpc.pw/adding-parallelism-to-your-rust-iterators

GitHub:https://github.com/dpc/pariter



社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss
  • 微信公众号:Rust 语言中文社区


上一篇:【Rust日报】2022-01-08 Rust OSDev本月进展
下一篇:没有了
网友评论