Skip to main content
  • English
    • English
    • 简体中文
    • Deutsch
    • Polski
    • العربية
    • Nederlands
    • Français
    • Magyar
    • Italiano
    • 日本語
    • 한국어
    • Português
    • Română
    • Русский
    • Español
Home

Certificate Authentication

Rust高级开发培训 Certificate for Zhu Bing

Add to LinkedIn

Certificate ID: 
738935
Authentication Code: 
b1b72
Certified Person Name: 
Zhu Bing
Trainer Name: 
Gris Ge
Duration Days: 
3
Duration Hours: 
21
Course Name: 
Rust高级开发培训
Course Date: 
11 October 2023 09:30 to 13 October 2023 16:30
Course Outline: 

课程介绍:

Rust是一种现代系统级编程语言,以其内存安全性、并发性和性能而闻名。本课程将向学员系统讲解Rust的核心语法及重点概念,通过“理论 + 实战”的方式帮助学员对Rust有深入的理解,最终能熟练使用这门语言开发各种复杂项目。。

学时:

3天,共计21小时(每日含1小时休息)

课程安排:

第一天:

Rust语言基础

  • Rust语言概述
  • 词法结构
  • 面向表达式
  • 数据类型
  • 函数与闭包
  • 模式匹配
  • 智能指针
  • 字符与字符串
  • 集合容器
  • 迭代器
  • Rust模块
  • Cargo包管理器
  • 实际项目的组织结构
  • 定义自己的Crate

Cargo及crates.io

  • 使用发布配置来定制构建
  • 将包发布到crates.io上
  • 编写有用的文档注释
  • 使用pub use来导出合适的公共API
  • 创建crates.io账户
  • 为包添加元数据
  • 发布到crates.io
  • 发布已有包的新版本
  • 使用cargo yank命令从cargo.io上移除版本
  • Cargo工作空间
  • 创建工作空间
  • 使用cargo install从crates.io上安装可执行程序

Rust语言核心概念

  • Rust语言架构
  • 所有权:内存管理基础知识
  • 所有权:安全管理之内存安全
  • 所有权:Copy语义和Copy trait
  • 所有权:深入理解Move语义
  • 所有权:Move与析构

深入理解生命周期

  • 完全理解Scope和NLL
  • 深入理解生命周期和生命周期参数
  • 深入理解生命周期参数Early bound
  • 借用检查:深入理解生命周期参数Tvs&T
  • 深入理解生命周期参数: trait对象的生命周期参数
  • 深入理解生命周期参数:高阶生命周期

 

线程与并发

  • 理解线程与并发
  • 线程间安全共享数据
  • 构建并发系统
  • 无锁并发

第二天

trait与泛型

  • trait静态分发
  • 认识trait对象
  • 泛型和trait实现模板方法
  • trait对象本质
  • 对象安全本质
  • 利用Enum代替trait对象
  • trait覆盖实现的一个解决方案
  • trait对象与Sized
  • trait对象与Box Self
  • 编程范式:Rust语言编程范式

Rust的面向对象编程特性

  • 面向对象语言的特性
  • 对象包含数据和行为
  • 封装实现细节
  • 作为类型系统和代码共享机制的继承
  • 使用trait对象来存储不同类型的值
  • 为共有行为定义一个trait
  • 实现trait
  • trait对象会执行动态派发
  • trait对象必须保证对象安全
  • 案例:实现面向对象的设计模式

Rust错误处理概要

  • Rust错误处理:Option
  • Rust错误处理:Result
  • Rust错误处理:try
  • Rust错误处理:Panic

Rust元编程之反射

  • Rust元编程之反射的两种应用思路
  • Rust元编程之编译过程与宏展开概述

Rust元编程之声明宏

  • 三件套介绍
  • Bang宏实现原理
  • 使用配置文件动态生成代码
  • Derive宏案例
  • 属性宏

深入理解Unsafe Rust

  • Unsafe Rust安全抽象概述
  • Unsafe Rust安全抽象:Drop检查
  • Unsafe Rust安全抽象:型变
  • UnsafeRust的其他知识点

第三天

Rust异步编程基础

  • Rust异步编程之IO模型
  • epoll和io_uring
  • 事件驱动编程模型
  • epoll代码实践
  • Reactor代码实践
  • MiniMio代码实践
  • Mio代码实践
  • 异步编程模型概要
  • Future和Futures-rs介绍
  • 编写异步echo服务
  • 深入理解异步Task模型
  • Waker实现
  • Futures库源码分析
  • async-await语法
  • 生成器
  • Pin与Unpin
  • no-std异步生态介绍
  • 实现异步缓存
  • 异步运行时生态介绍
  • smol运行时
  • async-std运行时
  • tokio运行时

构建异步Web框架

  • Rust异步Web框架概述
  • Rust异步Web框架--Rocket
  • Rust异步Web框架--tide
  • Rust异步Web框架--actix-web
  • Rust异步Web框架--gotham-and-thruster
  • Rust异步Web框架--tower
  • Rust异步Web框架--hyper
  • Rust异步Web框架--warp

Web框架实战之HTTP库实战

  • Web框架实战之了解hyper-tower_http-http-body之间的层次关系
  • Web框架实战之创建初始项目
  • Web框架实战之设计框架接口
  • Web框架实战之实现路由结构
  • Web 框架实战之实现 Handler
  • Web 框架实战之添加 tracing 打印
  • Web 框架实战之实现提取器
  • Web 框架实战之实现提取器和中间件
  • Web 框架实战之错误处理支持

编写自动化测试

  • 如何编写测试
  • 测试函数的构成
  • 使用assert!宏检查结果
  • 使用assert_eq!宏和assert_ne!宏判断相等性
  • 添加自定义的错误提示信息
  • 使用should_panic检查panic
  • 使用Result<T, E>编写测试
  • 控制测试的运行方式
  • 并行或串行地进行测试
  • 显示函数输出
  • 只运行部分特定名称的测试
  • 通过显式指定来忽略某些测试
  • 测试的组织结构
  • 单元测试
  • 集成测试
Staff Login