diff --git a/src/async/getting-started.md b/src/async/getting-started.md index 8dcc0317..9e1447d5 100644 --- a/src/async/getting-started.md +++ b/src/async/getting-started.md @@ -7,7 +7,7 @@ 上图并不能说 Rust 写的 `actix` 框架比 Go 的 `gin` 更好、更优秀,但是确实可以一定程度上说明 Rust 的异步性能非常的高! -简单来说,异步编程是一个[并发编程模型](https://course.rs/advance/concurrency-with-threads/concurrency-parallelism.html),目前主流语言基本都支持了,当然,支持的方式有所不同。异步编程允许我们同时并发运行大量的任务,却仅仅需要几个甚至一个OS线程或CPU核心,现代化的异步编程在使用体验上跟同步编程也几无区别,例如 Go 语言的 `go` 关键字,也包括我们后面将介绍的 `async/await` 语法,该语法是 `Javascript` 和 `Rust` 的核心特性之一。 +简单来说,异步编程是一个[并发编程模型](https://course.rs/advance/concurrency-with-threads/concurrency-parallelism.html),目前主流语言基本都支持了,当然,支持的方式有所不同。异步编程允许我们同时并发运行大量的任务,却仅仅需要几个甚至一个OS线程或CPU核心,现代化的异步编程在使用体验上跟同步编程也几无区别,例如 Go 语言的 `go` 关键字,也包括我们后面将介绍的 `async/await` 语法,该语法是 `JavaScript` 和 `Rust` 的核心特性之一。 ## async简介 `async` 是 Rust 选择的异步编程模型,下面我们来介绍下它的优缺点,以及何时适合使用。 diff --git a/src/basic/base-type/index.md b/src/basic/base-type/index.md index d07f2d36..48c49a65 100644 --- a/src/basic/base-type/index.md +++ b/src/basic/base-type/index.md @@ -12,7 +12,7 @@ Rust 每个值都有其确切的数据类型,总的来说可以分为两类: ## 类型推导与标注 -与 Python、Javascript 等动态语言不同,Rust 是一门静态类型语言,也就是编译器必须在编译期知道我们所有变量的类型,但这不意味着你需要为每个变量指定类型,因为 **Rust 编译器很聪明,它可以根据变量的值和上下文中的使用方式来自动推导出变量的类型**,同时编译器也不够聪明,在某些情况下,它无法推导出变量类型,需要手动去给予一个类型标注,关于这一点在 [Rust 语言初印象](https://course.rs/first-try/hello-world.html#rust-语言初印象)中有过展示。 +与 Python、JavaScript 等动态语言不同,Rust 是一门静态类型语言,也就是编译器必须在编译期知道我们所有变量的类型,但这不意味着你需要为每个变量指定类型,因为 **Rust 编译器很聪明,它可以根据变量的值和上下文中的使用方式来自动推导出变量的类型**,同时编译器也不够聪明,在某些情况下,它无法推导出变量类型,需要手动去给予一个类型标注,关于这一点在 [Rust 语言初印象](https://course.rs/first-try/hello-world.html#rust-语言初印象)中有过展示。 来看段代码: ```rust diff --git a/src/cargo/guide/cargo-toml-lock.md b/src/cargo/guide/cargo-toml-lock.md index 8bea6f45..5c275a97 100644 --- a/src/cargo/guide/cargo-toml-lock.md +++ b/src/cargo/guide/cargo-toml-lock.md @@ -4,7 +4,7 @@ - 前者从用户的角度出发来描述项目信息和依赖管理,因此它是由用户来编写 - 后者包含了依赖的精确描述信息,它是由 `Cargo` 自行维护,因此不要去手动修改 -它们的关系跟 `package.json` 和 `package-lock.json` 非常相似,从 Javascript 过来的同学应该会比较好理解。 +它们的关系跟 `package.json` 和 `package-lock.json` 非常相似,从 JavaScript 过来的同学应该会比较好理解。 ## 是否上传本地的 `Cargo.lock` 当本地开发时,`Cargo.lock` 自然是非常重要的,但是当你要把项目上传到 `Git` 时,例如 `Github`,那是否上传 `Cargo.lock` 就成了一个问题。 diff --git a/src/usecases/aws-rust.md b/src/usecases/aws-rust.md index 51f9aaf3..89d454af 100644 --- a/src/usecases/aws-rust.md +++ b/src/usecases/aws-rust.md @@ -60,7 +60,7 @@ Rust 是一门完全开源的语言,在 2015 年发布了 1.0 版本,但是 *https://medium.com/tenable-techblog/optimizing-700-cpus-away-with-rust-dc7a000dbdb2* -Tenable 是一家网络安全解决方案提供商,它提供了一套可视化工具,并通过一个 `sidecar agent` 来过滤采集到的指标数据。最开始,该公司使用 Javascript 作为主要语言,当业务开始快速增长时,性能降级的问题就不可避免的发生了。 +Tenable 是一家网络安全解决方案提供商,它提供了一套可视化工具,并通过一个 `sidecar agent` 来过滤采集到的指标数据。最开始,该公司使用 JavaScript 作为主要语言,当业务开始快速增长时,性能降级的问题就不可避免的发生了。 因此,在经过一系列调研后,`Tenable` 最终决定使用 Rust 来重写该服务,以获取更好的性能和安全性。最终结果也没有让他们失望,在延迟方面获得了 50% 的提升,如上图所示。