王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验docker-compose up 或 docker build && kubectl apply 项⽬介绍 开发 从代码库克隆代码到本地 硬盘,打开 VS Code 编 辑器进⾏编码 AMP 在 Amphitheatre 中创建 即可实时部署到云端 进⾏测试和验收 上线 利⽤ Amphitheatre 配置⽂ 件, 执⾏标准 CI/CD ⼯ 作流,轻松发布! 开发⼯程 架以及库,随着业务规模的增⻓,多语⾔多版本的维护和管理 变得越来越复杂。 技术栈杂多 研发流程⻓达⼗⼏个步骤:安装开发软件、配置环境、克隆代 码、开发、本地调试、提交代码、编译构建、⾃动化测试、部 署到测试环境、测试验收、合并代码到主线、部署到⽣产环 境… 研发流程繁⻓ 起因:开发者之痛 为了部署测试,不仅要学习容器化、Kubernetes,还要申请资 源安装配置各项中间件,学习成本⾼,费⼼费⼒ 复杂的基础设施 Build Account Project Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, 使⽤新代码更新正在运⾏的容器, 只需⼏秒钟⽽不是⼏分钟。 本地开发实时部署到远程集群 如何⼯作的? Kubernetes 集群 更改 资源定义 ⻆⾊定义 执⾏资源 资源定义 资源定义 更改 ⽂件 更改 ⽤户 触发 ⽂件 更改 frontend0 码力 | 34 页 | 10.81 MB | 1 年前3
Comprehensive Rust(简体中文) 20241217 2.2 本培训中的代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 使用 Cargo 在本地运行代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 I 第一天:上午 20 3 欢迎来到第一天 21 4 Hello . 192 34.1.4 AIDL 服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 34.1.5 部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 34.1.6 AIDL 客户端 . . . 无法执行单元测试。将代码复制并粘贴到实际 Playground 中,以演示单元测 试。 • 嵌入的 Playground 会在离开页面后丢失编辑状态!因此,学员应使用本地安装的 Rust 或通过 Playground 解题。 2.3 使用 Cargo 在本地运行代码 如果你想在自己的系统上进行代码实验,则需要先安装 Rust。为此,请按照 Rust Book 中的说明 操作。 这应会为你提供一个有效的 rustc0 码力 | 359 页 | 1.33 MB | 11 月前3
Rust在Substrate 开发框架中的使用blockchain? 后端: ● 开发语言:Java, Ruby ● 框架:Spring,Rails ● 数据库:Postgres, MySQL ● 自动化测试 ● CI / CD ● 部署云服务:AWS,阿里云 web 2.0 开发 前端:HTML, Javascript, CSS ● React ● Vue ● Angular 中心应用的问题: ● 难以保证不作恶 ● staking slashing csprng governance dao parachains permissions Rust 编译为Wasm Wasm在链上存储 Rust 编译成本地可执行文件 RUNTIME Substrate Runtime Module Library 提供一系列的即插即用的功能,如 资产管理、共识、合约、自治等。 你也可以开发自己的Runtime组0 码力 | 37 页 | 967.22 KB | 1 年前3
Rust语言核心竞争力-庄晓立CPU/GPU • 内存/硬盘 • 电力 • 网络流量 • 其他设备和人员维护费用 都是白花花的银子,“硬件很便宜”的说法不靠 谱 你能买最新硬件,对手也能,无助于提升竞争力 物联网 • 需要大批量部署,必须控制硬件成本 • 受限于成本控制,硬件性能不强 • 受限于电池供电,功耗不能高 这就要求系统和应用软件要高效利用硬件 程序运行在VM上,或后台跑GC 白白浪费了宝贵的CPU和内存资源 Rust在系统编程领域 map(|x| *x = 66) .all(|_| true); } http://is.gd/9aZTCo • FFI 直接调用C库,运行时零损耗 • Thread 直接使用OS本地线程,无额外管理调度损耗 • FileSystem Network等IO操作 薄薄一层封装,通常唯一对应某个系统API调用 • Closure Inline, Unboxed (No0 码力 | 51 页 | 1.09 MB | 1 年前3
Hello 算法 1.1.0 Rust版与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 两种实现都支持栈定义中的各项操作。数组实现额外支持随机访问,但这已超出了栈的定义范畴,因此一般 不会用到。 时间效率 在基于数组的实现中,入栈和出栈操作都在预先分配好的连续内存中进行,具有很好的缓存本地性,因此效 率较高。然而,如果入栈时超出数组容量,会触发扩容机制,导致该次入栈操作的时间复杂度变为 ?(?) 。 在基于链表的实现中,链表的扩容非常灵活,不存在上述数组扩容时效率降低的问题。但是,入栈操作需要0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 www.hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 www.hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 两种实现都支持栈定义中的各项操作。数组实现额外支持随机访问,但这已超出了栈的定义范畴,因此一般 不会用到。 时间效率 在基于数组的实现中,入栈和出栈操作都在预先分配好的连续内存中进行,具有很好的缓存本地性,因此效 率较高。然而,如果入栈时超出数组容量,会触发扩容机制,导致该次入栈操作的时间复杂度变为 ?(?) 。 在基于链表的实现中,链表的扩容非常灵活,不存在上述数组扩容时效率降低的问题。但是,入栈操作需要0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版与阅读代码相比,编写代码的过程往往能带来更多收获。动手学,才是真的学。 第 0 章 前言 hello‑algo.com 6 图 0‑3 运行代码示例 运行代码的前置工作主要分为三步。 第一步:安装本地编程环境。请参照附录所示的教程进行安装,如果已安装,则可跳过此步骤。 第二步:克隆或下载代码仓库。前往 GitHub 仓库。如果已经安装 Git ,可以通过以下命令克隆本仓库: git clone ZIP”按钮直接下载代码压缩包,然后在本地解压即 可。 第 0 章 前言 hello‑algo.com 7 图 0‑4 克隆仓库与下载代码 第三步:运行源代码。如图 0‑5 所示,对于顶部标有文件名称的代码块,我们可以在仓库的 codes 文件夹内 找到对应的源代码文件。源代码文件可一键运行,将帮助你节省不必要的调试时间,让你能够专注于学习内 容。 图 0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 两种实现都支持栈定义中的各项操作。数组实现额外支持随机访问,但这已超出了栈的定义范畴,因此一般 不会用到。 时间效率 在基于数组的实现中,入栈和出栈操作都在预先分配好的连续内存中进行,具有很好的缓存本地性,因此效 率较高。然而,如果入栈时超出数组容量,会触发扩容机制,导致该次入栈操作的时间复杂度变为 ?(?) 。 在基于链表的实现中,链表的扩容非常灵活,不存在上述数组扩容时效率降低的问题。但是,入栈操作需要0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust 程序设计语言简体中文版rustup update 若要卸载 Rust 和 rustup ,请在命令行中运行如下卸载脚本: $ rustup self uninstall 本地文档 安装程序也自带一份文档的本地拷贝,可以离线阅读。运行 rustup doc 在浏览器中查看本地 文档。 任何时候,如果你拿不准标准库中的类型或函数的用途和用法,请查阅应用程序接口 (application programming interface,API)文档! Cargo 的信息,请查阅 其文档。 总结 你已经准备好开启 Rust 之旅了!在本章中,你学习了如何: • 使用 rustup 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜猜 trait 必须在作用域中。第十章会详细介绍 trait。 接下来,我们在中间还新增加了两行。第一行调用了 rand::thread_rng 函数提供实际使用的 随机数生成器:它位于当前执行线程的本地环境中,并从操作系统获取 seed。接着调用随机 数生成器的 gen_range 方法。这个方法由 use rand::Rng 语句引入到作用域的 Rng trait 定 义。gen_range0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0rustup,请在命令行中运行如下卸载脚本: 13/562Rust 程序设计语言 简体中文版 $ rustup self uninstall 本地文档 安装程序也自带一份文档的本地拷贝,可以离线阅读。运行 rustup doc 在浏览器中查看本地 文档。 任何时候,如果你拿不准标准库中的类型或函数的用途和用法,请查阅应用程序接口 (application programming interface,API)文档! Cargo 的信息,请查阅 其文档。 总结 你已经准备好开启 Rust 之旅了!在本章中,你学习了如何: • 使用 rustup 安装最新稳定版的 Rust • 更新到新版的 Rust • 打开本地安装的文档 • 直接通过 rustc 编写并运行 Hello, world! 程序 • 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜数 trait 必须在作用域中。第十章会详细介绍 trait。 接下来,我们在中间还新增加了两行。第一行调用了 rand::thread_rng 函数提供实际使用的 随机数生成器:它位于当前执行线程的本地环境中,并从操作系统获取 seed。接着调用随机 数生成器的 gen_range 方法。这个方法由 use rand::Rng 语句引入到作用域的 Rng trait 定义。 gen_range 方法获取一个范围表达式(range0 码力 | 562 页 | 3.23 MB | 1 月前3
Hello 算法 1.2.0 繁体中文 Rust 版與閱讀程式碼相比,編寫程式碼的過程往往能帶來更多收穫。動手學,才是真的學。 第 0 章 前言 www.hello‑algo.com 6 圖 0‑3 執行程式碼示例 執行程式碼的前置工作主要分為三步。 第一步:安裝本地程式設計環境。請參照附錄所示的教程進行安裝,如果已安裝,則可跳過此步驟。 第二步:克隆或下載程式碼倉庫。前往 GitHub 倉庫。如果已經安裝 Git ,可以透過以下命令克隆本倉庫: git clone clone https://github.com/krahets/hello-algo.git 當然,你也可以在圖 0‑4 所示的位置,點選“Download ZIP”按鈕直接下載程式碼壓縮包,然後在本地解壓 即可。 第 0 章 前言 www.hello‑algo.com 7 圖 0‑4 克隆倉庫與下載程式碼 第三步:執行源程式碼。如圖 0‑5 所示,對於頂部標有檔案名稱的程式碼塊,我們可以在倉庫的 在倉庫的 codes 檔案 夾內找到對應的源程式碼檔案。源程式碼檔案可一鍵執行,將幫助你節省不必要的除錯時間,讓你能夠專注 於學習內容。 圖 0‑5 程式碼塊與對應的源程式碼檔案 除了本地執行程式碼,網頁版還支持 Python 程式碼的視覺化執行(基於 pythontutor 實現)。如圖 0‑6 所 示,你可以點選程式碼塊下方的“視覺化執行”來展開檢視,觀察演算法程式碼的執行過程;也可以點選“全0 码力 | 388 页 | 18.82 MB | 10 月前3
共 24 条
- 1
- 2
- 3













