极客时间出品的专栏课《Rust 编程第一课》作者陈天,价值68元现在免费分享

[极客时间]Rust 编程第一课(完结)-陈天

课程介绍

Rust语言以其卓越的表达力、高性能和内存安全性在编程语言界崭露头角。作为连续六年荣获Stack Overflow用户最喜爱语言的佼佼者,Rust正逐渐在各大领域展现其替代C/C++,甚至Java/Golang的潜力。然而,对于初学者来说,Rust却是一道不易跨越的门槛。变量的所有权和生命周期等创新概念,以及与其他编程语言在类型系统和泛型编程上的差异,使得学习Rust充满挑战。为了帮助您攻克这些难关,我们特邀Rust专家陈天老师,以其丰富的编程经验,为您量身定制了一门Rust学习课程。

本课程分为五大模块,从前置知识到实战应用,全方位助您掌握Rust。通过回顾软件开发基础概念,让您更好地理解Rust背后的原理;通过小项目实战,让您感性体验Rust的魅力;深入探讨Rust的所有权、生命周期以及语言特性,让您真正理解并掌握其核心知识。此外,课程还将涵盖类型系统、并发处理等高阶内容,助您成为一名优秀的Rust开发者。

在实战篇中,您将学习到如何将Rust应用于生产环境,并用Rust的编程思想解决实际问题。无论是用Rust为现有系统提供性能提升,还是引入Rust生态中的特定库,您都将得到详尽的指导和实践机会。通过本课程的学习,您将跨越Rust的入门门槛,攀登编程新高峰,成为Rust开发领域的佼佼者。

课程目录

