udpate readme

pull/95/head
sunface 3 years ago
parent e929c8c011
commit 2c06fe846e

@ -1,59 +1,30 @@
# Rust语言圣经
# Rust语言圣经(The course)
- 官方网址: https://course.rs
- 修订时间: **尚未发行**
- Rust版本 Rust edition 2021
- QQ交流群: 1009730433
- 主要作者:    [Sunface](https://im.dev)
## 关于本书
### 教程简介
`Rust语言圣经`涵盖从**入门到精通**所需的全部Rust知识目录及内容都经过深思熟虑的设计同时语言生动幽默行文流畅自如摆脱技术书籍常有的机器味和晦涩感。
#### 书本简介
`Rust语言圣经`是一本涵盖了从入门到精通各个阶段的Rust书籍书本的章节和内容组织经过深思熟虑的设计以符合中国用户的编程使用习惯目的是尽量对新手更友好同时也更方便老手的后期检索查询。
在Rust基础教学的同时我们还提供了
- **深入度**, 在基础教学的同时, 提供了深入剖析, 浅尝辄止并不能让我们站上紫禁之巅
- **性能优化**选择Rust, 意味着就要追求性能, 因此你需要体系化的了解性能优化
- **专题**将Rust高级内容通过专题的方式一一呈现内容内聚性极强
- **难点索引**,作为一本工具书,优秀的索引能力非常重要,遗忘不可怕,找不到才可怕
- **场景化模版**,程序员上网查询如何操作文件是常事,没有人能记住所有代码,场景化模版可解君忧
- **开源库推荐**, 根据场景推荐高质量的开源库降低Rust上手门槛
使用Rust的用户往往都对性能非常感兴趣因此本书对于性能优化方面也是分散落入各个章节中同时还有一个专门的**性能优化**专题来帮助用户系统的认识如何优化Rust项目的性能。
总之在写作过程中我们始终铭记初心:**为中国用户打造一本真正的Rust教程。 新手用来入门,老手用来提高,高手用来提升生产力**
针对不同的使用场景我们也给出了多种模版代码方便用户直接复制粘贴到代码中例如读取文件、http请求等无需再去网上搜索。
### 开源说明
Rust语言圣经是**完全开源**的电子书, 每个章节都至少用时4-6个小时才能初步完稿牺牲了大量休闲娱乐、陪伴家人的时间还没有任何钱赚**如果大家觉得这本书作者真的用心了,希望你能帮我们点一个`star`**,感激不尽:)
Rust的外部库层次不齐针对这一点我们根据功能分类推荐了相应的高质量开源库同时提供了基础的使用帮助。
在开源版权上,我们选择了[No License](https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwigkv-KtMT0AhXFdXAKHdI4BCcQFnoECAQQAw&url=https%3A%2F%2Fchoosealicense.com%2Fno-permission%2F&usg=AOvVaw3M2Q4IbdhnpJ2K71TF7SPB)这意味着读者可以随意的fork和阅读但是**不能私下修改后再包装分发**,如果有这方面的需求,请联系[我们](https://im.dev),我们不会收钱,只是希望知道谁通过什么方式分发了这本书的部分内容,望理解.
**在学完这本书后,你也会随之完成数个小型项目**(部分例子借鉴于**Rust In action**一书),例如其中一些是:
- Mandelbrot集合渲染
- 类Grep命令
- CPU模拟器
- 小型数据库
- 小型Redis
- HTTP等网络请求客户端
- 小型操作系统内核
从上面的列表可以看出学完本书不仅会教会你Rust语言还能学到系统编程和底层编程, 尽情享受奇妙的编程之旅吧。
#### 创作初心
还有很多,就不一一列举,等待大家自己去探索挖掘。 总之在写作过程中我们始终铭记初心:**为用户打造一本真正的Rust中文好书。 新手用来入门,老手用来提高,高手能用来提升生产力**。
#### 目标读者
目标读者大致能落在以下三个范畴内
1. 有其它语言编程基础无Rust编程语言经验的爱好者
2. 已经熟悉Rust想要更进一步的中级Rust程序员
3. 想要随时检索一些Rust知识和代码对生产力有要求的Rust开发者
#### 内容说明
书的目录组织结构和内容组织完全是原创,其中书籍内容部分,大部分是原创,另外一部分来源于外文资料及中文翻译书籍。
来源于中文翻译书籍的内容都会标明来源,在复制粘贴的同时,还进行了大量的修改,一个是增加中文翻译的准确性,还有就是提升阅读流畅度,让行文更符合中国人的阅读习惯,摆脱“机器翻译味", **所以本书的内容每句话都是经过精心构思,力求提供给大家最好的阅读体验**.
## 开源版权说明
Rust语言圣经是完全开源的电子书籍但是也应该受到版权的保护毕竟凝聚了大家多个数以百计小时的汗水、牺牲了大量陪伴家人的时间才完成了该书。
因此我们选择了[No License](https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwigkv-KtMT0AhXFdXAKHdI4BCcQFnoECAQQAw&url=https%3A%2F%2Fchoosealicense.com%2Fno-permission%2F&usg=AOvVaw3M2Q4IbdhnpJ2K71TF7SPB)作为我们的版权这意味着读者可以随意的fork、阅读但是不能私下修改后再分发如果想要修改请提RP或者加入Rust编程学院成为正式成员。
## Philosophy(设计哲学)
### Philosophy(设计哲学)
书本的内容组织上遵循以下原则:
1. 内聚性: 每个章节都应该系统的阐述一整块儿独立的内容,尽量减少章节之间的耦合性
@ -61,7 +32,7 @@ Rust语言圣经是完全开源的电子书籍但是也应该受到版权的
3. 知识链知识B的学习如果需要先学习知识A则A一定在B之前出现
4. 章节命名当用户突然想了解某个知识点时可以很快的定位到它所在的章节例如想了解Arc就应该`多线程 -> Arc`这种章节目录形式
## Rust社区
### Rust社区
与国外的Rust发展如火如荼相比国内的近况不是特别理想。
@ -74,5 +45,4 @@ Rust语言圣经是完全开源的电子书籍但是也应该受到版权的
官网网址:
- https://college.rs
- https://rustcollege.cn
- QQ群1009730433

@ -140,6 +140,10 @@ let home: IpAddr = "127.0.0.1".parse().unwrap();
## panic原理剖析
本来不想写这块儿内容,因为对于大多数人都没有帮助,但是转念一想,既然号称圣经,那么本书就得与众不同,避重就轻显然不是该有的态度。
Not sure exactly what you're asking, but I'll try to describe the panic mechanism as I understand it. I'm sure folks will correct my mistakes.
When you call the panic!() macro it formats the panic message and then calls std::panic::panic_any() with the message as the argument. panic_any() first checks to see if there's a "panic hook" installed by the application: if so, the hook function is called. Assuming that the hook function returns, the unwinding of the current thread begins with the parent stack frame of the caller of panic_any(). If the registers or the stack are messed up, likely trying to start unwinding will cause an exception of some kind, at which point the thread will be aborted instead of unwinding.
Unwinding is a process of walking back up the stack, frame-by-frame. At each frame, any data owned by the frame is dropped. (I believe things are dropped in reverse static order, as they would be at the end of a function.)

Loading…
Cancel
Save