关于rust:CA周记-2022年的第一课Rust

44次阅读

共计 1657 个字符,预计需要花费 5 分钟才能阅读完成。

古代编程语言有很多,在我的编程学习外面有小学阶段的 LOGO , 中学阶段的 Pascal,也有在大学阶段的 C/C++ , Java , .NET,再到工作的 Objective-C,Swift,Go,Kotlin,以及 Rust。在完结了 2021 年 4 个月的人工智能课程后,我在想有什么技能能够带给各位 Reactor 的小伙伴,我有想过是我司三朵云上很 Cool 的产品,还是一些解决方案的事件。在衡量后,我决定带给大家 Rust 作为 2022 年新的开始。

为什么抉择 Rust?

不晓得从哪个工夫开始,每个语言诞生都在说本人的高性能,可靠性,和生产力。假使你真正入坑后,总会有各种埋怨。我理解 Rust 是 3 年前衣明志老师介绍的。他是怎么安利的我遗记了,不过我就踏入了这个坑了。首先 Rust 的语法和 C++ 很像,具备高速和内存安全性。Rust 是零碎级别编程语言。

咱们来看看 Rust 和 C/C++ 的一些对于内存平安的比照


 int checkStr()
 {char *str = strdup("Hello Reactor!"); 
     return 0;                            
 }

在 C/C++ 中下面语法,就遗记了开释指针,导致了内存泄露,这是一个十分根底的问题,但到了 Rust 就通过作用域去防止了同样的问题

 fn checkStr(){let str = String::from("Hello Reactor!");
 } 

就单从内存安全性就真心好用了。还有 Rust 通过 Crates 去治理相干的包,和整个我的项目代码从我的项目建设,构建到测试,到运行部署的周期,对比起在 C/C++ 开发时的横七竖八,真的是太难受了。

用什么开发工具 Rust?

一个好的工具,能够晋升开发的效率,开发 Rust 我强烈还是举荐用 Visua Studio Code,外面有十分欠缺 Rust 反对。rust-analyzer 和 CodeLLDB , crates 三大插件装置好,你就能够十分高效地实现 rust 的开发。

我的课堂上也利用了另外一种形式用 Jupyter Notebook 来实现,通过 Notebook 你能够实现相干的一些语法学习,以及做一些数据分析。

在课后也有一些小伙伴问我如何装置。这里我就附上一些装置步骤。

  1. Python 环境装置和根本的 Jupyter Lab 装置

请参考我的之前的文档 :

Windows 装置

https://github.com/kinfey/Han…

Linux/macOS 装置

https://github.com/kinfey/Han…

  1. 组件装置

cargo install evcxr_jupyter
evcxr_jupyter --install

留神:这里有不同的系统配置要求,更多能够参考这里 https://github.com/google/evc…

对于 Rust 利用在哪里

Rust 的利用场景很宽,基于本身特点,罕用于一些底层,后端服务,网络编程的工作。官网也列出了一些次要利用场景

在这次系列课程里,我次要针对 Web 后端的工作做了相干介绍,当然也提及到 WebAssembly。倡议小伙伴能够回看我的 Rust 课程第二第三讲。

Rust 的 Web 框架

Actix 和 Rocket 都是十分成熟的 Rust 页面服务框架,两者不相伯仲,我的课程以 Actix 框架为主,当然你也能够尝试一下 Rocket 这个框架。以下是两个框架的一些介绍,本人能够依照理论状况进行框架的抉择

我集体是比拟重视架构,好的架构是一个好的我的项目的开始,做后端服务,大家离不开 MVC 这个相熟的模式,联合 Rust 的包的常识能够把 Actix 的后端解决方案架构出十分好的我的项目。倡议大家在架构 Rust 后端服务的时候,参考下我的第三讲所提到的形式。

课程的后续补充

三周的课程是十分短的,Rust 波及的点还有很多。例如如何用 Dapr 和 Web Assbembly 的利用 也是我想讲的,接下来我会通过 Work Shop 的形式和大家说说,敬请期待!

最初附上这三个系列课程

点击进入看 Rust 编程语言 – Rust 根底学习

点击进入看 Rust 编程语言 – Rust 网页编程

点击进入看 Rust 编程语言 – Rust 网络编程 &IoT 编程

正文完
 0