pull/141/head
sunface 3 years ago
parent 6b8b922d9c
commit ff7e0c220b

@ -17,5 +17,5 @@ line-numbers = true
[output.html.fold]
enable = true
level = 1
level = 2

@ -72,21 +72,39 @@
- [Cell与RefCell内部可变性](advance/smart-pointer/cell-refcell.md)
- [Weak与循环引用](advance/smart-pointer/circle-reference.md)
- [结构体中的自引用](advance/self-referential.md))
- [全局变量 todo](advance/global-variable.md)
- [多线程 todo](advance/multi-threads/intro.md)
- [线程管理 todo](advance/multi-threads/thread.md)
- [消息传递 todo](advance/multi-threads/message-passing.md)
- [数据共享Mutex、Rwlock todo](advance/multi-threads/ref-counter-lock.md)
- [数据竞争 todo](advance/multi-threads/races.md)
- [Send、Sync todo](advance/multi-threads/send-sync.md)
- [异步编程async/await todo](advance/async/intro.md)
- [async/await语法 todo](advance/async/async-await.md)
- [future详解 todo](advance/async/future/into.md)
- [何为Future](advance/async/future/future.md)
- [任务调度](advance/async/future/task-schedule.md)
- [任务执行器](advance/async/future/task-excutor.md)
- [系统IO](advance/async/future/system-io.md)
- [执行多个Future](advance/async/future/multi-futures.md)
- [Pin、Unpin todo](advance/async/pin-unpin.md)
- [遇到不支持的异步特性? todo](advance/async/future/workarounds.md)
- [HTTP Client/Server todo](advance/async/http.md)
- [定海神针-tokio包 todo](advance/async/tokio/intro.md)
- [基本用法](advance/async/tokio/basic.md)
- [异步消息流](advance/async/tokio/stream.md))
- [全局变量 todo](advance/global-variable.md)
## 专题内容,每个专题都配套一个小型项目进行实践
- [Rust最佳实践 doing](practice/intro.md)
- [日常开发三方库精选](practice/third-party-libs.md)
- [一些写代码的技巧 todo](practice/coding-tips.md)
- [最佳实践 todo](practice/best-pratice.md)
- [值得学习的源代码 todo](practice/good-sourcecode.md)
- [代码规范 doing](practice/style-guide/intro.md)
- [命名规范](practice/style-guide/naming.md)
- [代码风格(todo)](practice/style-guide/code.md)
- [代码标记](practice/style-guide/mark.md)
- [Clippy](practice/style-guide/clippy.md)
- [对抗编译检查(持续更新)](fight-with-compiler/intro.md)
- [幽灵数据(todo)](fight-with-compiler/phantom-data.md)
- [生命周期](fight-with-compiler/lifetime/intro.md)
@ -118,30 +136,30 @@
- [deno todo](rustjs/deno.md)
- [错误处理 todo](errors/intro.md)
- [简化错误处理](errors/simplify.md)
- [自定义错误](errors/user-define.md)
- [让错误输出更优雅](errors/pretty-format.md)
- [简化错误处理 todo](errors/simplify.md)
- [自定义错误 todo](errors/user-define.md)
- [让错误输出更优雅 todo](errors/pretty-format.md)
- [会导致panic的代码](errors/panic-codes.md)
- [Cargo详解 todo](cargo/intro.md)
- [常用命令](cargo/commands.md)
- [项目结构](cargo/layout.md)
- [Cargo.toml和Cargo.lock](cargo/cargo-toml-lock.md)
- [依赖管理](cargo/dependency.md)
- [构建缓存](cargo/cache.md)
- [版本管理](cargo/version.md)
- [工作空间](cargo/workspace.md)
- [条件编译、条件依赖](cargo/feature.md)
- [配置参数(todo)](cargo/manifest.md)
- [自定义构建脚本](cargo/build-js.md)
- [Cargo profile](cargo/profile.md)
- [常用命令 todo](cargo/commands.md)
- [项目结构 todo](cargo/layout.md)
- [Cargo.toml和Cargo.lock todo](cargo/cargo-toml-lock.md)
- [依赖管理 todo](cargo/dependency.md)
- [构建缓存 todo](cargo/cache.md)
- [版本管理 todo](cargo/version.md)
- [工作空间 todo](cargo/workspace.md)
- [条件编译、条件依赖 todo](cargo/feature.md)
- [配置参数 todo](cargo/manifest.md)
- [自定义构建脚本 todo](cargo/build-js.md)
- [Cargo profile todo](cargo/profile.md)
- [测试 todo](test/intro.md)
- [单元测试](test/unit.md)
- [集成测试](test/intergration.md)
- [性能测试](test/benchmark.md)
- [持续集成](test/ci.md)
- [单元测试 todo](test/unit.md)
- [集成测试 todo](test/intergration.md)
- [性能测试 todo](test/benchmark.md)
- [持续集成 todo](test/ci.md)
- [常见特征解析 todo](traits/intro.md)
- [类型转换From/Into](traits/from-into.md)
@ -156,35 +174,12 @@
- [未初始化内存(todo)](memory/uninit.md)
- [内存分配(todo)](memory/allocation.md)
- [内存布局(todo)](memory/layout.md)
- [虚拟内存(todo)](memory/virtual.md)
- [网络和异步编程 todo](networking/intro.md)
- [TCP和网络原理(todo)](networking/tcp.md)
- [并发与并行(todo)](networking/concurrency-parallelism.md)
- [异步编程](networking/async/intro.md)
- [async/await语法](networking/async/async-await.md)
- [future详解](networking/async/future/into.md)
- [何为Future](networking/async/future/future.md)
- [任务调度](networking/async/future/task-schedule.md)
- [任务执行器](networking/async/future/task-excutor.md)
- [系统IO](networking/async/future/system-io.md)
- [执行多个Future](networking/async/future/multi-futures.md)
- [Pin、Unpin(todo)](networking/async/pin-unpin.md)
- [遇到不支持的异步特性?](networking/async/future/workarounds.md)
- [HTTP Client/Server](networking/async/http.md)
- [定海神针-tokio包](networking/async/tokio/intro.md)
- [基本用法](networking/async/tokio/basic.md)
- [异步消息流](networking/async/tokio/stream.md)
- [虚拟内存(todo)](memory/virtual.md)
- [Web应用开发 todo](web/intro.md)
- [编解码与序列化 todo](web/serialization.md)
- [代码规范 doing](style-guide/intro.md)
- [命名规范](style-guide/naming.md)
- [代码风格(todo)](style-guide/code.md)
- [代码标记](style-guide/mark.md)
- [Clippy](style-guide/clippy.md)
- [面向对象 todo](object-oriented/intro.md)
- [为何OO(todo)](object-oriented/characteristics.md)
- [特征对象](object-oriented/trait-object.md)

