大家好,今天自荐一下我和极客时间合作的这门视频课程:《张汉东的Rust实战课》。
其实我不太想自荐。
第一个原因,这门课程目前还在更新中。我本来是打算全部更新完再做宣传的。
第二个原因,自己推荐自己的课程,有种王婆卖瓜的嫌疑。
但仔细一想,这门毕竟是自己辛苦付出的一门课程,做这门课程的初衷不也是为了让别人看吗?
虽然也有很多人课程的学习者帮我宣传,但自己做的课程,只有自己更了解它。
所以今天就来宣传了!
【广告时间】 新人首单仅 ¥69.9,原价 ¥199, 3 折入手,非常划算。
入手链接(阅读原文可跳转):http://gk.link/a/10tis
引子
2020年大概四月份,极客时间邀请我出一门 Rust 视频课程。
我当时是拒绝的。
写书很累,但视频课程我之前也录过,比写书累太多了。
为了保证视频效果,极客时间的视频课程需要去极客时间公司专业录音棚里录。这就意味着,我去极客时间公司光交通来回就得四小时。
但我考虑以后还是答应了,有几点原因:
弥补我写书的一些遗憾。 《Rust 编程之道》在出版的时候,官方异步编程并没有稳定,所以书中异步内容有点过期。 对 Rust 语言重新进行一遍系统梳理,这是我自己的再一次输出,反思《Rust 编程之道》的内容。再一次输出,是对自己的一次洗礼。 多了创收机会。我其实严格来说,属于自由职业者。并没有固定的工资可拿,所以创收对我也是重要的。 尝试一下新兴的知识付费。因为极客时间的课程模式,是边更新边销售,和传统的出版还是比较有区别的。
所以,综合考虑,我就答应了。
这门课程特色是什么?
课程定位
对于视频课程,最初我其实并没有什么存货。合作之初,我只确定了大纲。
大纲的作用,一方面是为了估算课程的章节数,另一方面是定位课程内容。
这是最初的定位:
这样的课程结构,是出于我对 Rust 的认识,以及自己的学习经验来组织的。
Rust 语言是一门必须先对概念有一定了解才能上手的语言。因为编译器静态检查是语言的一部分。 我认为所谓实战,是对概念的验证和反馈。所以,先得有概念模型,再去实战,效果是比较好的。 我的学习经验是:先掌握语法,再结合语言的设计哲学去了解语法背后的概念,再将其应用起来。
所以,课程会分为上面两大部分。
并且这门课程我是假设学习者都对 Rust 语法有了一定的了解,配合进阶的。因为我考虑到现在市面上不管是免费还是收费,都已经有很好的 Rust 入门学习资料了,掌握 Rust 语法应该不难。
这门课程定位其实和《Rust 编程之道》相似,只不过内容侧重不同。书本侧重于全面了解 Rust ,视频课程则侧重于 Rust 异步编程。
课程章节介绍 (副标题:Rust 该如何学习)
最初的课程我是分为七章的。但经过实际几个月的录制,这门课程已经成功成为了极客时间更新最慢的课程 (捂脸)。
一方面是我并不是全职做这门课程,另一方面是课程内容真的有点多。
当然慢有慢的好处,我终于拖到了 Rust 异步编程生态已经趋于稳定,这样相关代码基本三五年内不会过期。
所以,现在的计划将后三章合并成一章了,一共四大章。目前基本已经录制完前三章。
下面介绍下各个章节特色。
第一章 :梳理语法知识
第一章之所以这么设计,一方面是为了让学习者们都能达到一个统一的基础水平。
这也是我的学习习惯的一种呈现:学习分阶段和层次。这一阶段,要求学习者必须对 Rust 语法能分门别类的建立一个初始体系。
经过分类,建立对 Rust 语法体系的一个基本模型。然后去学习语法背后的东西,这样一层一层递进学习。
这一章的课程内容就是为了帮你查漏补缺,甚至教你如何阅读 Rust 文档。
下图是已上新目录:
第二章:掌握 Rust 概念核心
在语法梳理的差不多之后,就需要集中理解 Rust 的核心概念了。
Rust 的核心概念包括:
所有权机制。 借用以及生命周期。 线程安全机制 trait 和 泛型 错误处理 Rust 元编程机制 Unsafe Rust
以上,是我认为掌握 Rust 必须要学习的核心概念。而且这一章内容,也是讲解的比较深入,比《Rust 编程之道》深入和细致。
下图是本章已更新目录:
第三章:异步编程基础
在掌握完核心概念之后,就准备进入实践吧。
Rust 是一门通用的系统编程语言,你可以用它开发命令行工具,开发数据库,开发操作系统,也可以用它开发网络服务和 Web 应用,云服务等等。所以选择一个实践的方向比较好。
这门课程选择的是 Web 开发方向。
Rust 的一个特色是线程安全,默认消除数据竞争,这样就充分地利用多线程并发编程。
但是要应对 I/O 密集的高并发场景,只有多线程是远远不够的。所以 Rust 增加了语言级的异步编程支持,这是系统语言出现以来首个语言级异步支持。
Rust 语言的异步编程支持无疑是 Rust 语言的亮点,也是 Rust 语言的杀手锏之一。
Rust 异步编程和其他语言的异步编程有什么区别呢?
Rust 异步编程是如何实现的?
Rust 异步运行时到底什么?为什么没有出现在标准库里?为什么会有那么多异步运行时?
Rust 异步运行时工作机制是什么?不同运行时有什么区别?
这些问题基本在本章都会有所解答。
这一章的内容组织是自底向上的:
「异步 I/O -> Mio -> Reactor 模型 -> 异步 executor -> 异步 task 抽象 -> future 异步编程模型 -> async/await 语法」
因为我认为,掌握异步编程就得掌握上面这些关键环节,知识也是这样一层一层构建完整的。
每个环节都会有概念和实例代码,课程也会带你阅读 smol / async-std/ tokio 的关键源码,帮你充分理解概念。
下图是本章已更新目录(本章还未全部更新完毕):
第四章:实现 异步 Web 框架
本章原本是包含三章内容,现在将其合并为一章。
这一章内容带你从零开始构建一个异步 Web 框架。目前这一章内容正准备开始更新。
这一章内容目前还没有详细的节数,但内容会包括以下几个方面
比较市面上的 异步 Web 框架的架构区别:Rocket/ Active-web/ Wrap 等。 探索如何设计一个自己的异步 Web 框架。 基于 tokio 异步运行时实现一个最小化的方便构建 JSON API 微服务 的 Web 框架 ,支持如下功能: 实现 MVC 架构。 高效方便的路由机制。 方便的 基于 宏 的 endpoint 设置。(类 Rocket) 提供一些方便的内置 helper 来处理 URL 和 JSON 。(类 Rocket) 基于 Plugin 的中间件支持,并且尝试加入 WebAssembly plugin 机制。(类 Rocket) 内置对 ORM/ RPC/ Websocket/ Redis/ 消息队列 等 生态组件的统一支持 支持 测试。 使用此框架 ,结合 Yew (或其他WebAssembly 前端框架) 来实现一个简单的 TODO 应用。
实现这个异步 Web 框架,不仅仅是对 Rust 语言的一次应用,更是对 Rust 语言工程化和 API 设计的一次探索。
学习 Rust 能带来什么好处?
学习 Rust 带给我最大的好处就是:Rust 让我再次爱上编程。
在接触 Rust 之前,我是浅薄的:我以为自己编程能力已经够用了,感觉不需要学习什么新东西了,感觉提升到了瓶颈。
在接触 Rust 之后,我看到了提升自己的机会:
在和 Rust 编译器斗争过程中,让我充分认识到自己的基础哪里不足。 Rust 独特的设计,让我重新反思自己对编程的理解。 Rust 语言足够通用,让我不仅仅局限于之前的单一技术领域,成为我踏足和学习各个应用领域的一把钥匙,让我充分领略编程的魅力。
其实就是一句话,Rust 让我成长很多。我认为,这就是 Rust 带给我最大的好处了。
希望 Rust 也能帮你成长!
再一次广告时间
原价 ¥199 的课程,现在入手还有新人首单价 ¥69.9,才 3 折不到,性价比真的很高。入手链接(点击阅读原文跳转): http://gk.link/a/10tis
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...