|
|
@ -42,24 +42,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 专题内容,每个专题都配套一个小型项目进行实践
|
|
|
|
## 专题内容,每个专题都配套一个小型项目进行实践
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [错误处理](errors/intro.md)
|
|
|
|
|
|
|
|
- [panic!](errors/panic.md)
|
|
|
|
|
|
|
|
- [适用Result返回错误](errors/result.md)
|
|
|
|
|
|
|
|
- [自定义错误](errors/user-define.md)
|
|
|
|
|
|
|
|
- [让错误输出更优雅](errors/pretty-format.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [Cargo详解](cargo/intro.md)
|
|
|
|
|
|
|
|
- [常用命令](cargo/commands.md)
|
|
|
|
|
|
|
|
- [项目结构](cargo/layout.md)
|
|
|
|
|
|
|
|
- [Cargo.toml和Cargo.lock](cargo/cargo-toml-lock.md)
|
|
|
|
|
|
|
|
- [构建缓存](cargo/cache.md)
|
|
|
|
|
|
|
|
- [版本管理](cargo/version.md)
|
|
|
|
|
|
|
|
- [依赖覆盖](cargo/dependency-override.md)
|
|
|
|
|
|
|
|
- [工作空间](cargo/workspace.md)
|
|
|
|
|
|
|
|
- [条件编译、条件依赖](cargo/feature.md)
|
|
|
|
|
|
|
|
- [配置参数(todo)](cargo/manifest.md)
|
|
|
|
|
|
|
|
- [自定义构建脚本](cargo/build-js.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [测试](test/intro.md)
|
|
|
|
|
|
|
|
- [单元测试](test/unit.md)
|
|
|
|
|
|
|
|
- [集成测试](test/intergration.md)
|
|
|
|
|
|
|
|
- [性能测试](test/benchmark.md)
|
|
|
|
|
|
|
|
- [持续集成](test/ci.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [日志和监控](monitor/intro.md)
|
|
|
|
|
|
|
|
- [日志](monitor/log.md)
|
|
|
|
|
|
|
|
- [可观测性](monitor/observability)
|
|
|
|
|
|
|
|
- [监控(APM)](monitor/apm.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [智能指针](smart-pointer/intro.md)
|
|
|
|
- [智能指针](smart-pointer/intro.md)
|
|
|
|
- [Box对象(todo)](smart-pointer/box.md)
|
|
|
|
- [Box对象(todo)](smart-pointer/box.md)
|
|
|
|
- [Deref和Drop特征(todo)](smart-pointer/deref-drop.md)
|
|
|
|
- [Deref和Drop特征(todo)](smart-pointer/deref-drop.md)
|
|
|
|
- [Rc与RefCell(todo)](smart-pointer/rc-refcell.md)
|
|
|
|
- [Rc与RefCell(todo)](smart-pointer/rc-refcell.md)
|
|
|
|
- [自引用与内存泄漏(todo)](smart-pointer/self-referrence.md)
|
|
|
|
- [自引用与内存泄漏(todo)](smart-pointer/self-referrence.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [深入内存](memory/intro.md)
|
|
|
|
- [常见特征解析](traits/intro.md)
|
|
|
|
- [指针和引用(todo)](memory/pointer-ref.md)
|
|
|
|
- [类型转换From/Into](traits/from-into.md)
|
|
|
|
- [未初始化内存(todo)](memory/uninit.md)
|
|
|
|
- [AsRef, AsMut](traits/as-ref-as-mut.md)
|
|
|
|
- [内存分配(todo)](memory/allocation.md)
|
|
|
|
- [Borrow, BorrowMut, ToOwned](traits/borrow-family.md)
|
|
|
|
- [内存布局(todo)](memory/layout.md)
|
|
|
|
- [Deref和引用隐式转换](traits/deref.md)
|
|
|
|
- [虚拟内存(todo)](memory/virtual.md)
|
|
|
|
- [写时拷贝Cow](traits/cow.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [对抗编译检查](fight-with-compiler/intro.md)
|
|
|
|
|
|
|
|
- [幽灵数据(todo)](fight-with-compiler/phantom-data.md)
|
|
|
|
|
|
|
|
- [生命周期(todo)](fight-with-compiler/lifetime.md)
|
|
|
|
|
|
|
|
- [类型未限制(todo)](fight-with-compiler/unconstrained.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [多线程](multi-threads/intro.md)
|
|
|
|
- [多线程](multi-threads/intro.md)
|
|
|
|
- [线程管理(todo)](multi-threads/thread.md)
|
|
|
|
- [线程管理(todo)](multi-threads/thread.md)
|
|
|
|
- [消息传递(todo)](multi-threads/message-passing.md)
|
|
|
|
- [消息传递(todo)](multi-threads/message-passing.md)
|
|
|
@ -67,6 +92,13 @@
|
|
|
|
- [数据竞争(todo)](multi-threads/races.md)
|
|
|
|
- [数据竞争(todo)](multi-threads/races.md)
|
|
|
|
- [Send、Sync(todo)](multi-threads/send-sync.md)
|
|
|
|
- [Send、Sync(todo)](multi-threads/send-sync.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [深入内存](memory/intro.md)
|
|
|
|
|
|
|
|
- [指针和引用(todo)](memory/pointer-ref.md)
|
|
|
|
|
|
|
|
- [未初始化内存(todo)](memory/uninit.md)
|
|
|
|
|
|
|
|
- [内存分配(todo)](memory/allocation.md)
|
|
|
|
|
|
|
|
- [内存布局(todo)](memory/layout.md)
|
|
|
|
|
|
|
|
- [虚拟内存(todo)](memory/virtual.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [网络和异步编程](networking/intro.md)
|
|
|
|
- [网络和异步编程](networking/intro.md)
|
|
|
|
- [TCP和网络原理(todo)](networking/tcp.md)
|
|
|
|
- [TCP和网络原理(todo)](networking/tcp.md)
|
|
|
|
- [并发与并行(todo)](networking/concurrency-parallelism.md)
|
|
|
|
- [并发与并行(todo)](networking/concurrency-parallelism.md)
|
|
|
@ -90,26 +122,27 @@
|
|
|
|
- [代码风格(todo)](style-guide/code.md)
|
|
|
|
- [代码风格(todo)](style-guide/code.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [面向对象](object-oriented/intro.md)
|
|
|
|
- [面向对象](object-oriented/intro.md)
|
|
|
|
- [OO所需的特性(todo)](object-oriented/characteristics.md)
|
|
|
|
- [为何OO(todo)](object-oriented/characteristics.md)
|
|
|
|
|
|
|
|
- [特征对象](object-oriented/trait-object.md)
|
|
|
|
|
|
|
|
- [设计模式](object-oriented/design-pattern.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [Cargo详解](cargo/intro.md)
|
|
|
|
- [不安全Rust](unsafe/intro.md)
|
|
|
|
- [常用命令](cargo/commands.md)
|
|
|
|
- [原生指针(todo)](unsafe/raw-pointer.md)
|
|
|
|
- [项目结构](cargo/layout.md)
|
|
|
|
- [修改全局变量](unsafe/modify-global-var.md)
|
|
|
|
- [Cargo.toml和Cargo.lock](cargo/cargo-toml-lock.md)
|
|
|
|
- [FFI外部语言用](unsafe/ffi.md)
|
|
|
|
- [构建缓存](cargo/cache.md)
|
|
|
|
|
|
|
|
- [工作空间](cargo/workspace.md)
|
|
|
|
- [对抗编译检查](fight-with-compiler/intro.md)
|
|
|
|
- [配置参数(todo)](cargo/manifest.md)
|
|
|
|
- [幽灵数据(todo)](fight-with-compiler/phantom-data.md)
|
|
|
|
|
|
|
|
- [生命周期(todo)](fight-with-compiler/lifetime.md)
|
|
|
|
|
|
|
|
- [类型未限制(todo)](fight-with-compiler/unconstrained.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [宏编程](macro/intro.md)
|
|
|
|
|
|
|
|
- [过程宏(todo)](macro/procedure-macro.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [性能调优](performance/intro.md)
|
|
|
|
- [性能调优](performance/intro.md)
|
|
|
|
- [Benchmark性能测试(todo)](performance/benchmark.md)
|
|
|
|
- [Benchmark性能测试(todo)](performance/benchmark.md)
|
|
|
|
- [减少Runtime check(todo)](performance/runtime-check.md)
|
|
|
|
- [减少Runtime check(todo)](performance/runtime-check.md)
|
|
|
|
|
|
|
|
|
|
|
|
- [Unsafe](unsafe/intro.md)
|
|
|
|
|
|
|
|
- [原始指针(todo)](unsafe/raw-pointer.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [宏编程](macro/intro.md)
|
|
|
|
|
|
|
|
- [过程宏(todo)](macro/procedure-macro.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [常用三方库](libraries/intro.md)
|
|
|
|
- [常用三方库](libraries/intro.md)
|
|
|
|
- [JSON](libraries/json/intro.md)
|
|
|
|
- [JSON](libraries/json/intro.md)
|
|
|
|
- [serde(todo)](libraries/json/serde.md)
|
|
|
|
- [serde(todo)](libraries/json/serde.md)
|
|
|
|