│   ├── 开篇词|让Rust成为你的下一门主力语言.html
│   ├── 开篇词|让Rust成为你的下一门主力语言.m4a
│   └── 开篇词|让Rust成为你的下一门主力语言.pdf
├── 02-前置篇(3讲)
│   ├── 01|内存:值放堆上还是放栈上,这是一个问题.html
│   ├── 01|内存:值放堆上还是放栈上,这是一个问题.m4a
│   ├── 01|内存:值放堆上还是放栈上,这是一个问题.pdf
│   ├── 02|串讲:编程开发中,那些你需要掌握的基本概念.html
│   ├── 02|串讲:编程开发中,那些你需要掌握的基本概念.m4a
│   ├── 02|串讲:编程开发中,那些你需要掌握的基本概念.pdf
│   ├── 加餐|Rust真的值得我们花时间学习么?.html
│   ├── 加餐|Rust真的值得我们花时间学习么?.m4a
│   └── 加餐|Rust真的值得我们花时间学习么?.pdf
├── 03-基础篇(1讲)
│   ├── 03|初窥门径:从你的第一个Rust程序开始!.html
│   ├── 03|初窥门径:从你的第一个Rust程序开始!.m4a
│   ├── 03|初窥门径:从你的第一个Rust程序开始!.pdf
│   ├── 04丨gethandsdirty:来写个实用的CLI小工具.html
│   ├── 04丨gethandsdirty:来写个实用的CLI小工具.m4a
│   ├── 04丨gethandsdirty:来写个实用的CLI小工具.pdf
│   ├── 05丨gethandsdirty:做一个图片服务器有多难?.html
│   ├── 05丨gethandsdirty:做一个图片服务器有多难?.m4a
│   ├── 05丨gethandsdirty:做一个图片服务器有多难?.pdf
│   ├── 06丨gethandsdirty:SQL查询工具怎么一鱼多吃?.html
│   ├── 06丨gethandsdirty:SQL查询工具怎么一鱼多吃?.m4a
│   ├── 06丨gethandsdirty:SQL查询工具怎么一鱼多吃?.pdf
│   ├── 07丨所有权:值的生杀大权到底在谁手上?.html
│   ├── 07丨所有权:值的生杀大权到底在谁手上?.m4a
│   ├── 07丨所有权:值的生杀大权到底在谁手上?.pdf
│   ├── 08丨所有权:值的借用是如何工作的?.html
│   ├── 08丨所有权:值的借用是如何工作的?.m4a
│   ├── 08丨所有权:值的借用是如何工作的?.pdf
│   ├── 09丨所有权:一个值可以有多个所有者么?.html
│   ├── 09丨所有权:一个值可以有多个所有者么?.m4a
│   ├── 09丨所有权:一个值可以有多个所有者么?.pdf
│   ├── 10丨生命周期:你创建的值究竟能活多久?.html
│   ├── 10丨生命周期:你创建的值究竟能活多久?.m4a
│   ├── 10丨生命周期:你创建的值究竟能活多久?.pdf
│   ├── 11丨内存管理:从创建到消亡,值都经历了什么?.html
│   ├── 11丨内存管理:从创建到消亡,值都经历了什么?.m4a
│   ├── 11丨内存管理:从创建到消亡,值都经历了什么?.pdf
│   ├── 12丨类型系统:Rust的类型系统有什么特点?.html
│   ├── 12丨类型系统:Rust的类型系统有什么特点?.m4a
│   ├── 12丨类型系统:Rust的类型系统有什么特点?.pdf
│   ├── 13|类型系统:如何使用trait来定义接口?.html
│   ├── 13|类型系统:如何使用trait来定义接口?.m4a
│   ├── 13|类型系统:如何使用trait来定义接口?.pdf
│   ├── 14|类型系统:有哪些必须掌握的Trait?.html
│   ├── 14|类型系统:有哪些必须掌握的Trait?.m4a
│   ├── 14|类型系统:有哪些必须掌握的Trait?.pdf
│   ├── 15丨数据结构:这些浓眉大眼的结构竟然都是智能指针?.html
│   ├── 15丨数据结构:这些浓眉大眼的结构竟然都是智能指针?.m4a
│   ├── 15丨数据结构:这些浓眉大眼的结构竟然都是智能指针?.pdf
│   ├── 16丨数据结构:VecT、&[T]、Box[T] ,你真的了解集合容器么?.m4a
│   ├── 16|数据结构:Vec_T_、&[T]、Box_[T]_ ,你真的了解集合容器么?.html
│   ├── 16|数据结构:Vec_T_、&[T]、Box_[T]_ ,你真的了解集合容器么?.pdf
│   ├── 17丨数据结构:软件系统核心部件哈希表,内存如何布局?.html
│   ├── 17丨数据结构:软件系统核心部件哈希表,内存如何布局?.m4a
│   ├── 17丨数据结构:软件系统核心部件哈希表,内存如何布局?.pdf
│   ├── 18丨错误处理:为什么Rust的错误处理与众不同?.html
│   ├── 18丨错误处理:为什么Rust的错误处理与众不同?.m4a
│   ├── 18丨错误处理:为什么Rust的错误处理与众不同?.pdf
│   ├── 19丨闭包:FnOnce、FnMut 和 Fn,为什么有这么多类型?.html
│   ├── 19丨闭包:FnOnce、FnMut 和 Fn,为什么有这么多类型?.m4a
│   ├── 19丨闭包:FnOnce、FnMut 和 Fn,为什么有这么多类型?.pdf
│   ├── 20丨4Steps:如何更好地阅读Rust源码?.html
│   ├── 20丨4Steps:如何更好地阅读Rust源码?.m4a
│   ├── 20丨4Steps:如何更好地阅读Rust源码?.pdf
│   ├── 21丨阶段实操:构建一个简单的KVserver(1)-基本流程(上).html
│   ├── 21丨阶段实操:构建一个简单的KVserver(1)-基本流程(上).m4a
│   ├── 21丨阶段实操:构建一个简单的KVserver(1)-基本流程(上).pdf
│   ├── 22丨阶段实操:构建一个简单的KVserver(1)-基本流程(下).html
│   ├── 22丨阶段实操:构建一个简单的KVserver(1)-基本流程(下).m4a
│   ├── 22丨阶段实操:构建一个简单的KVserver(1)-基本流程(下).pdf
│   ├── 加餐丨愚昧之巅:你的Rust学习常见问题汇总.html
│   ├── 加餐丨愚昧之巅:你的Rust学习常见问题汇总.m4a
│   └── 加餐丨愚昧之巅:你的Rust学习常见问题汇总.pdf
├── 04-期中周 (2讲)
│   ├── 加餐丨期中测试:参考实现讲解.html
│   ├── 加餐丨期中测试:参考实现讲解.m4a
│   ├── 加餐丨期中测试:参考实现讲解.pdf
│   ├── 加餐丨期中测试:来写一个简单的grep命令行.html
│   ├── 加餐丨期中测试:来写一个简单的grep命令行.m4a
│   └── 加餐丨期中测试:来写一个简单的grep命令行.pdf
├── 05-进阶篇(4讲)
│   ├── 23|类型系统:如何在实战中使用泛型编程?.html
│   ├── 23|类型系统:如何在实战中使用泛型编程?.m4a
│   ├── 23|类型系统:如何在实战中使用泛型编程?.pdf
│   ├── 24|类型系统:如何在实战中使用TraitObject?.html
│   ├── 24|类型系统:如何在实战中使用TraitObject?.m4a
│   ├── 24|类型系统:如何在实战中使用TraitObject?.pdf
│   ├── 25|类型系统:如何围绕Trait来设计和架构系统?.html
│   ├── 25|类型系统:如何围绕Trait来设计和架构系统?.m4a
│   ├── 25|类型系统:如何围绕Trait来设计和架构系统?.pdf
│   ├── 26丨阶段实操:构建一个简单的KVserver(2)-高级trait技巧.html
│   ├── 26丨阶段实操:构建一个简单的KVserver(2)-高级trait技巧.m4a
│   ├── 26丨阶段实操:构建一个简单的KVserver(2)-高级trait技巧.pdf
│   ├── 27丨生态系统:有哪些常有的Rust库可以为我所用?.html
│   ├── 27丨生态系统:有哪些常有的Rust库可以为我所用?.m4a
│   ├── 27丨生态系统:有哪些常有的Rust库可以为我所用?.pdf
│   ├── 28丨网络开发:如何使用Rust处理网络请求?(上).html
│   ├── 28丨网络开发:如何使用Rust处理网络请求?(上).m4a
│   ├── 28丨网络开发:如何使用Rust处理网络请求?(上).pdf
│   ├── 29丨网络开发:如何使用Rust处理网络请求?(下).html
│   ├── 29丨网络开发:如何使用Rust处理网络请求?(下).m4a
│   ├── 29丨网络开发:如何使用Rust处理网络请求?(下).pdf
│   ├── 30丨UnsafeRust:如何用C++的方式打开Rust?.html
│   ├── 30丨UnsafeRust:如何用C++的方式打开Rust?.m4a
│   ├── 30丨UnsafeRust:如何用C++的方式打开Rust?.pdf
│   ├── 31丨FFI:Rust如何和你的语言架起沟通桥梁?.html
│   ├── 31丨FFI:Rust如何和你的语言架起沟通桥梁?.m4a
│   ├── 31丨FFI:Rust如何和你的语言架起沟通桥梁?.pdf
│   ├── 32丨实操项目:使用PyO3开发Python3模块.html
│   ├── 32丨实操项目:使用PyO3开发Python3模块.m4a
│   ├── 32丨实操项目:使用PyO3开发Python3模块.pdf
│   ├── 加餐|Rust2021版次问世了!.html
│   ├── 加餐|Rust2021版次问世了!.m4a
│   └── 加餐|Rust2021版次问世了!.pdf
├── 06-并发篇(4讲)
│   ├── 33丨并发处理:从atomics到Channel,Rust都提供了什么工具?(上).html
│   ├── 33丨并发处理:从atomics到Channel,Rust都提供了什么工具?(上).m4a
│   ├── 33丨并发处理:从atomics到Channel,Rust都提供了什么工具?(上).pdf
│   ├── 34丨并发处理:从atomics到Channel,Rust都提供了什么工具?(下).html
│   ├── 34丨并发处理:从atomics到Channel,Rust都提供了什么工具?(下).m4a
│   ├── 34丨并发处理:从atomics到Channel,Rust都提供了什么工具?(下).pdf
│   ├── 35丨实操项目:如何实现一个基本的MPSCchannel?.html
│   ├── 35丨实操项目:如何实现一个基本的MPSCchannel?.m4a
│   ├── 35丨实操项目:如何实现一个基本的MPSCchannel?.pdf
│   ├── 36丨阶段实操(3):构建一个简单的KVserver-网络处理.html
│   ├── 36丨阶段实操(3):构建一个简单的KVserver-网络处理.m4a
│   ├── 36丨阶段实操(3):构建一个简单的KVserver-网络处理.pdf
│   ├── 37丨阶段实操(4):构建一个简单的KVserver-网络安全.html
│   ├── 37丨阶段实操(4):构建一个简单的KVserver-网络安全.m4a
│   ├── 37丨阶段实操(4):构建一个简单的KVserver-网络安全.pdf
│   ├── 38丨异步处理:Future是什么?它和async-await是什么关系?.html
│   ├── 38丨异步处理:Future是什么?它和async-await是什么关系?.m4a
│   ├── 38丨异步处理:Future是什么?它和async-await是什么关系?.pdf
│   ├── 39丨异步处理:async-await内部是怎么实现的?.html
│   ├── 39丨异步处理:async-await内部是怎么实现的?.m4a
│   ├── 39丨异步处理:async-await内部是怎么实现的?.pdf
│   ├── 40丨异步处理:如何处理异步IO?.html
│   ├── 40丨异步处理:如何处理异步IO?.m4a
│   ├── 40丨异步处理:如何处理异步IO?.pdf
│   ├── 41丨阶段实操(5):构建一个简单的KVserver-异步处理.html
│   ├── 41丨阶段实操(5):构建一个简单的KVserver-异步处理.m4a
│   ├── 41丨阶段实操(5):构建一个简单的KVserver-异步处理.pdf
│   ├── 42丨阶段实操(6):构建一个简单的KVserver-如何做大的重构?.html
│   ├── 42丨阶段实操(6):构建一个简单的KVserver-如何做大的重构?.m4a
│   ├── 42丨阶段实操(6):构建一个简单的KVserver-如何做大的重构?.pdf
│   ├── 用户故事丨绝望之谷:改变从学习开始.html
│   ├── 用户故事丨绝望之谷:改变从学习开始.m4a
│   └── 用户故事丨绝望之谷:改变从学习开始.pdf
├── 07-实战篇(2讲)
│   ├── 43丨生产环境:真实世界下的一个Rust项目包含哪些要素?.html
│   ├── 43丨生产环境:真实世界下的一个Rust项目包含哪些要素?.m4a
│   ├── 43丨生产环境:真实世界下的一个Rust项目包含哪些要素?.pdf
│   ├── 44丨数据处理:应用程序和数据如何打交道?.html
│   ├── 44丨数据处理:应用程序和数据如何打交道?.m4a
│   ├── 44丨数据处理:应用程序和数据如何打交道?.pdf
│   ├── 45丨阶段实操(8):构建一个简单的KVserver-配置测试监控CICD.html
│   ├── 45丨阶段实操(8):构建一个简单的KVserver-配置测试监控CICD.m4a
│   ├── 45丨阶段实操(8):构建一个简单的KVserver-配置测试监控CICD.pdf
│   ├── 46丨软件架构:如何用Rust架构复杂系统?.html
│   ├── 46丨软件架构:如何用Rust架构复杂系统?.m4a
│   ├── 46丨软件架构:如何用Rust架构复杂系统?.pdf
│   ├── 大咖助场丨开悟之坡(上):Rust的现状、机遇与挑战.html
│   ├── 大咖助场丨开悟之坡(上):Rust的现状、机遇与挑战.m4a
│   ├── 大咖助场丨开悟之坡(上):Rust的现状、机遇与挑战.pdf
│   ├── 大咖助场丨开悟之坡(下):Rust的现状、机遇与挑战.html
│   ├── 大咖助场丨开悟之坡(下):Rust的现状、机遇与挑战.m4a
│   ├── 大咖助场丨开悟之坡(下):Rust的现状、机遇与挑战.pdf
│   ├── 用户故事丨语言不仅是工具,还是思维方式.html
│   ├── 用户故事丨语言不仅是工具,还是思维方式.m4a
│   └── 用户故事丨语言不仅是工具,还是思维方式.pdf
└── 08-结束语(2讲)
├── 结束语丨永续之原:Rust学习,如何持续精进?.html
├── 结束语丨永续之原:Rust学习,如何持续精进?.m4a
└── 结束语丨永续之原:Rust学习,如何持续精进?.pdf

9 directories, 171 files

以上就是极客时间陈天老师的专栏课《Rust 编程第一课》的详细介绍了。
本文由提供IT教程网提供,仅供学习交流使用,未经许可,禁止转载!
原课程地址:https://time.geekbang.org/column/intro/100085301,有能力的朋友请支持正版,谢谢!

相关推荐

[极客时间]Rust 语言从入门到实战(36讲已完结)-唐刚

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。