0%

Programming Rust

Programming Rust

这本书是 O'Reilly 出版社的,对本书进行了学习和记录,内容大体上没有遗漏,只是对一些描述做了精简,出版社书籍链接。文档源码 gamelife1314/gamelife1314.github.io

表述有误的地方请评论或者提 pr 指正。

  1. 《第3章-Fundamental Types》
  2. 《第4章-Ownership and Moves》
  3. 《第5章-References》
  4. 《第6章-Expressions》
  5. 《第7章-Error Handling》
  6. 《第8章-Crates and Modules》
  7. 《第9章-Structs》
  8. 《第10章-Enums and Patterns》
  9. 《第11章-Traits and Generics》
  10. 《第12章-Operator Overloading》
  11. 《第13章-Utility Traits》
  12. 《第14章-Closures》
  13. 《第15章-Iterators》
  14. 《第16章-Collections》
  15. 《第17章-Strings and Text》
  16. 《第18章-Input and Output》
  17. 《第19章-Concurrency》
  18. 《第20章-Asynchronous Programming》
  19. 《第21章-Macros》
  20. 《第22章-Unsafe Code》
  21. 《第23章-Foreign Functions》

其他内容

  1. Rust 生命周期
  2. Rust 学习笔记
  3. Rustup 介绍
  4. Rust 交叉编译
  5. Rust 二进制文件体积减小
  6. Rust 格式化
  7. Rust 正则表达式
  8. 文件和目录
  9. anyhow & thiserror
  10. Rust 在线题目测试
  11. gdb 速查手册
  12. lldb 使用帮助
  13. 《Rust Macros小书》

常用库

  1. thiserror:自动派生标准库中的 std::error::Error
  2. anyhow:提供了 anyhow::Result<T> 用于任何可能失败返回错误的函数;
  3. crossbeam:提供很多用于并发编程的工具,例如线程阻塞;
  4. waker_fn:转换闭包为 waker
  5. lazy_static:可以用于初始化全局可变静态变量;
  6. unicode-width:获取 Unicode 字符宽度;
  7. enum_primitive:提供宏能自动从数字转换成枚举;
  8. serde_jsonjson 序列化;
  9. fnv:基于 Fowler–Noll–Vo 算法实现的 HashMap
  10. reqwest:高级 HTTP 客户端;
  11. actix-webWeb 框架;
  12. rayon:计算密集型任务的任务分解;
  13. dashmapRust 中超快的并发 map
  14. tracing:日志处理;
  15. argonautica:使用 Argon2 hashing algorithm 进行密码hash;
  16. surf:跨平台 HTTP 客户端,简单易用;
  17. futures-lite:完全兼容 futures,提供了 pin!
  18. parking_lot:提供了比标准库更快的 Mutex 等;
  19. itertools:扩展了内置的 Iterator,提供了更多的迭代适配器方法;
  20. tonic:原生的 grpc 客户段和服务端,支持 async/await
  21. hyper:快速的 HTTP 实现;
  22. bytes:处理二进制内容的库;
  23. structopt:解析命令行参数通过定义的结构体;
  24. colored:在终端中添加颜色的最简单方法;
  25. tabled:以表格的形式输出结构体和枚举;
  26. chronoRust 的日期和时间处理库;
  27. async_trait:提供了一个宏,可以在 trait 中包含异步的方法;
  28. dialoguer:可以用于构建交互式命令行:
  29. indicatif:用于提供友好的进度条;
  30. nom:解析器组合库;
  31. prostRustprotocol buffer 实现;
  32. tungstenitewebsocket 协议实现;
  33. rocketweb 框架;
  34. axum:使用 TokioTowerHyper 构建的符合人体工程学的模块化 Web 框架;
  35. dieselRustORM 框架;
  36. SeaORMRustORM 框架;
  37. sqlx:异步的纯 Rust 实现的 Sql 工具箱;
  38. comrakmarkdown 解析;
  39. yewYew 是一个设计先进的 Rust 框架,目的是使用 WebAssembly 来创建多线程的前端 web 应用。
  40. seed:创建 Web 前端应用的 Rust 框架;
  41. MoonZoonRust 全栈框架;
  42. headless_chrome:一个高级的控制无头浏览器或者 Chromium 的框架;
  43. thirtyfour:类似 Selenium 的自动化测试框架;
  44. fantoccini:通过 WebDriver 以编程方式与网页交互的高级 API;
  45. rusoto_coreRust 实现的 AWS SDK

静态网站

  1. getzola:静态网站生成器;
  2. mdBook:类似 gitbookRust 实现;

wasmtime

  1. wasmtime:单独的 wasm 运行时;
  2. rustwasmrustwasm 生态系统;
  3. wasm-packwasm 工作流工具;
  4. wasm-bindgen:提供Wasm 模块和 JavaScript 之间级交互的高级 API
  5. bytecodealliance
  6. wasmerWasmer 提供基于 WebAssembly 的超轻量级容器,其可以在任何地方运行:从桌面到云、以及 IoT 设备,并且也能嵌入到 任何编程语言中;

云原生

  1. kube-rs
  2. krator
  3. krustlet

GUI

  1. iced
  2. sixtyfps
  3. druid
  4. tauri
  5. areweguiyet
  6. rust-skia
  7. tiny-skia

嵌入式

  1. wg:嵌入式设备工作组的协调存储库;
  2. awesome-embedded-rust
  3. akri:一个管理嵌入式设备的云原生项目;

机器学习

  1. tensorflow
  2. PyTorch
  3. scikit-learn