• Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
  • Rust项目开发实战
21年品牌 40万+商家 超1.5亿件商品

Rust项目开发实战

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

50.97 4.7折 109 全新

库存5件

江西南昌
认证卖家担保交易快速发货售后保障

作者[美] 卡洛·米兰内西 著 程晓磊 译

出版社清华大学出版社

ISBN9787302610267

出版时间2022-07

装帧平装

开本16开

定价109元

货号29444026

上书时间2024-11-02

思源汇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

本书展示一些十分有趣、实用的库和框架,Rust程序员可免费使用以构建项目,如前端和后端Web应用程序、游戏、解释器、编译器、计算机模拟器和Linux可加载的模块。
适用读者
本书适用于已学习过Rust编程语言,但渴望使用这种语言以构建可用的软件(无论是商业软件还是个人项目)。本书内容面向不同的需求,如构建Web应用程序、计算机游戏、解释器、编译器、模拟器或设备驱动程序。
本书内容
第1章描述Rust语言的发展及其生态圈工具和库。特别地,本章介绍如何使用广泛应用的一些实用程序库。
第2章讨论如何读取Rust环境中的一些常见文件格式,如TOML、JSON和XML。此外,本章还描述如何访问Rust领域内一些较为流行的数据库引擎,如SQLite、  PostgreSQL和Redis。
第3章介绍如何使用Actix框架开发REST服务,该REST服务可针对各种应用程序用作后端,特别是Web应用程序。
第4章讨论如何使用Tera模板引擎替代文本文件中的占位符,以及如何使用Actix框架创建一个全服务器端Web应用程序。
第5章考查如何使用Yew框架(该框架采用WebAssembly技术)创建Web应用程序的前端。
第6章描述如何使用quicksilver框架创建2D图形化游戏,该游戏运行于Web浏览器中(采用WebAssembly技术)或者作为一个桌面应用程序。
第7章讨论如何使用ggez框架创建2D图形化桌面游戏和微件。
第8章讨论如何使用Nom解析器组合创建正式语言的解释器,并随后构建语法检查器、解释器和编译器。
第9章介绍如何使用Nom库解析二进制数据,并解释机器语言程序,这也是构建计算机模拟器的第1个步骤。
第10章阐述如何利用Rust构建Linux可加载模块(主要关注Mint系统)。具体来说,本章构建一个字符驱动程序。
第11章讨论未来Rust生态圈的发展状况,并简要介绍的异步编程技术。



导语摘要

《Rust项目开发实战》详细阐述了与Rust语言开发相关的基本解决方案,主要包括Rust语言简介、存储和检索数据、创建REST Web服务、创建完整的服务器端Web应用程序、利用Yew创建客户端WebAssembly应用程序、利用quicksilver创建WebAssembly游戏、利用ggez创建2D桌面游戏、解释和编译所用的解析器组合器、使用Nom创建计算机模拟器、创建Linux内核模块、Rust语言的未来等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。



商品简介

《Rust项目开发实战》详细阐述了与Rust语言开发相关的基本解决方案,主要包括Rust语言简介、存储和检索数据、创建REST Web服务、创建完整的服务器端Web应用程序、利用Yew创建客户端WebAssembly应用程序、利用quicksilver创建WebAssembly游戏、利用ggez创建2D桌面游戏、解释和编译所用的解析器组合器、使用Nom创建计算机模拟器、创建Linux内核模块、Rust语言的未来等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。



目录

