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


From 日报小组 长琴

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

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

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

  1. 1.5 编程基础之循环控制 11 整数的个数(2022.01.09)--python

    http://noi.openjudge.cn/ch0105/11/ """ 1.5 编程基础之循环控制 11 整数的个数(2022.01.09) http://noi. ...

  2. 【Rust 日报】2022-10-23 tachyonix:一个高性能异步计算框架

    tachyonix:异步多生产单消费有界通道 这个库是 Asynchronix 的一个分支,它持续努力地构建用于系统仿真的高性能异步计算框架. 这是一个简洁的异步通道,以快速著称,但也不会在正确性和质 ...

  3. 【Rust日报】2021-10-19 rs-merkle:一个用Rust编写的高级散列树库

    rs-merkle:一个用Rust编写的高级散列树库 rs_merkle: an advanced hash tree library for Rust rs-merkle是一个高级的Rust mer ...

  4. 【Rust日报】2022-03-22 fluent-uri:一个快速、简单和严格的URI解析器

    fluent-uri:一个快速.简单和严格的URI解析器 Announcing fluent-uri: a fast, easy and strict URI parser 简介 一个严格遵守IETF ...

  5. 人工智能 | ShowMeAI资讯日报 #2022.06.09

    ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...

  6. 2022/01/10 老男孩带你21周Go语言 (十四)

    P202 raft选主实现 候选人遇到 3种情况会结束: 1.当选leadr 2.其他服务器成为leader 3.卡死 go实现raft选举,raft可以定义一个结构体,根据结构体写代码 1.使用代码 ...

  7. 使用C#编写一个计时器-.NET教程,C#语言

    大家好!好久没有上来了!小生在此向各方豪杰问好! 今天温习了一下c#,解决了老大一个难题,以前总是搞不懂重载运算符,也不知道它有什么用处, 今天总算把它给用上了,真有种在深山老林里用上电得感觉,呵呵! ...

  8. 【Rust日报】 2019-04-05

    「系列文章」审阅Sled源码 Part I #CodeReview #sled Sled项目是一个用Rust编写的嵌入式数据库.该文作者在日程工作中用到了它,为了掌握它的工作原理,准备开始写这个系列的 ...

  9. 【Rust日报】 2019-08-01:brpc-rs - X-lab 实验室新推出的一个rpc库

    paperclip - OpenAPI 规范的 Rust 实现 在完成后,它会实现: Rust 中的服务器端.客户端和命令行端的高效的.编译时检查的.类型安全的 HTTP API 的生成: 支持处理. ...

  10. 【Rust 日报】2022-10-13 一个小公司的CTO在reddit上发帖询问是否应该在公司内推广Rust...

    Async UI:一个Rust UI库,一切皆有可能 这篇博文是为在async Rust方面有一些经验的读者准备的.它假定你知道什么是Future! 什么是Async UI? Async UI是一个概 ...

最新文章

  1. java foreach order_Java 8流中的forEach vs forEachOrdered
  2. 笔试题——max pooling滑动窗口实现(python 代码)
  3. 【错误记录】Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )
  4. CAS SSO 单点登录 实例
  5. Ansible自动化运维基础-------ad-hoc
  6. 动态链接库、静态库区别与VS2005项目相关设置
  7. 遍历一个数据去掉最后一个元素的样式
  8. [REGEX] 匹配任意字符(包括换行符)
  9. 零的突破!炸出圈的“女娲补天”教授获国家杰青!
  10. Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
  11. 微软正式发布 Azure IoT Central
  12. DB9 公头母头引脚定义及连接、封装
  13. 系统签名文件pk8x509.pem 转成jks或者keystore签名文件
  14. 燕姿几首歌的歌词-偶得
  15. 窗体泄漏错误has leaked window android.widget
  16. Disentangling and Unifying Graph Convolutions for Skeleton-Based Action Recognition
  17. 机器学习--使用朴素贝叶斯进行垃圾邮件分类
  18. 【Java程序设计】GUI程序设计(设计封装矩形类、利用监听事件对textField进行读取和输入)
  19. python数据类型的性能
  20. css名词解析,小说CSS样式详解

热门文章

  1. 分支限界法 图文+01背包举例
  2. Caeser_Rummikub(一)棋牌的创建
  3. Windows 10 - 复制/扩展显示屏
  4. Openstack KVM虚拟机启动参数
  5. 语音转文字如何在线转换的?
  6. CESM报错记录(求助)
  7. 项目实战-1号店首页+购物页面
  8. CSS在线字体---谷歌在线字体库
  9. java攻城狮修炼之道-总则(二)
  10. 信号与系统sa函数求积分_利用傅立叶变换的对称性,求信号Sa(t)的频谱密度函数!(大学信号与系统)!!!急急急急!!...