From 42bf6d84d73f72a1e526d41effd358c11ce5fd8c Mon Sep 17 00:00:00 2001 From: sunface Date: Fri, 3 Dec 2021 14:25:09 +0800 Subject: [PATCH] update first-try --- README.md | 5 ++- release | 2 +- src/.DS_Store | Bin 6148 -> 8196 bytes src/SUMMARY.md | 12 ++++-- src/about-book.md | 17 ++++++--- src/first-try/editor.md | 11 +++++- src/first-try/hello-world.md | 10 ++++- src/first-try/installation.md | 70 +++++++++++++++++++++++++++++++++- src/first-try/intro.md | 10 ++++- src/into-rust.md | 2 - src/std/intro.md | 1 + src/std/search.md | 1 + writing-material/.DS_Store | Bin 6148 -> 6148 bytes writing-material/books.md | 4 +- 14 files changed, 126 insertions(+), 19 deletions(-) create mode 100644 src/std/intro.md create mode 100644 src/std/search.md diff --git a/README.md b/README.md index a7b3faab..e8e8aa4d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ - 官方网址: https://wayto.rs - 修订时间: **尚未发行** - Rust版本:Rust edition 2021 - +- QQ交流群: 1009730433 ## 关于本书 #### 书本简介 @@ -74,4 +74,5 @@ Rust编程指南是完全开源的电子书籍,但是也应该受到版权的 官网网址: - https://college.rs -- https://rustcollege.cn \ No newline at end of file +- https://rustcollege.cn +- QQ群:1009730433 \ No newline at end of file diff --git a/release b/release index 0b74c5a0..ff028677 100755 --- a/release +++ b/release @@ -13,7 +13,7 @@ git config user.email "cto@188.com" git add . git commit -m 'release book' git branch -M gh-pages -git remote add origin https://github.com/rustcm/the-way-to-rust +git remote add origin https://github.com/rustcollege/the-way-to-rust ## push to github pages git push -u -f origin gh-pages \ No newline at end of file diff --git a/src/.DS_Store b/src/.DS_Store index 175a98d80b620d5e546333265b5f22a1e6fc2938..a692ff9c503037a33d18f0f43d291e8c240ad4f4 100644 GIT binary patch delta 337 zcmZoMXmOBWU|?W$DortDU;r^WfEYvza8E20o2aKKDh84V@);OP7<3tu81jKId$S;i z7|Uh_j$Y=)>>L~u8(1Vk%6J(P!3s)|l}?_-raGCQWs7JMP_~#MlOee*xF|0tKQA3* z@aBCiCmATPkW^utIjNBXynGAUhB@9Ij`IA)yR5#xi;$WOCDWWs6OlC1V2Ztat&=4RH i;06+|Aj3BnerKM{FXIWaih&7YEyyJdo8x)rFarQbn;Rbh diff --git a/src/SUMMARY.md b/src/SUMMARY.md index bf21a494..1dc73d8b 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -5,11 +5,11 @@ ## Getting started -- [安装运行](first-try/intro.md) - - [安装Rust环境(todo)](first-try/installation.md) - - [墙推VSCode!(todo)](first-try/editor.md) +- [寻找牛刀,以便小试](first-try/intro.md) + - [安装Rust环境](first-try/installation.md) + - [墙推VSCode!](first-try/editor.md) - [认识Cargo(todo)](first-try/cargo.md) - - [你好,世界!(todo)](first-try/hello-world.md) + - [不仅仅是Hello world](first-try/hello-world.md) ## Rust学习三部曲 @@ -144,6 +144,10 @@ - [Benchmark性能测试(todo)](performance/benchmark.md) - [减少Runtime check(todo)](performance/runtime-check.md) +- [标准库解析](std/intro.md) + - [如何寻找你想要的内容](std/search.md) + + - [常用三方库](libraries/intro.md) - [JSON](libraries/json/intro.md) - [serde(todo)](libraries/json/serde.md) diff --git a/src/about-book.md b/src/about-book.md index 2040b256..39fb0a61 100644 --- a/src/about-book.md +++ b/src/about-book.md @@ -8,6 +8,7 @@ - 官方网址: https://wayto.rs - 修订时间: 尚未发行 - Rust版本:Rust edition 2021 +- QQ交流群: 1009730433 #### 书本简介 `Rust编程指南`是一本涵盖了从入门到精通各个阶段的Rust书籍,书本的章节和内容组织经过深思熟虑的设计,以符合中国用户的编程使用习惯,目的是尽量对新手更友好,同时也更方便老手的后期检索查询。 @@ -52,7 +53,13 @@ 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编程学院,成为正式成员。 -#### 书中的一些标识说明 +## 阅读本书需要注意的点 + +### 命令行符号 + +> 在本章以及整本书中,我们将展示一些在终端中使用的命令。在终端中输入的行均以 `$` 开头,你不需输入 `$` 字符;它表示每个命令的开始。不以 `$` 开头的行通常表示上一个命令的输出内容。另外,专用于 PowerShell 的示例将使用 `>` 而不是 `$`。 + +#### 编译期望行为说明 | Ferris | 意义 | |------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| | Ferris with a question mark | 这些代码不能编译! | @@ -70,12 +77,12 @@ Rust编程指南是完全开源的电子书籍,但是也应该受到版权的 2. 中文资料少,英文资料难学(基于原因1) 3. 没有体系化的学习路线,新人往往扫完一遍入门书籍,就不知道何去何从 -因此我联合几个朋友一起创建了RustCm社区(Rust Cn Members), `cm = cn members`,顾名思义这个社区最核心的是`中国成员`,只有有了这样一群真心喜欢Rust的成员,才能形成真正有力、可持续发展的社区。 +因此我联合几个朋友一起创建了Rust编程学院(Rust College), 致力于给国内提供最新、最高质量Rust学习内容。 + 官网网址: -- https://rust.cm -- https://rustcm.com +- https://college.rs +- QQ群: 1009730433 -后者为了未来国内备案使用 diff --git a/src/first-try/editor.md b/src/first-try/editor.md index 7f692f2c..d2397a4d 100644 --- a/src/first-try/editor.md +++ b/src/first-try/editor.md @@ -1 +1,10 @@ -## 编辑器 \ No newline at end of file +## 墙推VScode! + +VScode从15年刚开始推出,我就在使用了,做为第一个吃螃蟹的人,可以说见证了它一路的快速发展,直到现在成为开源世界最火的IDE之一(弱弱的说一句,之一也许可以去掉).顺便歪楼说一句:我预言过三件事, 在13年预言Golang会火遍全世界,同时创建了14-19年最火的Golang隐修会社区,可惜因为某些原因被封停了,甚是遗憾;在15年预言VScode会成为世界上最好的ide;我是jaeger tracing项目的第一个star用户(是的,比作者还早),当时就很看好这个项目的后续发展。 + +现在呢,我在这里正式预言,未来Rust会成为最火的系统编程语言,在应用开发之外的领域会大放光彩! + +下面继续简单介绍下VScode,以下内容引用于官网: + +> Visual Studio Code(VS Code)是微软2015年推出的一个轻量但功能强大的源代码编辑器,基于 Electron 开发,支持 Windows、Linux 和 macOS 操作系统。它内置了对JavaScript,TypeScript和Node.js的支持并且具有丰富的其它语言和扩展的支持,功能超级强大。Visual Studio Code是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段、代码对比 Diff、GIT命令 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。 + diff --git a/src/first-try/hello-world.md b/src/first-try/hello-world.md index 063897ea..d5af053e 100644 --- a/src/first-try/hello-world.md +++ b/src/first-try/hello-world.md @@ -1 +1,9 @@ -# 从hello world开始 \ No newline at end of file +# 从hello world开始 + + +在开始之前,我们来简单来个Rust的第一印象评测。 + +## Rust语言初印象 + +Rust这门语言对于Haskell和Java开发来说,会觉得很熟悉,因为它们在高阶表达方面都很优秀,简而言之,可以很简洁的写出原本需要一大堆代码才能表达的含义,但是Rust又有所不同:它的性能是底层语言级别的性能,可以跟C/C++相媲美。 + diff --git a/src/first-try/installation.md b/src/first-try/installation.md index 4edc90c8..5d501b04 100644 --- a/src/first-try/installation.md +++ b/src/first-try/installation.md @@ -1 +1,69 @@ -# 安装运行Rust \ No newline at end of file +# 安装Rust + +强烈建议使用`rustup`来安装Rust,当然如果你有异心,请寻找其它安装方式,然后再从下一节开始阅读。 + +> haha,开个玩笑,读者乃大大,怎么能弃之不顾,所以,注意:如果你不想用或者不能用rustup,请参见[Rust其它安装方法](https://forge.rust-lang.org/infra/other-installation-methods.html#other-rust-installation-methods) + +现在Rust稳定版特性越来越全了,所以下载最新稳定版本即可。由于你用的Rust版本可能跟本书写的时候不一样,所以一些编译错误和警告可能也会有所不同。 + + +### 在 Linux 或 macOS 上安装 `rustup` + +如果你使用的是 Linux 或 macOS,打开终端并输入下面命令: + +```console +$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh +``` + +这个命令将下载一个脚本并开始安装 `rustup` 工具,此工具将安装 `Rust` 的最新稳定版本。可能会提示你输入管理员密码。如果安装成功,将出现下面这行: + +```text +Rust is installed now. Great! +``` + +注意,上面已经完成了Rust安装,**如果你在安装过程中遇到连接器错误,请继续往下看**,否则可以直接跳到[更新和卸载](#更新和卸载),继续阅读. + +Rust对运行环境和Go语言很像,几乎所有环境都可以无需安装任何依赖直接运行,但是,Rust会依赖libc和链接器linker,所以如果遇到了提示链接器无法执行的错误,你需要手动安装一个C语言编译器即可: + +**在Macos下** +```console +$ xcode-select --install +``` +**在linux下** +Linux 用户一般应按照相应发行版的文档来安装 GCC 或 Clang。例如,如果你使用 Ubuntu,则可安装 `build-essential`。 + +### 在 Windows 上安装 `rustup` + +windows上安装过程较为麻烦,因此我们专门写了一篇文章来讲解相关的安装过程,请移步:[Windows安装]() + + +### 更新和卸载 + +通过 `rustup` 安装 Rust 后,更新到最新版本很简单。在 shell 中运行以下更新命令: + +```console +$ rustup update +``` + +要卸载 `Rust` 和 `rustup`,在 shell 中运行以下卸载命令: + +```console +$ rustup self uninstall +``` + +### 疑难解答 + +要检查是否正确安装了 Rust,可打开 shell 并输入下面这行,你应该看到最新发布的稳定版本的版本号、提交哈希值和提交日期: + +```console +$ rustc -V +rustc 1.56.1 (59eed8a2a 2021-11-01) +``` + +如果你看到此信息,则说明您已成功安装 Rust!如果没看到此信息,并且你使用的是 Windows,请检查 Rust 是否在 `%PATH%` 系统变量中。如果都正确,但 `Rust` 仍然无法正常工作,那么你可以在很多地方获得帮助。最简单的是**加入Rust编程学院这个大家庭,QQ群:1009730433**. + +### 本地文档 + +Rust 的安装还自带文档的本地副本,可以方便地离线阅读。运行 `rustup doc` 让浏览器打开本地文档。 + +每当遇到标准库提供的类型或函数不知道怎么用时,都可以在 API 文档中查找到!具体参加[在标准库寻找你想要的内容](../std/search.md) \ No newline at end of file diff --git a/src/first-try/intro.md b/src/first-try/intro.md index a6a564a0..d28292be 100644 --- a/src/first-try/intro.md +++ b/src/first-try/intro.md @@ -1 +1,9 @@ -# getting started \ No newline at end of file +# 寻找牛刀,以便小试 + +其实对于写这种章节,我内心是拒绝的,因为真的很无趣,对于一本书而言,这也更像是一种浪费纸张的行为(好在咱无纸化:-D),不过没有办法,没有Rust,总不能让大家用空气运行吧, so, 我恶趣味的起了一个这样的章节名。 + +在本章中,你将学习以下内容: +1. 在Macos、Linux、Windows上安装Rust以及相关工具链 +2. 搭建Vscode所需的环境 +3. 简单介绍Cargo +4. 实现一个酷炫多国语言版本的“世界,你好”的程序,并且谈谈对Rust语言的初印象 diff --git a/src/into-rust.md b/src/into-rust.md index a2e4521b..b5a550d5 100644 --- a/src/into-rust.md +++ b/src/into-rust.md @@ -90,7 +90,5 @@ Rust连续6年成为全世界最受欢迎的语言,这个就是来自于开源 - 对于一般的用户,edition的发布会告诉这些用户:Rust语言相比上次大版本发布,有了重大的改进,值得一看 - 对于Rust语言开发者,可以让他们的工作成果更快的被世人所知,不必锦衣夜行 -具体参见[附录-Rust版本发布](appendix/rust-version.md)。 - 好了,相信大家听了这么多Rust的优点,已经迫不及待想要开始学习旅程,OK,let's go. \ No newline at end of file diff --git a/src/std/intro.md b/src/std/intro.md new file mode 100644 index 00000000..f3c3082e --- /dev/null +++ b/src/std/intro.md @@ -0,0 +1 @@ +# 标准库解析 diff --git a/src/std/search.md b/src/std/search.md new file mode 100644 index 00000000..e6a503b9 --- /dev/null +++ b/src/std/search.md @@ -0,0 +1 @@ +# 寻找你想要的内容 diff --git a/writing-material/.DS_Store b/writing-material/.DS_Store index e96935b5e3dd5ad07abb97a82b7c01dacd9f1689..c8d3f4ef976c4bace7bad9d32dc00cba58092ea5 100644 GIT binary patch delta 47 zcmZoMXfc=&&8f$b%aG!klb<~KBja*b76t|ej>!p(`jhz?y*BqVR