 Rust 程序设计语言简体中文版......................... 349 14.1. 采用发布配置自定义构建 ........................................................................................... 350 14.2. 将 crate 发布到 Crates.io ........................... Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书假设你使用 Rust 1.67.1(2023-02-09 发布)或更新的版本。请查看 第 1 章的 “安装” 部 分 了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang.org/stable/book/ build-essential 包。 在 Windows 上安装 rustup 在 Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust。在安 装过程的某个步骤,你会收到一个信息说明为什么需要安装 Visual Studio 2013 或其更新版本 的 MSVC 构建工具。 要获取构建工具,你需要安装 Visual Studio 2022。当被问及需要安装什么工作负载0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版......................... 349 14.1. 采用发布配置自定义构建 ........................................................................................... 350 14.2. 将 crate 发布到 Crates.io ........................... Steve Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书假设你使用 Rust 1.67.1(2023-02-09 发布)或更新的版本。请查看 第 1 章的 “安装” 部 分 了解如何安装和升级 Rust。 本书的英文原版 HTML 格式可以在 https://doc.rust-lang.org/stable/book/ build-essential 包。 在 Windows 上安装 rustup 在 Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust。在安 装过程的某个步骤,你会收到一个信息说明为什么需要安装 Visual Studio 2013 或其更新版本 的 MSVC 构建工具。 要获取构建工具,你需要安装 Visual Studio 2022。当被问及需要安装什么工作负载0 码力 | 600 页 | 12.99 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . 300 14.1. 采用发布配置自定义构建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 14.2. 将 crate 发布到 Crates.io . . . . . . . . Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书的当前版本假设你使用 Rust 1.85.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust 2024 edition 惯用法。请查 看第一章的 “安装” 部分了解如何安装和升级 12/562Rust 程序设计语言 简体中文版 在 Windows 上安装 rustup 在 Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust。在安 装过程的某个步骤,你会被提示要安装 Visual Studio。它提供了一个链接器和编译程序所需 的原生库。如果你在此步骤需要更多帮助,请访问 https://rust-lang0 码力 | 562 页 | 3.23 MB | 25 天前3 Rust 程序设计语言 简体中文版 1.85.0. . . . . . . 300 14.1. 采用发布配置自定义构建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 14.2. 将 crate 发布到 Crates.io . . . . . . . . Klabnik 和 Carol Nichols,并由 Rust 社区补充完善。本简体 中文译本由 Rust 中文社区翻译。 本书的当前版本假设你使用 Rust 1.85.0(2025-02-17 发布)或更高版本并在所有项目的 Cargo.toml 文件中通过 edition = "2024"将其配置为使用 Rust 2024 edition 惯用法。请查 看第一章的 “安装” 部分了解如何安装和升级 12/562Rust 程序设计语言 简体中文版 在 Windows 上安装 rustup 在 Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust。在安 装过程的某个步骤,你会被提示要安装 Visual Studio。它提供了一个链接器和编译程序所需 的原生库。如果你在此步骤需要更多帮助,请访问 https://rust-lang0 码力 | 562 页 | 3.23 MB | 25 天前3
 Comprehensive Rust(简体中文) 202412并能够坐下来使用笔记本电脑。特别地,讲师需要进行大量的现场编码工作,因此讲台是不需要的。 4. 课程当天,请提早到教室进行准备。建议直接在笔记本电脑上运行 mdbook serve 来演示课程内 容(请参阅安装说明)。这样可以确保在更换页面时不会出现延迟,演示效果更好。使用笔记本运行还 可以在发现错别字时及时更正。 5. 让学员自己或以小组为单位解决练习问题。通常在上午和下午各安排 30-45 分钟的练习时间(包括 和@ronaldfw。 • 日语版本译者:@CoinEZ-JPN 和@momotaro1105。 • 意大利语版本译者:@henrythebuilder 和@detro。 如果你想协助翻译,请参阅翻译说明,了解如何开始翻译工作。翻译工作可通过此议题追踪。 16 第 2 部分 使用Cargo 开始了解 Rust 后,你很快就会遇到 Cargo,这是 Rust 生态系统中用于构建和运行 Rust 应用的标准工 具。在这里,我们想简要介绍一下什么是 Cargo、它如何融入更广泛的生态系统,以及我们如何在本培训 中合理利用 Cargo。 安装 请按照 https://rustup.rs/ 上的说明操作。 这将为你提供 Cargo 构建工具 (cargo) 和 Rust 编译器 (rustc)。你还将获得 rustup,这是一个命令 行实用程序, 你可以用它来安装不同的编译器版本。 安装 Rust0 码力 | 359 页 | 1.33 MB | 10 月前3 Comprehensive Rust(简体中文) 202412并能够坐下来使用笔记本电脑。特别地,讲师需要进行大量的现场编码工作,因此讲台是不需要的。 4. 课程当天,请提早到教室进行准备。建议直接在笔记本电脑上运行 mdbook serve 来演示课程内 容(请参阅安装说明)。这样可以确保在更换页面时不会出现延迟,演示效果更好。使用笔记本运行还 可以在发现错别字时及时更正。 5. 让学员自己或以小组为单位解决练习问题。通常在上午和下午各安排 30-45 分钟的练习时间(包括 和@ronaldfw。 • 日语版本译者:@CoinEZ-JPN 和@momotaro1105。 • 意大利语版本译者:@henrythebuilder 和@detro。 如果你想协助翻译,请参阅翻译说明,了解如何开始翻译工作。翻译工作可通过此议题追踪。 16 第 2 部分 使用Cargo 开始了解 Rust 后,你很快就会遇到 Cargo,这是 Rust 生态系统中用于构建和运行 Rust 应用的标准工 具。在这里,我们想简要介绍一下什么是 Cargo、它如何融入更广泛的生态系统,以及我们如何在本培训 中合理利用 Cargo。 安装 请按照 https://rustup.rs/ 上的说明操作。 这将为你提供 Cargo 构建工具 (cargo) 和 Rust 编译器 (rustc)。你还将获得 rustup,这是一个命令 行实用程序, 你可以用它来安装不同的编译器版本。 安装 Rust0 码力 | 359 页 | 1.33 MB | 10 月前3
 Rust 语言学习笔记rustup。rustup 功能如下: 1.管理安装多个官方版本的 Rust 二进制程序。 2.配置基于目录的 Rust 工具链。 3.安装和更新来自 Rust 的发布通道: nightly, beta 和 stable。 4.接收来自发布通道更新的通知。 5.从官方安装历史版本的 nightly 工具链。 6.通过指定 stable 版本来安装。 7.安装额外的 std 用于交叉编译。 x = 5; let y = if x == 5 { println!("hello test”) 10 } else { 15 }; // y: i32 需要说明的是 if 中条件判断必须是 bool 类型,不能写出 if 5 这种判断条件。 2.2.2 match 语句 Rust 中没有类似于 C 的 switch 关键字,但它有用于模式匹配的 copy trait。 如果实现了 copy trait,那么就不会夺走它的所有权,标识符在函数外部还可 以继续访问。 如果没有实现 copy trait,那么它的所有权都会被夺走。 需要说明的是,从结果上来看,引用是值传递,和实现了 copy trait 的表征相 同,同样可以外部继续使用。 举例而言: pub fn test(){ let a = vec 基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭⽹聚云联 王⽂庭 基于边缘架构的可编程MQTT服务 CONTENTS 背景说明 O1 O2 O4 HPMQ简介 HPMQ开发说明 HPMQ未来规划 O3 1. 背景说明 物联⽹时代带来的变化 海量 连⽹ 设备 海量数据处理? 设备安全性? 共性:边缘 原来以数据中 ⼼为核⼼的云 端架构是否还 满⾜需求? 01 02 03 边缘架构 ⼀种分布式计 算架构 布式消息服务基础架构,它帮我们解决 了很多分布式⽹络管理的共同的问题, ⽐如说分布式消息⼀致性问题,边缘节 点⾃动发现等问题 传统⽅案痛点 1)数据传输量⼤,中⼼压⼒⼤,⾼可⽤要求⾼ 2)数据发布与订阅都在中⼼,延迟⾼ 3)源站直接暴露 4)数据不好就近进⾏脱敏处理 5)数据不好就近进⾏存储 新⽅案优势 1)分摊中⼼压⼒ 2)降低延迟 3)隐藏源站 OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库 hpmq-cli build hpmq-cli push 发布函数 Demo 4. HPMQ未来规划 开源(https://github.0 码力 | 31 页 | 3.95 MB | 1 年前3 基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭⽹聚云联 王⽂庭 基于边缘架构的可编程MQTT服务 CONTENTS 背景说明 O1 O2 O4 HPMQ简介 HPMQ开发说明 HPMQ未来规划 O3 1. 背景说明 物联⽹时代带来的变化 海量 连⽹ 设备 海量数据处理? 设备安全性? 共性:边缘 原来以数据中 ⼼为核⼼的云 端架构是否还 满⾜需求? 01 02 03 边缘架构 ⼀种分布式计 算架构 布式消息服务基础架构,它帮我们解决 了很多分布式⽹络管理的共同的问题, ⽐如说分布式消息⼀致性问题,边缘节 点⾃动发现等问题 传统⽅案痛点 1)数据传输量⼤,中⼼压⼒⼤,⾼可⽤要求⾼ 2)数据发布与订阅都在中⼼,延迟⾼ 3)源站直接暴露 4)数据不好就近进⾏脱敏处理 5)数据不好就近进⾏存储 新⽅案优势 1)分摊中⼼压⼒ 2)降低延迟 3)隐藏源站 OpenYurt? • Krustlet? wasm如何分发部署? 3. HPMQ函数开发说明 HPMQ平台 触发器 公共函数 (⽐如:tb2aws) 私有函数 配置 关联 关联 使⽤流程 编写函数 Hpmqfile OCI镜像 镜像仓库 hpmq-cli build hpmq-cli push 发布函数 Demo 4. HPMQ未来规划 开源(https://github.0 码力 | 31 页 | 3.95 MB | 1 年前3
 Hello 算法 1.1.0 Rust版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.0.0 Rust版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 383 页 | 17.61 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 www.hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 www.hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode ("{}", 0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 387 页 | 18.51 MB | 10 月前3
 CeresDB Rust 生产实践 任春韶0.0 版本发布  查询性能优化  Prometheus 协议支持  基于 InfluxDB 单机引擎研发 分布式方案  OpenTSDB 协议  内存时序数据库  存储计算分离架构  分级存储  永久代  CeresDB 开源 2022.6 2023.3  开源版本 CeresDB 开始研 发 2023.6  1.2.2 版本发布  优化了写入性能0 码力 | 22 页 | 6.95 MB | 1 年前3 CeresDB Rust 生产实践 任春韶0.0 版本发布  查询性能优化  Prometheus 协议支持  基于 InfluxDB 单机引擎研发 分布式方案  OpenTSDB 协议  内存时序数据库  存储计算分离架构  分级存储  永久代  CeresDB 开源 2022.6 2023.3  开源版本 CeresDB 开始研 发 2023.6  1.2.2 版本发布  优化了写入性能0 码力 | 22 页 | 6.95 MB | 1 年前3
 Rust与算法 - 谢波• 为什么 背景介绍 # 个人职业 # 与 Rust 结缘 # 前 GPT 时代作品 个人信息 结算及大数据系统研发工程师 疫情下的明智选择 / 个人项目实践 学习中总结探索 2015 年发布,很多人近几年才知道 Rust , Rust 中国 大会也才第三届,期待 Rust 中国大会第十届 Rust 处于起步阶段 中文圈学习资料或书籍少,有部分是翻译国外产品,能 不能中国人向国外输出作品0 码力 | 28 页 | 3.52 MB | 1 年前3 Rust与算法 - 谢波• 为什么 背景介绍 # 个人职业 # 与 Rust 结缘 # 前 GPT 时代作品 个人信息 结算及大数据系统研发工程师 疫情下的明智选择 / 个人项目实践 学习中总结探索 2015 年发布,很多人近几年才知道 Rust , Rust 中国 大会也才第三届,期待 Rust 中国大会第十届 Rust 处于起步阶段 中文圈学习资料或书籍少,有部分是翻译国外产品,能 不能中国人向国外输出作品0 码力 | 28 页 | 3.52 MB | 1 年前3
共 18 条
- 1
- 2













