精彩回顾|4.8 Beijing Rust Meetup

news2024/12/23 6:47:43

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》

接下来南京大学计算机科学与技术系助理研究员冯洋老师进行《基于实际场景应用分析的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 库?

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从EXCEL BOM 描述中提取部分信息---正则表达式使用

从EXCEL BOM描述中提取关键的信息,用于建库填写内容,或者检查BOM等都会用到,如下大概通过两种方式实现信息的提取 1.手动Excel中提取 2.将如上1的方式用python实现,可以实现批量操作,减少操作带来的错误,…

[网络安全]第三次作业

目录 1. 什么是IDS? 2. IDS和防火墙有什么不同? 3. IDS工作原理? 4. IDS的主要检测方法有哪些详细说明? 5. IDS的部署方式有哪些? 6. IDS的签名是什么意思?签名过滤器有什么作用?例外签名…

温故c语言——深度剖析数据在内存中的存储

目录 数据类型详细介绍整形在内存中的存储:原码、反码、补码大小端字节序介绍及判断浮点型在内存中的存储解析 1. 数据类型介绍 基本内置数据类型有: //在内存中占用空间的大小 char //字符数据类型 占用1个字节 short //短整型 占用2个…

linux及openEuler破解root密码

第一步:开机的时候按键盘的字母 E 键, 进入引导模式 第二步:进入引导模式 :找到linux这一行,按键盘上的end 键,跳转到行尾,输入: init/bin/sh 修改完后,按键盘上的 ctr…

电脑开机出现英文字母开不了机U盘重装系统教学

电脑开机出现英文字母开不了机U盘重装系统教学。有用户电脑开机之后出现了错误代码字母,无法正常的开机了。遇到这个问题要怎么去进行系统的重新安装呢?一起来看看以下的具体解决方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上…

基于LS1028 TSN时间敏感网络交换机方案(一)TSN介绍

2.1 时间敏感网络介绍 时间敏感网络小组的前身是 AVB ,即以太网音视频桥接技术( Ethernet Audio/Video Bridging, 简称 Ethernet AVB ) [10] 。它在传统以太网络的基础上,通过 精确时钟同步、预留带宽、流量整形&#xff0…

Spring和IDEA都不推荐用的@Autowired注解,为什么还有那么多人用?

Autowired的默认装配 我们都知道在spring中Autowired注解,是用来自动装配对象的。通常,我们在项目中是这样用的: package com.sue.cache.service;import org.springframework.stereotype.Service;Service public class TestService1 {publ…

今天面了个京东拿 38K 出来的,让我见识到了基础的天花板

今年的春招已经开始了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的软件测试面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#xff0…

ChatGPT接入Siri(保姆级教程)

ChatGPT接入Siri(保姆级教程)第一步:获取OpenAPI的Key第二步:制作快捷指令今天,我将为大家分享如何将GPT应用集成到苹果手机的Siri中(当然手机是需要魔法(TZ)的) 第一步…

协议篇之UART协议

协议篇之UART协议一、写在前面二、UART协议简介三、UART协议数据帧结构3.1 UART发送过程3.2 UART接收过程四、UART传输速率五、写在最后一、写在前面 由于设计需要,需要入门学习一下UART协议。本文主要学习UART协议的数据帧结构。 二、UART协议简介 通用异步收发传…

AutoGPT自主AI正在路上#趋势:自主人工智能、人机交互、终身学习

hi,大家好,我是shadow。今天分享一些我看到的人工智能正在发生的趋势,以及创新的机会。一些动态经过几个月的筹备,慢慢地我会开启2023的Mixlab故事,可查看公众号菜单栏里的2023专栏。本周六和下周六我将在上海的活动分…

Thingsboard开源物联网平台智慧农业实例快速部署教程(三)【源码部署及logo更换】

Thingsboard源码安装并更换logo 文章目录Thingsboard源码安装并更换logo1. 源码拉取2. 导入项目3. 项目编译4. 项目启动5. 修改logo6. 部署(rpm deb方式)1. 源码拉取 本教程按照3.4发行版本行进 git clone https://github.com/thingsboard/thingsboard…

深入拆解 Java 虚拟机-打卡|01 | Java代码是怎么运行的?

文章目录Java代码是怎么运行的?几个为什么为什么在虚拟机中运行?Java 虚拟机具体又是怎样运行 Java 代码的呢?Java虚拟机的运行效率怎么样?总结Java代码是怎么运行的? 来来来,运行个"Hello word !“告诉我是怎么…

免费的VR全景网站是什么?免费VR全景网站有什么用?

虚拟现实(VR)技术的应用日益广泛,尤其是在旅游、教育等领域。免费VR全景网站是一个新兴的平台,为用户提供了一个全新的探索未知世界的方式。 一、介绍免费VR全景网站的特点 1.全景视角 免费VR全景网站提供了360度全景视角&#…

Spring事务原理、隔离性

1、什么是事务 事务是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,则在该事物中进行的所有数据更改均会提交,成为数据库中的永久组成部分;如果事务执行时遇到错误且必须取消或回滚,则数据将…

Vue3页面内跳转锚点-scrollIntoView()

scrollIntoView() scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。 element.scrollIntoView(); // 等同于element.scrollIntoView(true)element.scrollIntoView(alignToTop); //布尔参…

数据结构-树与二叉树

文章目录5.1 树的基本概念5.1.1 树的定义5.1.2 基本术语5.1.3 树的性质5.2 二叉树的概念5.2.1 二叉树的定义及其主要特性5.2.2 二叉树的存储结构5.3 二叉树的遍历和线索二叉树5.3.3 二叉树的遍历5.3.2 线索二叉树5.4 树、森林5.4.1 树的存储结构5.4.2 树、森林、二叉树的转换5.…

Linux学习笔记——HTTP协议

文章目录前言HTTP协议的概念URLurlencode和urldecodeHTTP协议格式HTTP协议版本HTTP协议请求方法GET方法——获取资源POST方法——获取资源PUT方法——传输⽂件PUT方法——获得报文首部在这里插入图片描述DELETE方法——删除文件OPTIONS方法——询问支持的方法HTTP的状态码HTTP常…

050:cesium加载mapbox卫星地图、mapbox地形地图

第050个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载mapbox卫星地图、mapbox地形地图。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共79行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

【CE】图形化作弊教程通关手册(超真实的游戏体验)

▒ 目录 ▒🛫 导读需求开发环境1️⃣ 第一关翻译操作总结2️⃣ 第二关(代码共享)翻译操作验证3️⃣ 第三关翻译操作总结🛬 文章小结📖 参考资料🛫 导读 需求 除了Tutorial-x86_64.exe教程外,CE…