The JetBrains Blog

100 Exercises to Learn Rust, Updated

8.5内容质量
100 Exercises to Learn Rust, Updated

TL;DR · AI 摘要

JetBrains更新Rust学习课程,包含100个练习项目,通过实际开发票务系统学习所有权、异步编程等核心概念,适合有其他语言基础的开发者。

核心要点

  • 课程通过构建票务系统项目学习Rust所有权、异步编程等概念
  • 新版本增加入门引导和10个FAQ,降低学习门槛
  • 无需环境配置,RustRover内直接打开课程练习

结构提纲

按章节快速跳转。

  1. 介绍课程通过练习而非讲解的方式教授Rust编程。

  2. 每个课程单元包含理论讲解和配套的Rust crate练习项目。

  3. 以票务管理系统为贯穿项目的主题,逐步引入高级概念。

  4. 新增入门引导、FAQ和最终整合性挑战项目。

  5. 课程直接在RustRover中打开,无需额外配置环境。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Rust学习课程更新
    • 课程结构
      • 练习驱动教学
      • 票务系统项目主题
    • 更新内容
      • 入门引导
      • FAQ模块
      • 最终整合挑战
    • 使用特点
      • RustRover内嵌课程
      • 零配置环境

金句 / Highlights

值得收藏与分享的关键句。

#Rust#编程学习#JetBrains#课程资源
打开原文

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 课程

  • 分享
  • Facebook
  • Twitter
  • LinkedIn