@ -1,3 +1,5 @@
# 异步编程
https://rust-lang.github.io/async-book/01_getting_started/03_state_of_async_rust.html
https://rust-lang.github.io/async-book/01_getting_started/03_state_of_async_rust.html
## 并发

@ -66,7 +66,7 @@ fn main(){
在使用时,通过`borrow_value`来借用`value`的值,通过`borrow_pointer_to_value`来借用`pointer_to_value`这个指针。
看上去很美好对吧?但是你可以尝试着去修改`String`字符串的值试试,`ouroboros`限制还是较多的,但是对于基本类型依然是支持的不错:
看上去很美好对吧?但是你可以尝试着去修改`String`字符串的值试试,`ouroboros`限制还是较多的,但是对于基本类型依然是支持的不错,以下例子来源于官方:
```rust
use ouroboros::self_referencing;
@ -288,13 +288,6 @@ fn main(){
## 三方库解决引用循环
一些三方库也可以用来解决引用循环的问题,例如:
1. https://github.com/Kimundi/owning-ref-rs
2. https://github.com/joshua-maros/ouroboros
不过需要注意的是,这些库需要目标值的内存地址不会改变,因此`Vec`动态数组就不适合因为当内存空间不够时Rust会重新分配一块空间来存放该数组这会导致内存地址的改变。
## 学习一本书:如何实现链表

@ -1 +0,0 @@
# 网络和异步编程

@ -1 +0,0 @@
# TCP和网络原理(todo)

@ -1,4 +1,7 @@
# 常用性能测试工具
https://era.co/blog/unbuffered-io-slows-rust-programs
https://era.co/blog/unbuffered-io-slows-rust-programs
# profiling
https://www.reddit.com/r/rust/comments/rxj81f/rust_profiling/

@ -6,8 +6,9 @@ https://www.reddit.com/r/rust/comments/rnmmqz/question_how_to_keep_code_dry_when
https://www.reddit.com/r/rust/comments/rrgho1/what_is_the_recommended_way_to_use_a_library/
## 最佳开发流程
## 最佳开发流程workflow
cargo watch
https://www.reddit.com/r/rust/comments/rxrkbo/what_is_your_workflow_when_working_with_rust/
## 测试文件组织结构
https://www.reddit.com/r/rust/comments/rsuhnn/need_a_piece_of_advice_about_organising_tests/
@ -16,4 +17,4 @@ https://www.reddit.com/r/rust/comments/rsuhnn/need_a_piece_of_advice_about_organ
https://github.com/tkellogg/dura
## code cover
https://docs.codecov.com/docs
https://docs.codecov.com/docs

@ -0,0 +1,5 @@
# 值得学习的源代码
https://www.reddit.com/r/rust/comments/rxfx85/good_rust_source_code/
https://www.reddit.com/r/rust/comments/rx8rom/rust_projects_where_you_learnt_a_ton_of_stuff/

@ -0,0 +1,5 @@
## 可借鉴的课程形式
https://www.reddit.com/r/rust/comments/rwp8mo/teaching_rust_at_the_university_of_warsaw/
## 练习题
Loading…
Cancel
Save