头图

2023年4月8日,达坦科技联合南京大学、CloudWeGo、华为等技术专家成功举办了题为Rust X的meetup。开发者们不仅线下积极报名参与,更在线上直播中踊跃参与互动,一起探讨Rust作为一种强调性能、安全和并发性的编程语言的各种应用和实践。演讲者与观众间灵感与想法的不断碰撞正印证着本次的主题:用Rust编程语言“点亮”的任何应用、实践,和探索Rust的无限可能性。接下来让我们一起来回顾本次活动的精彩瞬间。

精彩回顾

本次meetup首先由《Rust 编程之道》作者、Rust 中文社区布道者张汉东老师开场,Rust语言以安全性著称,但他演讲的主题却为《理解 Unsafe Rust》 。张老师从为什么需要unsafe、unsafe能做什么,到unsafe安全哲学、Unsafe编程准则,循序渐进,由浅入深地一步步讲解。最后更是引用reddit热帖,将Unsafe Rust与Zig进行安全性对比:Unsafe Rust 的安全哲学让开发者可以充分地思考裸指针的安全问题,对开发者有更高的要求,系统的安全性可能更好,Reddit热帖的作者虽然推崇Zig策略,但Zig 的安全策略并非百分百安全,同样需要开发者考虑一些安全因素,因此,并没有什么谁比谁更安全一说。

[点击链接跳转张汉东老师分享《理解 Unsafe Rust》
](https://www.bilibili.com/video/BV1c24y1A7aK/?spm_id_from=333....)

接下来南京大学计算机科学与技术系助理研究员冯洋老师进行《基于实际场景应用分析的Rust库模糊测试技术报告》的演讲分享。Rust是一种承诺内存安全和并发安全的语言,而各类Rust库中API的漏洞与缺陷可能会对所有使用该库的程序产生影响。为了进一步保障Rust库的安全,冯老师提出了一种依靠现有Rust生态系统来生成模糊测试目标的方法,利用MIR解析待测库所在生态系统中的项目,找到现实中API之间的调用和依赖关系,从而从中提取出待测库的API序列,依此生成Rust库的模糊测试目标。

点击链接跳转冯洋老师分享《RUFES》

第三位出场分享的是达坦科技联合创始人兼CTO施继成,演讲主题是《Rust for linux6.2》。他从为什么选择Rust、Rust for Linux以及Linux6.2三个方面依次递进介绍。我们选择Rust不仅因为其拥有与C语言类似的高效率特性,其同时也具备Java语言所拥有的强安全性,高效率与高安全性的组合带来了许多Rust在Linux中的尝试。Rust for Linux并不是要取代Linux中所有的C代码或是在Rust中提供所有的Linux内核模块,它是一个框架或工具,帮助用Rust构建Linux模块。接着,施老师介绍了Rust for Linux的核心组成部分与如何编译Linux的Rust支持,并以ChrDev为例做了进一步的讲解。最后,施老师对Linux6.2做了简单的评论,他认为Linux6.2增加了一些基本支持,除了将工具链从夜间版改到稳定版(1.62.0 )以外,这个版本也改进了对字符串和格式化、错误、打印、内存分配、宏的支持。但若想直接从Rust for Linux项目移植还得等待以后的版本。

点击链接跳转施继成老师分享《Rust for Linux 6.2》

华为技术有限公司叶天星老师接着就《用Rust实现Git传输协议、Git对象解析和数据库存储》进行了分享,他从DVCS,Git Objects,Git Packfile和Git 传输协议四个方面进行了介绍。Git作为“版本控制软件”之一,是目前最受欢迎的控制版本,其目的不仅是存储一组文件的当前状态,而且还包括这些文件随时间如何变化的历史记录。它使用了一种称为对象存储的方式来存储代码版本信息,且拥有blob、tree、commit 和 tag四种对象类型,叶老师也分别依次对它们进行了介绍和讲解。Git可以使用四种不同的协议来传输数据:Local、HTTP、SSH 和 Git,本次分享中主要就HTTP 和 SSH进行了讨论,在演讲的最后,叶老师进行了demo演示,以方便观众进一步理解与掌握。

点击链接跳转叶天星老师分享《用Rust实现Git传输协议、Git对象解析和数据库存储》

最后,来自CloudWeGo社区的 Monoio 项目负责人茌海老师做了《Monoio:一个基于 io-uring 的 Rust Runtime》的分享,他介绍了Rust 语言中的异步机制、Monoio设计与Runtime的对比及应用。茌老师举例说明,揭露了Async Await 背后的秘密,并对Rust 中对异步 Task 的核心抽象--Future抽象,进行了更深一步的讲解。Monoio设计通过 Feature 与代码指定 Driver 并有条件地做运行时探测,拥有暴露统一的 IO 接口同时内部利用 OpAble 统一组件实现,是上层无感知的 Driver 探测与切换;其高性能、功能性与兼容接口等特点也带来了诸多便利。

点击链接跳转茌海老师分享《Monoio:一个基于 io-uring 的 Rust Runtime》

结束语

在本次分享中,我们看见了Rust语言的多种可能性,更是切身体会到了其无尽的潜能与蕴含的力量。要写出真正安全高效的Rust代码离不开所有真正热爱它的同学的投入与开发。Rust已然在悄悄改变我们的世界,期望未来可以看到Rust更多样化的应用与实践。

往期文章推荐

《Rust You Don't Know》

《Rust for Linux 要来了,这对我们意味着什么》

《创业公司为什么要选 Rust 做 RDMA 库?》


Datenlord
14 声望6 粉丝

DatenLord专注打造新一代云原生高性能存储平台,实现跨云、跨数据中心之间数据高速访问,从而极大提升存储系统的可扩展性,满足企业客户海量数据跨地域高速访问需求,在互联网、金融、电信、能源等不同行业均有广...