100 Exercises to Learn Rust, Updated

TL;DR · AI 摘要
JetBrains更新Rust学习课程,包含100个练习项目,通过实际开发票务系统学习所有权、异步编程等核心概念,适合有其他语言基础的开发者。
核心要点
- 课程通过构建票务系统项目学习Rust所有权、异步编程等概念
- 新版本增加入门引导和10个FAQ,降低学习门槛
- 无需环境配置,RustRover内直接打开课程练习
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Rust学习课程更新
- 课程结构
- 练习驱动教学
- 票务系统项目主题
- 更新内容
- 入门引导
- FAQ模块
- 最终整合挑战
- 使用特点
- RustRover内嵌课程
- 零配置环境
金句 / Highlights
值得收藏与分享的关键句。
课程采用'练习驱动'模式,每个单元包含可运行的测试套件
最终挑战整合前八章内容,要求独立完成完整项目实现
新版本增加IDE快速配置教程,缩短入门时间至2分钟
100 Exercises To Learn Rust, Updated | RustRover
RustRover
专注核心
关注
- 关注:
- X X
下载
学习课程
RustRover
100 Exercises to Learn Rust, Updated
Daria Kolodzey
《100 Exercises to Learn Rust》是我们对Mainmatter同名课程的改编,该课程由Mainmatter首席工程顾问Luca Palmieri编写。自我们一年前发布该课程以来,它刚刚迎来了最大规模的更新。Palmieri自2018年起就开始使用Rust,最初在TrueLayer工作,随后在AWS任职,他撰写了《Zero to Production in Rust》。Mainmatter也直接提供该课程内容,以讲师指导的工作坊形式面向团队授课。我们的版本是JetBrains Academy课程,可在RustRover中直接打开。该课程免费提供,RustRover用于非商业用途也免费。
获取课程
在以下章节中,我们将介绍课程内容、本次更新的改动、课程的"快速通道"学习路径,以及如何在整个学习过程中充分利用AI辅助功能。
课程内容概述
该课程通过练习而非讲解的方式教授Rust。每节课包含简短的理论说明,随后是一个附带测试套件的真实Rust crate。大多数课程从todo!()开始,要求你完成代码填充。
大部分练习共享相同主题:票务管理系统。它从包含标题、描述和状态的结构体开始,最终通过异步REST API向多个线程分发票务。项目需求驱动概念的引入,例如验证可能失败时使用Result和enum处理错误,根据ID查找票务时使用HashMap,当多个客户端同时访问存储时使用Arc和Mutex。如果某个重要概念与票务管理系统主题不符,就会通过适当的独立练习进行介绍。
课程假设你至少精通另一种编程语言,但不要求系统编程背景或手动内存管理经验。八章内容涵盖所有权与借用、特征、枚举与模式匹配、错误处理、集合与迭代器、生命周期、线程与通道以及未来。课程最终以一个综合挑战结束,通过一个全面的练习测试你对前八章内容的掌握程度,此时理论讲解将让位于实践。
我们的改编版消除了环境配置。无需克隆代码库,无需切换分支,也无需安装工作坊运行器。你只需在RustRover中打开课程,第一个任务已就绪,附带测试用例和直接运行按钮。
本次更新新增内容
全新重构的入门介绍。课程现在以五个简短课节开启:你将构建的内容、界面快速浏览、两分钟IDE配置、常见问题解答,然后是你的第一个Rust代码。在开始编写代码前,你将清楚了解即将面对的内容。
包含十个答案的FAQ。部分问题直接来自学员,其他则是我们建议的另一种表达方式。
最终挑战。课程所有内容最终汇聚成一个项目:票务管理系统。课程结束时,你的最终挑战是将其改造成异步REST API。你将编辑Cargo.toml文件并自行选择依赖项。这是课程中唯一需要你使用真实crate进行设计的部分,方式与实际工作中几乎完全一致。
一个 requests.http 文件用于指定 API。它会发送服务器需要处理的请求,并说明预期的响应。你可以在编辑器中直接运行该文件,对本地服务器进行测试。它验证的是 API 的行为,而非你的 Rust 代码,因此所有实现细节都由你决定,但你仍能判断其是否正常工作。任务描述中还包含一系列提示,从轻微提示到完整解释不等,你可以根据需要选择使用其中的部分或全部。
所有测试内容均可查看。每个任务都会展示用于验证答案的断言,因此你可以明确知道预期结果,而无需猜测。
对 dev 和 release 配置文件进行实验。在算术章节中,你会在 dev 和 release 两种 Cargo 配置文件下分别编译相同溢出代码,并观察行为变化。使用 dev 配置文件构建时,程序会在溢出时触发 panic;而使用 release 配置文件构建时,程序会静默溢出。大多数课程仅用一句话描述这一现象,但在这里你可以亲眼看到这一过程。
时间紧迫?直接从结尾开始
你无需按顺序从头到尾学习(FAQ 中也明确指出这一点)。如果你之前编写过 Rust,或者更倾向于直接挑战一个完整项目而非逐一完成上百个小练习,可以直接跳到最后一个挑战。
最终挑战将整合课程所有内容:票务模型、枚举与错误处理、集合操作、共享状态与锁机制,以及异步章节的全部内容。在构建 API 的过程中,你会迅速发现需要复习的具体领域,因为理解上的空白会逐渐显现。你可以带着具体问题回到课程对应部分,从而更深入地掌握这些内容。
这也是最快了解 RustRover 在实际项目中使用方式的方法。
如何充分利用 AI
你可以通过内置的聊天功能轻松访问 AI。建议将 AI 用于解释而非要求其为你编写代码。养成两个好习惯:始终明确指示不要修改你的代码。当编译器拒绝你的代码时,将错误信息粘贴到 AI 聊天窗口,要求其逐步解释问题所在,而非直接请求修复方案。
然而在学习课程期间,应关闭 AI 代码补全功能。练习内容简短且在训练数据中已有充分覆盖,补全工具往往在你阅读任务前就自动完成代码。这违背了设置这些练习的初衷:目的是让你遇到困难并自行解决问题。《设置你的 IDE》课程会教你如何关闭 AI 代码补全功能。
入门指南
本课程免费,RustRover 非商业用途免费,无需任何克隆操作。
- 下载并安装 RustRover。如果你尚未安装 Rust 工具链,IDE 会为你自动下载安装。
- 启用教育功能。在欢迎界面切换到 Learn 标签页,找到 Learn to program 控件并点击 Enable Access。这将安装并激活 JetBrains Academy 插件。
- 选择课程。在 Learn 标签页点击 Get Started,选择 100 Exercises to Learn Rust。安装完 JetBrains Academy 插件后,可通过 File | Learn and Teach | Browse Courses 查看所有课程。
下载 RustRover
该适配是开源的,如果您觉得某些地方有问题,请告知我们。欢迎在 GitHub 上提交问题或拉取请求。
JetBrains Academy
学习 Rust
插件
Rust 课程
- 分享