Merge pull request #318 from spartucus/master

refactor some translations
This commit is contained in:
KaiserY 2019-06-19 18:35:44 +08:00 committed by GitHub
commit f2d1e9385b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View File

@ -30,15 +30,15 @@ Rust 也为系统编程世界带来了现代化的开发工具:
### 学生
Rust 适用于学生和任何对学习操作系统概念感兴趣的人。通过 Rust很多人已经了解了像操作系统开发这样的主题。社区非常欢迎并乐于解答学生们的问题。通过类似于本书这样的努力Rust 团队希望更多人了解操作系统的概念,特别是编程新手。
Rust 适用于学生和有兴趣学习系统概念的人。通过 Rust很多人已经了解了操作系统开发等主题。社区非常欢迎和乐于解答学生们的问题。通过本书的努力Rust 团队希望系统概念能被更多人了解,特别是编程新手。
### 公司
数以百计的公司,无论规模大小,正将 Rust 用于生产环境中的多种任务。这些任务包括命令行工具、web 服务、DevOps 工具、嵌入式设备、音视频分析与转码、数字货币cryptocurrencies、生物信息学bioinformatics、搜索引擎、物联网internet of things, IOT程序、机器学习甚至还包括 Firefox 浏览器的大部分内容。
数以百计的公司,无论规模大小,都在生产中使用Rust来完成各种任务。这些任务包括命令行工具、web 服务、DevOps 工具、嵌入式设备、音视频分析与转码、加密货币cryptocurrencies、生物信息学bioinformatics、搜索引擎、物联网internet of things, IOT程序、机器学习甚至还包括 Firefox 浏览器的大部分内容。
### 开源开发者
Rust 适用于希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们期望你为 Rust 语言做贡献。
Rust 适用于希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们很乐意您为 Rust 语言做贡献。
### 重视速度和稳定性的开发者
@ -68,7 +68,7 @@ Rust 语言也希望能支持很多其他用户,这里提及的只是最大的
第十六章会学习不同的并发编程模型,并讨论 Rust 如何助你无畏的编写多线程程序。第十七章着眼于比较 Rust 风格与你可能熟悉的面向对象编程原则。
第十八章是一个模式与模式匹配的参考章节,他们是在整个 Rust 程序中表达意图的强大方式。第十九章是一个高级主题大杂烩,包括 unsafe Rust、宏和更多关于生命周期、 trait、类型、函数和闭包的内容。
第十八章是关于模式和模式匹配的参考章节它是在Rust程序中表达思想的有效方式。第十九章是一个高级主题大杂烩,包括 unsafe Rust、宏和更多关于生命周期、 trait、类型、函数和闭包的内容。
第二十章将会完成一个项目,我们会实现一个底层的、多线程的 web server

View File

@ -142,7 +142,7 @@ message-body
请求行接下来的部分是 */*,它代表客户端请求的 **统一资源标识符***Uniform Resource Identifier**URI* —— URI 大体上类似,但也不完全类似于 URL**统一资源定位符***Uniform Resource Locators*。URI 和 URL 之间的区别对于本章的目的来说并不重要,不过 HTTP 规范使用术语 URI所以这里可以简单的将 URL 理解为 URI。
最后,是客户端使用的 HTTP 版本,接着请求行以一个 **CRLF 序列**CRLF 是**回车***carriage return* 和 **换行***line feed* 的缩写这些术语来自打字机时代结尾。结尾。CRLF 序列也可以写作 `\r\n``\r` 是回车而 `\n` 是换行。CRLF 序列将请求行与其余的请求数据分开。注意当 CRLF 被打印时,会看到开始了一个新行而不是 `\r\n`。
最后一部分是客户端使用的HTTP版本然后请求行以 **CRLF序列** CRLF代表回车和换行*carriage return line feed*这是打字机时代的术语结束。CRLF序列也可以写成`\r\n`,其中`\r`是回车符,`\n`是换行符。 CRLF序列将请求行与其余请求数据分开。 请注意打印CRLF时我们会看到一个新行而不是`\r\n`。
观察目前运行程序所接收到的数据的请求行,可以看到 `GET` 是 method*/* 是请求 URI`HTTP/1.1` 是版本。

View File

@ -45,9 +45,9 @@ fn handle_connection(mut stream: TcpStream) {
这段代码有些凌乱,不过对于模拟的目的来说已经足够。这里创建了第二个请求 `sleep`,我们会识别其数据。在 `if` 块之后增加了一个 `else if` 来检查 */sleep* 请求,当接收到这个请求时,在渲染成功 HTML 页面之前会先休眠五秒。
现在就可以真切的看出我们的 server 有多么的原始真实的库将会以更简洁的方式处理多请求识别问题!
现在就可以真切的看出我们的 server 有多么的原始真实的库将会以更简洁的方式处理多请求识别问题!
使用 `cargo run` 启动 server并接着打开两个浏览器窗口一个请求 *http://127.0.0.1:7878/* 而另一个请求 *http://127.0.0.1:7878/sleep*。如果像之前一样多次请求 */*,会发现响应的比较快速。不过如果请求 */sleep* 之后在请求 */*,就会看到 */* 会等待直到 `sleep` 休眠完五秒之后才出现。
使用 `cargo run` 启动 server并接着打开两个浏览器窗口一个请求 *http://127.0.0.1:7878/* 而另一个请求 *http://127.0.0.1:7878/sleep* 。如果像之前一样多次请求 */*,会发现响应的比较快速。不过如果请求 */sleep* 之后在请求 */*,就会看到 */* 会等待直到 `sleep` 休眠完五秒之后才出现。
这里有多种办法来改变我们的 web server 使其避免所有请求都排在慢请求之后;我们将要实现的一个便是线程池。