 Rust 语言学习笔记https://kaisery.github.io/trpl-zh-cn/ 《Rust 程序设计语言-简体中文版》 第一章 包管理系统与版本管理工具 包管理系统是所有语言向工程化方向走必须考虑的事情。 rust 的包管理系统和 go 的包管理系统以及 java 的包管理系统大大不同,很容 易给人造成困惑。 最主要原因是: 1.Rust 的模块支持层级结构,但这种层级结构本身与文件系统目录的层级结构 unwrap(); } 线程中使用的闭包只能是 move 修饰。 7.2 消息传递 Rust 的通道(channel)可以把一个线程的消息(数据)传递到另一个线程,从而 让信息在不同的线程中流动,从而实现协作。详情请参见 std::sync::mpsc。 通道的两端分别是发送者(Sender)和接收者(Receiver),发送者负责从一个线 程发送消息,接收者则在另一个线程中接收该消息。 简单的例子: 下面各小节会对上面各部分问题进行回答。 7.2.1 通道与所有权的转移 在并发编程中避免错误是在整个 Rust 程序中必须思考所有权所换来的一大优 势。 现在让我们做一个试验来看看通道与所有权如何一同协作以避免产生问题:我 们将尝试在新建线程中的通道中发送完 val 值 之后 再使用它。 use std::thread; use std::sync::mpsc; fn main() {0 码力 | 117 页 | 2.24 MB | 1 年前3 Rust 语言学习笔记https://kaisery.github.io/trpl-zh-cn/ 《Rust 程序设计语言-简体中文版》 第一章 包管理系统与版本管理工具 包管理系统是所有语言向工程化方向走必须考虑的事情。 rust 的包管理系统和 go 的包管理系统以及 java 的包管理系统大大不同,很容 易给人造成困惑。 最主要原因是: 1.Rust 的模块支持层级结构,但这种层级结构本身与文件系统目录的层级结构 unwrap(); } 线程中使用的闭包只能是 move 修饰。 7.2 消息传递 Rust 的通道(channel)可以把一个线程的消息(数据)传递到另一个线程,从而 让信息在不同的线程中流动,从而实现协作。详情请参见 std::sync::mpsc。 通道的两端分别是发送者(Sender)和接收者(Receiver),发送者负责从一个线 程发送消息,接收者则在另一个线程中接收该消息。 简单的例子: 下面各小节会对上面各部分问题进行回答。 7.2.1 通道与所有权的转移 在并发编程中避免错误是在整个 Rust 程序中必须思考所有权所换来的一大优 势。 现在让我们做一个试验来看看通道与所有权如何一同协作以避免产生问题:我 们将尝试在新建线程中的通道中发送完 val 值 之后 再使用它。 use std::thread; use std::sync::mpsc; fn main() {0 码力 | 117 页 | 2.24 MB | 1 年前3
 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验Project Activity Tariq Share NS 3 Docker Container Kubernetes Pod 轻松创建⽆限量的隔离集成测试环境 ⽀持微服务架构体系和多⼈协作联调测试 Kayn Sona Riven Event Account Project Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, Cloud-accelerated container builds up to 20x faster ✨ ⽆需配置环境,⽀持多种编程语⾔和框架 ? 轻松创建⽆限量的隔离集成测试环境 ☁ ⽀持微服务架构体系和多⼈协作联调测试 ⚡ 本地开发实时部署到运程集群 ? 交互式运⾏实例快照,可⼀键分享! ? 可插拔的⽣态应⽤市场,全⽅位提升效率 ? Amphitheatre Cloud 按需付费,开箱即⽤0 码力 | 34 页 | 10.81 MB | 1 年前3 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验Project Activity Tariq Share NS 3 Docker Container Kubernetes Pod 轻松创建⽆限量的隔离集成测试环境 ⽀持微服务架构体系和多⼈协作联调测试 Kayn Sona Riven Event Account Project Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, Cloud-accelerated container builds up to 20x faster ✨ ⽆需配置环境,⽀持多种编程语⾔和框架 ? 轻松创建⽆限量的隔离集成测试环境 ☁ ⽀持微服务架构体系和多⼈协作联调测试 ⚡ 本地开发实时部署到运程集群 ? 交互式运⾏实例快照,可⼀键分享! ? 可插拔的⽣态应⽤市场,全⽅位提升效率 ? Amphitheatre Cloud 按需付费,开箱即⽤0 码力 | 34 页 | 10.81 MB | 1 年前3
 秘猿先锋-文愿-Axon 应用链框架的 Rust 开发实践测试、调试难度大 • 可维护性,开发完成后,各个模块需要维护、升级和改进 • 可扩展性 • 高性能 • 高并发 • 高可靠性 • 代码管理 • … 大型项目的开发难点 ■ 抽象 ■ 便于协作开发 ■ 易于测试 优点 Mempool Traits 实现 实现 测试代码 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践0 码力 | 32 页 | 3.63 MB | 1 年前3 秘猿先锋-文愿-Axon 应用链框架的 Rust 开发实践测试、调试难度大 • 可维护性,开发完成后,各个模块需要维护、升级和改进 • 可扩展性 • 高性能 • 高并发 • 高可靠性 • 代码管理 • … 大型项目的开发难点 ■ 抽象 ■ 便于协作开发 ■ 易于测试 优点 Mempool Traits 实现 实现 测试代码 目录 1. Axon 简介 2. 大型 Rust 项目应用 Adapter 模式 3. 使用过程宏的监控埋点开发实践0 码力 | 32 页 | 3.63 MB | 1 年前3
 Rust HTTP 协议栈在终端通信场景的实践 - 胡凯Conf 2022 – 2023, Shanghai, China HTTP 协议介绍 HTTP 协议,即超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体 信息系统的应用层协议。 HTTP 是一个客户端(用户)和服务端(网站)之间请求和应答的标准。 Rust China Conf 2022 – 2023, Shanghai, China0 码力 | 26 页 | 1.25 MB | 1 年前3 Rust HTTP 协议栈在终端通信场景的实践 - 胡凯Conf 2022 – 2023, Shanghai, China HTTP 协议介绍 HTTP 协议,即超文本传输协议(HyperText Transfer Protocol)是一种用于分布式、协作式和超媒体 信息系统的应用层协议。 HTTP 是一个客户端(用户)和服务端(网站)之间请求和应答的标准。 Rust China Conf 2022 – 2023, Shanghai, China0 码力 | 26 页 | 1.25 MB | 1 年前3
 Comprehensive Rust(简体中文) 202412进行裸机(嵌入式)开发。课程内容涵盖微控制器和应用 处理器。 • 并发:为期一天的课程,介绍 Rust 中的并发性。我们将涵盖传统并发(使用线程和互斥锁进行抢占 式调度)和 async/await 并发(使用 futures 进行协作式多任务处理)。 非目标 Rust 是一门庞大的语言,短短几天的课程无法覆盖其全部内容。本课程不包括以下内容: • 学习如何开发宏:请参阅 Rust Book 的第 19.5 章 和 Rust0 码力 | 359 页 | 1.33 MB | 10 月前3 Comprehensive Rust(简体中文) 202412进行裸机(嵌入式)开发。课程内容涵盖微控制器和应用 处理器。 • 并发:为期一天的课程,介绍 Rust 中的并发性。我们将涵盖传统并发(使用线程和互斥锁进行抢占 式调度)和 async/await 并发(使用 futures 进行协作式多任务处理)。 非目标 Rust 是一门庞大的语言,短短几天的课程无法覆盖其全部内容。本课程不包括以下内容: • 学习如何开发宏:请参阅 Rust Book 的第 19.5 章 和 Rust0 码力 | 359 页 | 1.33 MB | 10 月前3
 Rust 程序设计语言简体中文版与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已证明是一个对于具有不同系统编程知识水平的大型开发团队协作而言,非常高效的工 具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测试 和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒绝 编译 信道与所有权转移 所有权规则在消息传递中扮演了重要角色,其有助于我们编写安全的并发代码。防止并发编程 中的错误是在 Rust 程序中考虑所有权的一大优势。现在让我们做一个试验来看看信道与所有 权如何一同协作以避免产生问题:我们将尝试在新建线程中的信道中发送完 val 值 之后 再使 用它。尝试编译示例 16-9 中的代码并看看为何这是不允许的: 文件名:src/main.rs use std::sync::mpsc;0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版与此类控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已证明是一个对于具有不同系统编程知识水平的大型开发团队协作而言,非常高效的工 具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测试 和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒绝 编译 信道与所有权转移 所有权规则在消息传递中扮演了重要角色,其有助于我们编写安全的并发代码。防止并发编程 中的错误是在 Rust 程序中考虑所有权的一大优势。现在让我们做一个试验来看看信道与所有 权如何一同协作以避免产生问题:我们将尝试在新建线程中的信道中发送完 val 值 之后 再使 用它。尝试编译示例 16-9 中的代码并看看为何这是不允许的: 文件名:src/main.rs use std::sync::mpsc;0 码力 | 600 页 | 12.99 MB | 1 年前3
 Hello 算法 1.1.0 Rust版所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 387 页 | 18.51 MB | 10 月前3
 Hello 算法 1.0.0 Rust版存在于所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版存在于所有工业领域,它要求我们在不同的优势和限制之间找到最佳平衡点。 总的来说,硬盘用于长期存储大量数据,内存用于临时存储程序运行中正在处理的数据,而缓存则用于存储 经常访问的数据和指令,以提高程序运行效率。三者共同协作,确保计算机系统高效运行。 如图 4‑10 所示,在程序运行时,数据会从硬盘中被读取到内存中,供 CPU 计算使用。缓存可以看作 CPU 的 一部分,它通过智能地从内存加载数据,给 CPU 提供0 码力 | 383 页 | 17.61 MB | 1 年前3
 Rust 程序设计语言 简体中文版 1.85.0控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已被证明是一个对于具有不同系统编程知识水平的大型开发团队协作而言,非常高效的 工具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测 试和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒 绝编译 信道与所有权转移 所有权规则在消息传递中扮演了重要角色,其有助于我们编写安全的并发代码。防止并发编程 中的错误是在 Rust 程序中考虑所有权的一大优势。现在让我们做一个实验来看看信道与所有 权如何一同协作以避免产生问题:我们将尝试在新建线程中的信道中发送完 val 值之后再使用 它。尝试编译示例 16-9 中的代码并看看为何这是不允许的: 文件名:src/main.rs use std::sync::mpsc;0 码力 | 562 页 | 3.23 MB | 25 天前3 Rust 程序设计语言 简体中文版 1.85.0控制相关的所有繁琐细 节。 Rust 适合哪些人 Rust 因多种原因适合许多人。让我们看看几个最重要的群体。 开发者团队 Rust 已被证明是一个对于具有不同系统编程知识水平的大型开发团队协作而言,非常高效的 工具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测 试和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒 绝编译 信道与所有权转移 所有权规则在消息传递中扮演了重要角色,其有助于我们编写安全的并发代码。防止并发编程 中的错误是在 Rust 程序中考虑所有权的一大优势。现在让我们做一个实验来看看信道与所有 权如何一同协作以避免产生问题:我们将尝试在新建线程中的信道中发送完 val 值之后再使用 它。尝试编译示例 16-9 中的代码并看看为何这是不允许的: 文件名:src/main.rs use std::sync::mpsc;0 码力 | 562 页 | 3.23 MB | 25 天前3
共 10 条
- 1













