Rust实战:命令行工具与网络服务开发

📚 共计 30 章节
第1章
Rust入门
Rust语言发展史、核心特性(内存安全、零成本抽象、无GC)、安装Rust工具链(rustup、cargo、rustc)、第一个Rust程序(Hello World)、Cargo项目结构解析。
基础环境
第2章
基础语法(上)
变量与可变性(let/mut)、常量(const)、基本数据类型(标量类型:整数、浮点、布尔、字符)、复合类型(元组、数组)、函数定义与参数。
语法类型
第3章
基础语法(下)
控制流(if/else、loop、while、for)、所有权(Ownership)规则、引用与借用(&、&mut)、切片(Slice)类型。
所有权控制流
第4章
结构体与枚举
结构体定义与实例化、元组结构体、方法(impl块)、枚举定义(Option、Result)、match模式匹配、if let语法。
枚举模式匹配
第5章
项目管理与模块系统
包(Package)、Crate(库/二进制)、模块(mod)定义、路径(Path)与可见性(pub)、use关键字、模块文件拆分。
模块组织
第6章
常用集合
Vector(动态数组)、String(字符串操作)、HashMap(键值对)、集合遍历与性能对比。
集合性能
第7章
错误处理
panic!宏与不可恢复错误、Result<T, E>与可恢复错误、?运算符传播错误、自定义错误类型。
错误Result
第8章
泛型与Trait
泛型函数与结构体、Trait定义与实现、Trait Bound语法、生命周期标注(lifetime)、生命周期省略规则。
泛型Trait
第9章
闭包与迭代器
闭包定义与类型推断、Fn/FnMut/FnOnce trait、迭代器(Iterator trait)、消费器与适配器、性能对比(零成本抽象)。
闭包迭代器
第10章
智能指针
Box<T>(堆分配)、Rc<T>(引用计数)、RefCell<T>(内部可变性)、RefCell与Rc组合使用、循环引用与Weak<T>。
智能指针内存
第11章
并发编程(上)
线程(thread::spawn)、消息传递(mpsc通道)、共享状态(Mutex<T>、Arc<T>)、Send与Sync trait。
并发线程
第12章
并发编程(下)
async/await基础、Future trait、tokio运行时入门、异步TCP服务器示例。
异步tokio
第13章
面向对象特性
Trait对象(dyn关键字)、封装(pub控制)、继承替代方案(组合与Trait默认实现)。
OOPTrait对象
第14章
模式匹配进阶
模式语法(字面量、变量、通配符)、解构(结构体、枚举、元组)、@绑定、匹配守卫。
模式解构
第15章
不安全Rust
unsafe关键字、解引用裸指针、调用不安全函数、访问/修改可变静态变量、实现不安全trait。
unsafe底层
第16章
宏编程
声明宏(macro_rules!)、过程宏(自定义derive、属性宏、函数宏)、常用宏示例(vec!、println!)。
元编程
第17章
命令行工具开发(上)
clap库解析命令行参数、env_logger/log日志系统、错误处理与退出码、彩色输出(colored/termcolor)。
CLIclap
第18章
命令行工具开发(下)
文件I/O(std::fs)、目录遍历(walkdir)、正则表达式(regex)、管道与重定向处理、测试命令行工具。
文件正则
第19章
HTTP客户端开发
reqwest库基础、GET/POST请求、处理JSON(serde_json)、设置超时与Header、异步HTTP客户端。
HTTPreqwest
第20章
HTTP服务器开发(上)
actix-web框架入门、路由与Handler、提取器(Path、Query、Json)、响应类型。
actix服务器
第21章
HTTP服务器开发(下)
中间件(日志、认证)、状态共享(Data)、WebSocket支持、文件服务、性能调优。
中间件WebSocket
第22章
数据库操作
sqlx库连接PostgreSQL/MySQL、CRUD操作、连接池管理、迁移工具(sqlx-cli)、异步数据库查询。
数据库sqlx
第23章
序列化与反序列化
serde框架详解、自定义序列化、JSON/YAML/TOML格式处理、性能对比。
serdeJSON
第24章
网络协议解析
TCP/UDP基础(std::net)、自定义协议设计、字节序处理(byteorder)、使用nom解析二进制协议。
协议nom
第25章
gRPC与Tonic
Protocol Buffers定义、Tonic框架搭建gRPC服务、一元/服务器流/客户端流/双向流、TLS配置。
gRPCTonic
第26章
WebAssembly入门
wasm-pack工具链、Rust编译到Wasm、与JavaScript互操作、wasm-bindgen基础。
Wasm前端
第27章
测试与基准测试
单元测试(#[test])、集成测试、文档测试、基准测试(criterion)、模糊测试(cargo-fuzz)。
测试基准
第28章
性能优化
性能分析工具(perf、flamegraph)、常见优化技巧(内存分配、循环优化)、使用FFI调用C库、SIMD指令。
优化FFI
第29章
项目构建与发布
Cargo工作空间、条件编译(cfg)、特性标志(features)、发布到crates.io、文档生成(rustdoc)。
发布Cargo
第30章
综合实战
构建一个完整的CLI工具+Web服务项目:文件同步工具(支持HTTP API与命令行操作),包含日志、配置、测试、文档。
实战全栈