 Hello 算法 1.2.0 简体中文 Rust 版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 www.hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 问 题时能够作出专业的反应和判断,从而提升工作的整体质量。举一个简单例子,每种编程语言都内置了排序 函数: ‧ 如果我们没有学过数据结构与算法,那么给定任何数据,我们可能都塞给这个排序函数去做了。运行顺 畅、性能不错,看上去并没有什么问题。 ‧ 但如果学过算法,我们就会知道内置排序函数的时间复杂度是 ?(? log ?) ;而如果给定的数据是固定 位数的整数(例如学号),那么我们就可以0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 www.hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 问 题时能够作出专业的反应和判断,从而提升工作的整体质量。举一个简单例子,每种编程语言都内置了排序 函数: ‧ 如果我们没有学过数据结构与算法,那么给定任何数据,我们可能都塞给这个排序函数去做了。运行顺 畅、性能不错,看上去并没有什么问题。 ‧ 但如果学过算法,我们就会知道内置排序函数的时间复杂度是 ?(? log ?) ;而如果给定的数据是固定 位数的整数(例如学号),那么我们就可以0 码力 | 387 页 | 18.51 MB | 10 月前3
 Hello 算法 1.1.0 Rust版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.0.0 Rust版Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版Python 为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文 ,每一轮将一张扑克牌从无序部分插入至有序部分,直至所有扑克牌都有序。 图 1‑2 扑克排序步骤 上述整理扑克牌的方法本质上是“插入排序”算法,它在处理小型数据集时非常高效。许多编程语言的排序 库函数中都有插入排序的身影。 例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 以下函数基于 for 循环实现了求和 1 + 2 + ⋯ + ? ,求和结果使用变量 res 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?0 码力 | 383 页 | 17.61 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412. . . . . 32 1 6.4.1 作用域和遮蔽(Shadowing). . . . . . . . . . . . . . . . . . . . . . . . . 32 6.5 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.6 宏 . . . . 4.1 解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 14 泛型 74 14.1 泛型函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 14.2 泛型类型 . . . . impl Trait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 14.6 练习:通用 min 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 14.6.1 解答 . . . . . . . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3 Comprehensive Rust(简体中文) 202412. . . . . 32 1 6.4.1 作用域和遮蔽(Shadowing). . . . . . . . . . . . . . . . . . . . . . . . . 32 6.5 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.6 宏 . . . . 4.1 解答 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 14 泛型 74 14.1 泛型函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 14.2 泛型类型 . . . . impl Trait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 14.6 练习:通用 min 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 14.6.1 解答 . . . . . . . . . .0 码力 | 359 页 | 1.33 MB | 10 月前3
 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3. 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 13.1. 闭包:可以捕获其环境的匿名函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 14.5. Cargo 自定义扩展命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 26 天前3 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3. 函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 13.1. 闭包:可以捕获其环境的匿名函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 14.5. Cargo 自定义扩展命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 26 天前3
 Rust 程序设计语言简体中文版.......................................................................................... 47 3.3. 函数 .................................................................................................. ........................... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 ........................................... 安装二进制文件 ........................................................................... 368 14.5. Cargo 自定义扩展命令 .............................................................................................. 3690 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版.......................................................................................... 47 3.3. 函数 .................................................................................................. ........................... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 ........................................... 安装二进制文件 ........................................................................... 368 14.5. Cargo 自定义扩展命令 .............................................................................................. 3690 码力 | 600 页 | 12.99 MB | 1 年前3
 基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭内存安全(Rust/Golang/Java) • 对WebAssembly⽣态⽀持友好 Why Rust? • 云端架构,我们⽆法根据设备地理位置实现就近通讯 • 只能做到在数据中⼼内相关的分布式扩展,⽆法直接进⾏ 全球节点的扩展 • 复杂的容灾⽅案 为什么需要geo-distributed 传统⽅案存在有问题 解决⽅案 geo-distributed架构 + 调度 如何管理分布式⽹络 我们 mqtt HPMQLite 上层MQTT Broker 设备 程序 HPMQ 上层MQTT Broker 通过边缘函数的⽅式快速兼容多⼚商 1)⾃定义协议+⾃定义函数 2)对接标准协议+公共函数 场景:多⼚商协议快速兼容 geo-distributed + 函数式开发 = 边缘计算 整体架构 • Webassembly,简称wasm • ⽤⼀句话描述,那就是Weba OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库 hpmq-cli build hpmq-cli push 发布函数 Demo 4. HPMQ未来规划 开源(https://github0 码力 | 31 页 | 3.95 MB | 1 年前3 基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭内存安全(Rust/Golang/Java) • 对WebAssembly⽣态⽀持友好 Why Rust? • 云端架构,我们⽆法根据设备地理位置实现就近通讯 • 只能做到在数据中⼼内相关的分布式扩展,⽆法直接进⾏ 全球节点的扩展 • 复杂的容灾⽅案 为什么需要geo-distributed 传统⽅案存在有问题 解决⽅案 geo-distributed架构 + 调度 如何管理分布式⽹络 我们 mqtt HPMQLite 上层MQTT Broker 设备 程序 HPMQ 上层MQTT Broker 通过边缘函数的⽅式快速兼容多⼚商 1)⾃定义协议+⾃定义函数 2)对接标准协议+公共函数 场景:多⼚商协议快速兼容 geo-distributed + 函数式开发 = 边缘计算 整体架构 • Webassembly,简称wasm • ⽤⼀句话描述,那就是Weba OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库 hpmq-cli build hpmq-cli push 发布函数 Demo 4. HPMQ未来规划 开源(https://github0 码力 | 31 页 | 3.95 MB | 1 年前3
 新一代分布式高性能图数据库的构建 - 沈游人效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 易用 AQL(Atlas Graph Query Language) ,类 SQL 的图查询 语言,内置上百种分析函数, 面向分析师友好,拥抱标准, 基于 openCypher 向 ISO GQL 迈进 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入 库构图,为在线业务决策分析 提供有力支撑 Docker/K8S/VM X86/ARM - 基于 RUST 语言保证性能优势 - 分布式架构性能可线性扩展 - 针对大规模图优化的存算引擎 - 配合 Atlas 图平台,实现无代码图分析 - Query 性能分析模块,启发式提示优化 - 内置多种分析函数,面向分析师友好 -MVOCC 保证事务一致性 - 多副本管理保证数据服务高可用 - 在线备份提供容灾保障 高速0 码力 | 38 页 | 24.68 MB | 1 年前3 新一代分布式高性能图数据库的构建 - 沈游人效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 易用 AQL(Atlas Graph Query Language) ,类 SQL 的图查询 语言,内置上百种分析函数, 面向分析师友好,拥抱标准, 基于 openCypher 向 ISO GQL 迈进 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入 库构图,为在线业务决策分析 提供有力支撑 Docker/K8S/VM X86/ARM - 基于 RUST 语言保证性能优势 - 分布式架构性能可线性扩展 - 针对大规模图优化的存算引擎 - 配合 Atlas 图平台,实现无代码图分析 - Query 性能分析模块,启发式提示优化 - 内置多种分析函数,面向分析师友好 -MVOCC 保证事务一致性 - 多副本管理保证数据服务高可用 - 在线备份提供容灾保障 高速0 码力 | 38 页 | 24.68 MB | 1 年前3
 简谈 Rust 与国密 TLS - 王江桐Shanghai, China • SM3 为密码杂凑算法,采用密码散列(hash)函数标准,用于替代 MD5/SHA-1/SHA-2 等国际 算法,是在 SHA-256 基础上改进实现的一种算法,消息分组长度为 512 位,摘要值长度为 256 位,其中使用了异或、模、模加、移位、与、或、非运算,由填充、迭代过程、消息扩展和压缩 函数所构成。 • 保证信息的完整性。 • 在商用密码体系中,SM3 主要 DES/AES 等国际算法, SM4 算法与 AES 算法具有相同的密钥长度和分组长度,均为 128 位。对长消息进行加解密 时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 • 加密算法与密钥扩展算法都采用 32 轮非线性迭代结构,解密算法与加密算法的结构相同,只 是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 SM7 Introduction of SM7 Rust China 传输层密码协议(TLCP):TLCP 协议,参考 TLS 1.2 规范,基本兼容 GM/T 0024-2014 且废弃此版本,对于密码算法进行了更新,使用更安全的密码算法; • RFC 8998:基于 RFC 8446,扩展通用 TLS 1.3,增加国密套件支持,声明 SM4_GCM_SM3 、 SM4_CCM_SM3 以及 SM2 单证书机制在 TLS 1.3 中的使用; • 当前 360 安全浏览器、奇安信可信浏览器等产品已支持0 码力 | 44 页 | 3.70 MB | 1 年前3 简谈 Rust 与国密 TLS - 王江桐Shanghai, China • SM3 为密码杂凑算法,采用密码散列(hash)函数标准,用于替代 MD5/SHA-1/SHA-2 等国际 算法,是在 SHA-256 基础上改进实现的一种算法,消息分组长度为 512 位,摘要值长度为 256 位,其中使用了异或、模、模加、移位、与、或、非运算,由填充、迭代过程、消息扩展和压缩 函数所构成。 • 保证信息的完整性。 • 在商用密码体系中,SM3 主要 DES/AES 等国际算法, SM4 算法与 AES 算法具有相同的密钥长度和分组长度,均为 128 位。对长消息进行加解密 时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 • 加密算法与密钥扩展算法都采用 32 轮非线性迭代结构,解密算法与加密算法的结构相同,只 是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 SM7 Introduction of SM7 Rust China 传输层密码协议(TLCP):TLCP 协议,参考 TLS 1.2 规范,基本兼容 GM/T 0024-2014 且废弃此版本,对于密码算法进行了更新,使用更安全的密码算法; • RFC 8998:基于 RFC 8446,扩展通用 TLS 1.3,增加国密套件支持,声明 SM4_GCM_SM3 、 SM4_CCM_SM3 以及 SM2 单证书机制在 TLS 1.3 中的使用; • 当前 360 安全浏览器、奇安信可信浏览器等产品已支持0 码力 | 44 页 | 3.70 MB | 1 年前3
 刘用涛 CnosDB时序数据库的Rust实践CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 1. CnosDB 架构与选型 特性 • 横/纵 向扩展 • 计算存储分离 • 平衡存储性能与成本 • 查询引擎支持矢量化查询 • 兼容多种时序协议 • 可观测性 • 支持云原生 • 原生支持多租户 • 租户Quota可动态配置 • 云边端协同 Scheduler Logical transform Physical transform 1.4基于DataFusion的高性能查询引擎 • 扩展数据源 • 扩展 SQL 语句 • 扩展流处理引擎 • 扩展优化规则 • 扩展时序函数 1.5 分布式 1. Shared nothing 2. Leaderless NRW Peer to peer model0 码力 | 26 页 | 3.28 MB | 1 年前3 刘用涛 CnosDB时序数据库的Rust实践CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 1. CnosDB 架构与选型 特性 • 横/纵 向扩展 • 计算存储分离 • 平衡存储性能与成本 • 查询引擎支持矢量化查询 • 兼容多种时序协议 • 可观测性 • 支持云原生 • 原生支持多租户 • 租户Quota可动态配置 • 云边端协同 Scheduler Logical transform Physical transform 1.4基于DataFusion的高性能查询引擎 • 扩展数据源 • 扩展 SQL 语句 • 扩展流处理引擎 • 扩展优化规则 • 扩展时序函数 1.5 分布式 1. Shared nothing 2. Leaderless NRW Peer to peer model0 码力 | 26 页 | 3.28 MB | 1 年前3
共 34 条
- 1
- 2
- 3
- 4













