收藏

轻松实现Rust系统入门,实战编译器开发

通过平缓的学习曲线,攻克Rust核心重难点+高匹配度项目

轻松实现Rust系统入门,实战编译器开发

¥268.00
已完结 难度 初级 时长 12小时 学习人数 439 综合评分 9.96
  • 第1章 课程介绍与学习指南 2 节 | 10分钟

    本章作为课程内容引入,主要介绍课程所涉及的技术及实战项目,课程的学习方法以及课程内容具体安排,希望大家都能通过这门课程,学有所成,学有所归。

    收起列表

    • 图文: 1-1 课前必读((不看会错过一个亿))
    • 视频: 1-2 课程导学 (09:20) 试看
  • 第2章 Rust的开发环境与工具 4 节 | 6分钟

    本章主要带领学员完成Rust环境安装,使用Cargo第三方编译器编写第一个Rust程序,并提供扩展阅读—代码自动补全原理,让学员掌握编译器是如何将代码做自动补全的。

    收起列表

    • 图文: 2-1 环境安装指导文档
    • 图文: 2-2 LSP
    • 视频: 2-3 Hello_World (05:58)
    • 作业: 2-4 作业: 试着玩一下 Cargo!
  • 第3章 Rust基本数据类型 14 节 | 75分钟

    本章主要介绍的是 Rust 的基础数据类型,对Rust中整体类型系统进行概述,介绍变量及其可变性,Rust中的基本数据类型分类,提供作业—求两数平均数对变量进行综合运用,进一步讲解Rust中元组、数组、结构体、枚举、注释等相关基础知识点,以及不同类型之间进行数据类型的转换。...

    收起列表

    • 图文: 3-1 本章导学
    • 视频: 3-2 类型系统概述 (06:11) 试看
    • 视频: 3-3 变量和可变性 (11:16)
    • 视频: 3-4 基础数据类型 (05:49)
    • 作业: 3-5 作业: 求两个无符号数的平均数
    • 视频: 3-6 整数溢出 (10:15)
    • 视频: 3-7 元组 (04:46)
    • 视频: 3-8 数组 (07:18)
    • 视频: 3-9 切片类型 (07:14)
    • 视频: 3-10 结构体 (08:50)
    • 视频: 3-11 枚举 (04:44)
    • 图文: 3-12 各种注释类型
    • 图文: 3-13 println函数
    • 视频: 3-14 在不同类型之间转换 (07:53)
  • 第4章 Rust流程控制 15 节 | 70分钟

    本章将讲解Rust中的选择语句和循环语句来控制语句的执行顺序,以及Rust中的函数,各种类型函数的区别,通过经典实战-猜数字游戏对本章内容进行综合运用,充分掌握Rust中函数的使用。

    收起列表

    • 图文: 4-1 本章导学
    • 视频: 4-2 表达式的多种形式 (05:21)
    • 视频: 4-3 if_else选择结构 (04:43)
    • 视频: 4-4 使用loop循环 (05:13)
    • 视频: 4-5 使用while循环 (03:16)
    • 视频: 4-6 使用for_range进行迭代 (06:03)
    • 视频: 4-7 Rust中的match (05:46)
    • 视频: 4-8 if_let语法糖 (05:29)
    • 视频: 4-9 while_let语法糖 (02:13)
    • 视频: 4-10 函数与方法 (07:17)
    • 视频: 4-11 函数与闭包 (04:18)
    • 图文: 4-12 作业: 斐波那契数列
    • 视频: 4-13 高阶函数 (06:55)
    • 视频: 4-14 发散函数 (03:29)
    • 视频: 4-15 实践:猜数字游戏 (09:23)
  • 第5章 Rust中使用模块组织代码 8 节 | 37分钟

    本章将介绍Rust中如何使用模块在文件和文件夹中组织代码,以及模块成员的可见性,如何在crates.io上发布你的代码。

    收起列表

    • 图文: 5-1 本章导学
    • 视频: 5-2 Rust中的模块化编程 (08:29) 试看
    • 视频: 5-3 使用pub改变可见性 (07:26)
    • 视频: 5-4 结构体的可见性 (06:32)
    • 视频: 5-5 使用use绑定模块成员 (04:19)
    • 视频: 5-6 使用super与self简化模块路径 (03:55)
    • 作业: 5-7 本章作业
    • 视频: 5-8 项目目录层次结构 (05:27)
  • 第6章 Rust中的泛型 6 节 | 37分钟

    本章将讲解Rust中的泛型使用,使用泛型作为函数类型参数,使用泛型作为结构体成员类型,以及Traits定义共享行为与特征绑定。

    收起列表

    • 图文: 6-1 本章导学
    • 视频: 6-2 泛型作为函数参数的类型(加片头) (08:06)
    • 视频: 6-3 结构体中的泛型 (06:41)
    • 视频: 6-4 结构体泛型的实现 (08:07)
    • 视频: 6-5 使用traits定义共同的行为 (07:39)
    • 视频: 6-6 自动派生 (06:16)
  • 第7章 Rust中的作用域及作用域的规则 5 节 | 30分钟

    本章中将对Rust中的所有权问题进行讲解,及所有权之间的相关特性,包括:借用/切片,以及Rust中是如何在内存中进行数据布局的。

    收起列表

    • 图文: 7-1 本章导学
    • 视频: 7-2 Rust中的所有权 (12:39)
    • 视频: 7-3 Rust中的借用 (07:41)
    • 图文: 7-4 生命周期
    • 视频: 7-5 生命周期注解 (08:52)
  • 第8章 Rust中的错误处理机制 4 节 | 32分钟

    本章将讲解Rust中使用两种语法来实现可恢复错误和不可恢复错误的处理,分别是Result<T,E>和panic!,前者是一个泛型枚举,后者为一个宏,通过本章可以让学员充分掌握Rust中的错误处理的机制。

    收起列表

    • 图文: 8-1 本章导学
    • 视频: 8-2 不可恢复的错误 (11:18)
    • 视频: 8-3 可恢复的错误 (06:47)
    • 视频: 8-4 自定义错误与问号表达式 (13:38)
  • 第9章 Rust标准库 7 节 | 75分钟

    在 Rust 标注库中存在一些十分有用的数据类型, 在本章中我们就将学习这些类型. Box: 智能指针, Rc: 引用计数, Vec: 可自由伸缩的向量结构,HashMap: 可自由伸缩的 K/V 结构,String: Rust 中的多种字符串,SystemTime: 系统时间

    收起列表

    • 图文: 9-1 本章导学
    • 视频: 9-2 Rust中的智能指针Box (16:25)
    • 视频: 9-3 Rust中的引用计数Rc (08:29)
    • 视频: 9-4 Rust中的Vector动态数组 (12:17)
    • 视频: 9-5 Rust中的HashMap (10:21)
    • 视频: 9-6 Rust 中的多种字符串String (13:11)
    • 视频: 9-7 Rust中的系统时间SystemTime (13:57)
  • 第10章 Brainfuck解释器 7 节 | 64分钟

    本章将使用Rust实现一门简单编程语言:Brainfuck与它的解释器,对Brainfuck中的语法进行解析,Brainfuck Opcode的定义,讲解Brainfuck是如何进行解释执行的,最后进行Brainfuck进行测试。

    收起列表

    • 图文: 10-1 本章导学
    • 视频: 10-2 brainfuck语法解析 (06:46)
    • 视频: 10-3 brainfuck opcode 定义 (15:03)
    • 视频: 10-4 brainfuck 解释器实现 (12:27)
    • 视频: 10-5 测试 (05:45)
    • 视频: 10-6 使用中间表示(一) (16:16)
    • 视频: 10-7 使用中间表示(二) (06:49)
  • 第11章 实现Brainfuck的JIT编译器 6 节 | 59分钟

    本章是本课程的最后一章,且难度较大,并且不再局限于Rust,将实现Brainfuck的JIT编译器,了解一些简单的汇编代码,学习Rust中的dynasm库,为Brainfuck解释器实现JIT编译器。

    收起列表

    • 图文: 11-1 本章导学
    • 视频: 11-2 x64汇编简介(一) (11:51)
    • 视频: 11-3 x64汇编简介(二) (09:45)
    • 视频: 11-4 什么是JIT (15:37)
    • 视频: 11-5 dynasm介绍 (10:44)
    • 视频: 11-6 实现BrainfuckJIT (10:16)
  • 第12章 Rust 的网络和多线程编程 4 节 | 60分钟

    本章节介绍 Rust 的网络和多线程编程, 并带领大家实际完成 SOCKS5 网络协议的简单实现

    收起列表

    • 视频: 12-1 项目演示 (05:39)
    • 视频: 12-2 什么是代理 (16:20)
    • 视频: 12-3 socks5proxy(一) (16:12)
    • 视频: 12-4 socks5proxy(二) (20:58)
  • 第13章 课程总结 1 节 | 8分钟

    课程总结

    收起列表

    • 视频: 13-1 Rust课程总结 (07:45)
本课程已完结

试看

全部试看小节



讲师

叶枭 Linux系统工程师

具有十多年经验的高度专注的软件工程师, 使用各种技术在多种开发和工程职位中. 在业余时间, 我喜欢探索老旧的技术, 从纸带程序开始, 第一枚商用处理器到最古老的游戏机. 从前人的智慧中获取灵感, 并指导如今的程序开发. 这是一个有趣的体验, 因为你能学到许多极端的改善性能的方案.

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题