Rust 语言学习笔记Rust 语言学习笔记 感谢 RustPrimer 和 Rust 程序设计语言简体中文版 bradyjoestar@gmail.com 目录 序............................................................................... 4 feature 段落........................................................................ 59 第六章 Rust 语言高级特性 ......................................................................... 61 6.1 函数式编程 ..... ..................................................................................... 91 7.1.1 不同语言的线程实现 ............................................................. 91 7.1.2 使用 spawn 创建新线程 .....0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust语言核心竞争力-庄晓立Rust编程语言 核心优势和核心竞争力 庄晓立,北京,QCon2016 liigo@qq.com 2016-4-23 新人分享新语言 2015年5月Rust语言刚刚发布1.0版本 2013年末我开始关注Rust,但尚未深入实践 在重大场合正式演讲这是人生第一次 2016年春节至今认真准备讲稿近三个月 如有错误或纰漏,敬请谅解! 感谢臧秀涛主编盛情邀请! Rust 安全、高效、并发的系统编程语言 安全、高效、并发的系统编程语言 2006年 2009年 2012年 2015年 2016年 Rust v0.0 by Graydon Hoare by Mozilla bootstrap in Rust v0.1 ... v0.12 v1.0 ... v1.8 by Java/Php/Python/Js 其他领域 (通俗地说) 传统 C/C++ 语言 + 内存安全 (没有GC) Rust = 传统 VS 现代 • 传统C语言(C99) • 传统C++语言(C++ 98) • 现代C++语言(C++ 1x) 这是3门不同的语言 现代C++被普遍视为全新的语言 现代C++尚在进化革新之中…… Rust V.S. 传统C/C++ • C/C++有很强的控制性、很弱的安全性0 码力 | 51 页 | 1.09 MB | 1 年前3
Rust 程序设计语言简体中文版Rust 程序设计语言 简体中文版 Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 ...................................................................................................................... 5 前言 ....................... ............................................................................. 240 2/600 Rust 程序设计语言 简体中文版 11.1. 如何编写测试 .............................................................................. 将错误信息输出到标准错误而不是标准输出 ............................................................. 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0Rust 程序设计语言 简体中文版Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 2/562Rust 程序设计语言 简体中文版 11. 编写自动化测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将错误信息输出到标准错误而不是标准输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 1 月前3
新一代分布式高性能图数据库的构建 - 沈游人的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站 。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 查询 / 操作 生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 图技术全景图—— Graph Technology Landscape 2020 • 图数据库 • 图数据建模 • 图计算引擎 • 图数据集成 • 可视化分析 • 知识图谱解决方案 • 图查询语言 • 欺诈检测 • 网络安全分析 • 社交网络分析 • BI 工具 • 图分析工具集 • 图咨询服务 Source : Graph Aware 图数据库发展趋势 AtlasGraph0 码力 | 38 页 | 24.68 MB | 1 年前3
洛佳 组件化驱动、ROM运行环境与RustSBI华中科技大学网络空间安全学院研一 在读(导师:周威老师) • 研究方向:物联网安全、系统安全 • 热爱开源,乐于尝试新技术 • RustSBI项目维护者 • 致力于向科研、教学和产业界推广 Rust语言 汲取Rust嵌入式和操作系统生态经验,总 结而成的新一代驱动开发方法。动、静态 基地址结合,高灵活性;一次开发,同时 复用于嵌入式、固件和内核中。 # 组件化驱动 合理利用嵌入式、桌面和服务器芯片片内 控 制 器 支 持 , 填 入 常 量 泛 型 , 即 可 用 于 运 行 环 境 ROM运行环境 第 02 部分 裸机和引导程序的ROM阶段 高级语言环境 初始化bss段、data段, 加载栈寄存器,构成高级 语言运行的最小环境 生成镜像结构 外设和时钟 提供具备所有权的外设 列表,提供ROM初始化 完成的时钟配置 编译时生成镜像头,通 常包含处理器配置、时 钟和闪存配置等部分 使用过程宏时,同时使用对应包中的 start初始化代码。start代码无需由 用户编写,而是包含在宏生成的输出 代码中。 • 编译即可获得包含镜像头的固件包, 这是传统开发方法不具备的功能。 多核异构芯片的镜像融合(以BL808为例) 部 分 固 件 调 试 首 先 编 译 程 序 为 单 核 固 件 , 再 融 合 三 个 固 件 为 多 核 。 单 核 固 件 可 独 立 运 行 , 易 于 按0 码力 | 21 页 | 3.12 MB | 1 年前3
2021信创“大比武”鲲鹏基础软件开发赛道
基于Rust语言的openGauss驱动2021信创“大比武”鲲鹏基础软件开发赛道 基于Rust语言的openGauss驱动 目录 1. 背景及要求 2. 方案介绍 3. 遇到的问题 4. 团队简介 3 背景 Rust是一门新兴的系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范 式的多范式语言。 openGauss数据库是一款高性能、高安全的数据库,社区支持Rust驱动可以更方便Rust语言开发者更好地基 于openGauss开发Rust应用。 要求 使用Rust语言实现openGauss数据库驱动 基于SHA256进行权限认证 能够执行增删改查SQL语句 4 方案介绍 - 思路 × 参考 JDBC 标准,使用 rust 语言实现一个简单的只包含核心部分的版本 √ 基于开源的 rust-postgres 驱动开发,实现基于 sha256 的鉴权方式连接 openGuass 数据库 × 使用 rust 语言已有的 sha256 sha256 方式 × 使用 rust 语言已有的 RFC5802 三方包 √ 参考已有的基于 JAVA 语言实现的 openGauss sha256 鉴权代码,使用 rust 语言重新实现 5 方案介绍 - 认证流程 startup 会首先建立连接,同时会发送认证协议的版本; 服务器会响应具体的认证方式以及该认证方式所需的信息; 客户端根据要求的认证方式通过认证后,就可以向服务器端发送各种数据库命令0 码力 | 14 页 | 566.24 KB | 1 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭HPMQ 简介 HPMQ是基于Rust语⾔开发的 下⼀代可编程边缘分布式 MQTT软件,主要有以下⼏个 核⼼特性: • Geo-Distributed • 可编程性 • 云边⼀体化 • 兼容异构设备 HPMQ (Hyperconverged Programmable MQTT) • 性能(C/C++/Rust) • 开发效率 (Rust/Golang/Java) • 编译的产物要⾜够⼩(C/C++/Rust) 所需求运⾏资源⼩(~64Kb for code and ~10Kb RAM) 2. 异构设备兼容性强(x86, ARM, RISC-V, MIPS, Raspberry Pi, Orange Pi … ) Serverless in MQTT Broker • 更好的代码执⾏环境抽象,它可以直接部署代码或应⽤程序到各种异构设备,⽽不需要开 发⼈员为每个异构设备都编写或编译⼀套单独的代码或程序,从⽽提⾼开发效率;0 码力 | 31 页 | 3.95 MB | 1 年前3
Real world Rust
- Why and how we use Rust in TiKV设计分布式系统的逻辑,极其复杂 ○ Raft ○ Multi-Raft ○ 分布式测试框架 ● 和 C 的模块大量交互 ● 开发人员和时间不足 ○ 5 人的团队,希望半年左右发布第一个可用版本 TiKV 的语言选型参考 ● Go ● C++11 ● Rust TiKV 整体架构 KV API Coprocessor Txn, Transaction MVCC Raft KV RocksDB snapshot ... snapshot snapshot ... Main thread Worker threads IO threads 跨线程通信 - 如何选择 ● Channel ○ 异构线程之间传递对象 ● Arc + Mutex ○ 同构的工作线程间共享对象 Rust 和 C ● Rust 对 C 的调用没有任何 overhead ● C 区域的调用没法保证安全 ● TiKV 有足够的工具和范式开发高性能、健壮的、可扩展的后端服务程序 ● 大多数常用包都达到 1.0 的稳定性 ● ... 总结 ● Rust 是门好语言,可以简单类比成更现代的 C++ ○ 更少的代码写出更安全的程序 ○ 代价是早期更高的学 习成本 ● 解决问题的架构和范式万变不离其宗 ○ 并不是靠换个语言重写一遍就解决问题 ● TiKV 是一个性能极高且极其稳定的新一代分布式 kv 数据库 :) 谢谢 Q & A0 码力 | 29 页 | 506.53 KB | 1 年前3
Rust OS 开源操作系统训练营的教与学-0615-李明知识技能学到? Rust OS 开源操作系统训练营的教与学 2 开源训练营的总体规划和教学实践 教什么?怎么学? 在读本科生 在读研究生 已工作 52% 18% 30% Rust 语言编程 RISC-V 体系结构 rCore/uCore 大实验 ArceOS 组件化OS Rust for Linux Hypervisor 虚拟化 面向高校和企业 工程师开放报名 (2周) ..) (国家实验室、智能汽车OS企业...) (清华大学、中科院、北理工等...) 训练营的总体介绍 推荐到合作单位的 暑期实习 (2个月) 训练营的四阶段培养目标和要求 Rust 语言编程 RISC-V体系结构 一阶段 完成94道Rustlings编程题 (2周) OS 大实验 rCore/uCore 内核 二阶段 完成5个OS编程大实验 (2周) ArceOS 训练营的实践成果 • 学习博客(85篇) • http://rcore-os.cn/blog/ • 重要成果 • 2022:陈林峰《rCore 的龙芯平台移植》 • 2022:唐洪雨《基于Rust语言的嵌入式实时操作系统RFreeRTOS的移植》 • 2022:朱懿《zCore 操作系统容器化的探索》 • 2022:米明恒《操作系统调试器VSCode插件系统架构设计与实现》 • 2023:0 码力 | 26 页 | 2.62 MB | 1 年前3
共 36 条
- 1
- 2
- 3
- 4