第1章 Rust语言简介 1
1.1 技术需求 1
1.2 了解Rust的不同版本 1
1.3 项目 4
1.4 运行本书示例 6
1.5 一些实用程序库 6
1.5.1 伪随机数生成器—rand库 6
1.5.2 日志机制—log库 7
1.5.3 在运行期初始化静态变量—lazy_static库 8
1.5.4 解析命令行—structopt库 9
1.6 本章小结 10
1.7 本章练习 10
第2章 存储和检索数据 13
2.1 技术需求 13
2.2 项目概览 14
2.3 读取TOML文件 14
2.3.1 使用toml_dynamic 15
2.3.2 使用toml_static 17
2.4 读写JSON文件 18
2.4.1 json_dynamic项目 20
2.4.2 json_static项目 21
2.5 读取XML文件 21
2.6 访问数据库 23
2.7 访问SQLite数据库 24
2.8 访问PostgreSQL数据库 27
2.9 在Redis中存储和检索数据 29
2.10 整合方案 31
2.11 本章小结 31
2.12 本章练习 32
第3章 创建REST Web服务 33
3.1 技术需求 33
3.2 REST体系结构 34
3.3 项目概览 35
3.4 背景知识和上下文环境 35
3.5 构建REST Web服务的存根程序 37
3.5.1 运行和测试服务 37
3.5.2 利用GET方法获取资源 37
3.5.3 利用PUT方法向服务发送命名资源 38
3.5.4 利用POST方法向服务器传递新资源 39
3.5.5 利用DELETE方法删除资源 39
3.5.6 发送无效的命令 40
3.5.7 实现代码 40
3.6 构建完整的Web服务 44
3.6.1 下载文件 44
3.6.2 将字符串上传至指定文件 45
3.6.3 将字符串上传至新文件中 45
3.6.4 删除一个文件 46
3.6.5 代码实现 46
3.7 构建状态服务器 49
3.7.1 有状态服务器 50
3.7.2 服务API 51
3.7.3 测试服务 52
3.7.4 实现数据库 53
3.7.5 处理查询 53
3.8 返回JSON数据 54
3.9 本章小结 55
3.10 本章练习 55
3.11 进一步阅读 56 
第4章 创建完整的服务器端Web应用程序 57
4.1 技术需求 57
4.2 Web应用程序的定义 57
4.3 了解Web应用程序的行为 58
4.4 项目概览 60
4.5 使用Tera模板引擎 61
4.6 简单的用户列表 67
4.6.1 模板文件夹 69
4.6.2 其他Rust处理程序 72
4.7 CRUD应用程序 74
4.7.1 处理JavaScript代码 76
4.7.2 HTML代码 77
4.7.3 Rust代码 78
4.8 利用身份验证处理应用程序 83
4.8.1 实现过程 85
4.8.2 HTML代码 85
4.8.3 JavaScript代码 87
4.8.4 模拟数据库代码 87
4.8.5 main函数 88
4.9 本章小结 90
4.10 本章练习 91
4.11 进一步阅读 91
第5章 利用Yew创建客户端WebAssembly 应用程序 93
5.1 技术需求 93
5.2 Wasm简介 94
5.3 理解MVC架构模式 94
5.3.1 实现两种Web应用程序 95
5.3.2 MVC模式 96
5.3.3 模型 96
5.3.4 视图 97
5.3.5 控制器 97
5.3.6 视图实现 98
5.3.7 控制器实现 98
5.3.8 理解MVC架构 99
5.4 项目简述 100
5.5 incr应用程序 100
5.6 adder应用程序 104
5.7 login应用程序 106
5.7.1 项目组织方式 107
5.7.2 db_access.rs文件 108
5.7.3 main.rs文件 109
5.7.4 login.rs文件 112
5.8 yauth应用程序 115
5.8.1 理解应用程序的行为 115
5.8.2 项目的组织方式 116
5.8.3 不可针对filtered_persons使用空集合 118
5.8.4 one_person.rs文件 122
5.9 访问RESTful服务的Web应用程序 124
5.9.1 persons_db应用程序 125
5.9.2 yclient应用程序 126
5.10 本章小结 131
5.11 本章练习 132
5.12 进一步阅读 132
第6章 利用quicksilver创建WebAssembly游戏 135
6.1 技术需求 135
6.2 项目简介 136
6.3 理解动画循环架构 136
6.4 实现ski项目 139
6.5 实现silent_slalom项目 144
6.6 实现assets_slalom项目 152
6.7 本章小结 157
6.8 本章练习 157
6.9 进一步阅读 157
第7章 利用ggez创建2D桌面游戏 159
7.1 技术需求 159
7.2 项目简介 160
7.3 了解线性代数 160
7.4 实现gg_ski项目 162
7.4.1 main函数 163
7.4.2 输入处理的模式 164
7.4.3 gg_ski项目中的输入处理 166
7.4.4 quicksilver的其他差别 167
7.5 实现gg_silent_slalom项目 172
7.6 实现gg_assets_slalom项目 174
7.7 实现gg_whac项目 175
7.7.1 资源数据 177
7.7.2 应用程序和事件的通用结构 178
7.7.3 模型的其他字段 179
7.7.4 定义一个微件 180
7.8 本章小结 182
7.9 本章练习 182
7.10 进一步阅读 182
第8章 解释和编译所用的解析器组合器 183
8.1 技术需求 183
8.2 项目简介 184
8.3 包含Calc 184
8.4 理解形式语言及其解析器 187
8.4.1 正则语言 188
8.4.2 上下文无关语言 189
8.4.3 上下文相关语言 189
8.5 使用Nom构建解析器 190
8.5.1 编译器-编译器和解析器组合器 191
8.5.2 Nom库的基本知识 191
8.6 calc_parser项目 199
8.6.1 理解main.rs源文件 201
8.6.2 parser.rs源文件 202
8.7 calc_analyzer项目 209
8.7.1 检查解析后的程序的变量 209
8.7.2 main.rs文件 212
8.7.3 symbol_table.rs文件 212
8.7.4 analyzer.rs文件 213
8.8 calc_interpreter项目 218
8.8.1 main.rs文件 219
8.8.2 symbol_table.rs文件 220
8.8.3 executor.rs文件 221
8.9 calc_compiler项目 223
8.9.1 main.rs文件 224
8.9.2 compiler.rs文件 225
8.10 本章小结 227
8.11 本章练习 228
8.12 进一步阅读 228
第9章 使用Nom创建计算机模拟器 229
9.1 技术需求 229
9.2 项目简介 230
9.3 简单的机器语言 230
9.3.1 与机器语言相关的主要概念 231
9.3.2 扩展机器语言 235
9.3.3 编写简单的程序 236
9.3.4 Eratosthenes筛法 244
9.4 定义字节寻址的机器语言 246
9.5 nom_byte_machine项目 248
9.5.1 main.rs源文件 250
9.5.2 使用Nom库 252
9.5.3 emulator.rs源文件 255
9.5.4 parsing_interpreter.rs源文件 258
9.5.5 translator.rs源文件 260
9.6 nom_disassembler项目 261
9.6.1 运行项目 262
9.6.2 查看源代码 263
9.6.3 生成供调试使用的反汇编代码 264
9.6.4 生成反汇编代码以重组 266
9.7 本章小结 267
9.8 本章练习 267
第10章 创建Linux内核模块 269
10.1 技术需求 269
10.2 项目简介 270
10.3 理解内核模块 270
10.4 boilerplate模块 272
10.4.1 构建和运行内核模块 273
10.4.2 构建命令 274
10.4.3 样板模块的源代码 276
10.5 使用全局变量 278
10.6 分配内存 279
10.7 字符设备 281
10.7.1 构建字符设备 281
10.7.2 dots模块的源代码 283
10.8 本章小结 288
10.9 本章练习 289
10.10 进一步阅读 289
第11章 Rust语言的未来 291
11.1 IDE和交互式编程 291
11.2 库成熟度 292
11.3 异步编程 293
11.4 优化操作 298
11.5 常量泛型特性 299
11.6 嵌入式系统 300
11.7 本章小结 301
练习答案 303



内容摘要

《Rust项目开发实战》详细阐述了与Rust语言开发相关的基本解决方案,主要包括Rust语言简介、存储和检索数据、创建REST Web服务、创建完整的服务器端Web应用程序、利用Yew创建客户端WebAssembly应用程序、利用quicksilver创建WebAssembly游戏、利用ggez创建2D桌面游戏、解释和编译所用的解析器组合器、使用Nom创建计算机模拟器、创建Linux内核模块、Rust语言的未来等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。



主编推荐

《Rust项目开发实战》理论结合项目实战,展示一些十分有趣、实用的库和框架,Rust程序员可免费使用以构建项目,如前端和后端Web应用程序、游戏、解释器、编译器、计算机模拟器和Linux可加载的模块。



   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP