应用 waPC (rust) 做软件测试工具
第三届中国 Rust 开发者大会 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权 大家好! @rustropy_gaming ruito_89 PhoTto / image / chart Webassembly Procedures Call waPC 协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging) Microservices • Multiple backend product line with complex upstream • Common testing platform 大公司抓包工具的需求 软件测试工具 • 模拟数据规则 • 自动化测试 • Supports http/https/tcp/websocket(MITM) • Can use rust to construct own wasm API • Support websocket stand in for wasm API 抓包 - Wasm Mock Server wasm 工具 does not invent the wheel 软件测试工具 • 模拟数据规则 • 自动化测试 ModifyRequest(req *http.Request) error{ … req_,err:=wasm.Invoke(ctx0 码力 | 30 页 | 2.50 MB | 1 年前3基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺
Flight 的物联网和时序数据传输及 转换工具 霍琳贺 涛思数据 Rust China Conf 2023 CONTENTS 自 我 介 绍 T D e n g i n e t a o s X R u s t 使 用 TDengine Rust • OOXML - Excel 解析库 • xlsx2csv - Excel 转 CSV 工具 • Unqlite - 单文件非关系型数据库 Multi-address DSN(Data Source Name) parser. TDengine 应用开发组 • Python/Rust/Go 连接器 • 数据可视化 • 数据库运维工具 • 第三方数据源接入 • BI 系统接入 https://taosdata.com/ https://github.com/zitsen CONTENTS 自 我 介 绍 T D e n g i n e t a o s X R u s t 使 用 Why Rust ? • 安全性 • 高性能 • 跨平台兼容 • 强大的类型系统和抽象表达能力 • 优秀的 Rust 生态和开发工具链 • C FFI 互操作能力 • async/await 异步编程 Rust - Crates Used in taosX • Async runtime: https://crates.io/crates/tokio0 码力 | 29 页 | 2.26 MB | 1 年前3Comprehensive Rust(繁体中文)
Drop 特徵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3 19.8 練習:建構工具型別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 19.8.1 解決方案 . . . . . . . . @henrythebuilder and @detro. 如果想協助翻譯,請參閱 [操作說明],瞭解如何開始翻譯。譯者可以在 [問題追蹤工具] 上討論及統整翻譯。 16 第 2 部分 使用Cargo 您開始閱讀 Rust 內容後,很快就會認識 Cargo,這是在 Rust 生態系統中使用的標準工具,用於建構及執 行 Rust 應用程式。以下簡要介紹 Cargo,以及如何在更廣大的生態系統和本訓練課程中運用 Cargo。 behavior. The command would be: sudo apt install cargo rust-src rustfmt 2.1 Rust 生態系統 Rust 生態系統包含多項工具,以下列出主要工具: • rustc:Rust 編譯器,可將 .rs 檔案轉換成二進位檔和其他中繼格式。 • cargo: the Rust dependency manager and build tool0 码力 | 358 页 | 1.41 MB | 10 月前3Comprehensive Rust(繁体中文) 202406
Drop 特徵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 3 19.8 練習:建構工具型別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 19.8.1 解決方案 . . . . . . . . @henrythebuilder and @detro. 如果想協助翻譯,請參閱 [操作說明],瞭解如何開始翻譯。譯者可以在 [問題追蹤工具] 上討論及統整翻譯。 15 第 2 部分 使用Cargo 您開始閱讀 Rust 內容後,很快就會認識 Cargo,這是在 Rust 生態系統中使用的標準工具,用於建構及執 行 Rust 應用程式。以下簡要介紹 Cargo,以及如何在更廣大的生態系統和本訓練課程中運用 Cargo。 behavior. The command would be: sudo apt install cargo rust-src rustfmt 2.1 Rust 生態系統 Rust 生態系統包含多項工具,以下列出主要工具: • rustc:Rust 編譯器,可將 .rs 檔案轉換成二進位檔和其他中繼格式。 • cargo: the Rust dependency manager and build tool0 码力 | 356 页 | 1.41 MB | 1 年前3Comprehensive Rust(简体中文) 202412
具。在这里,我们想简要介绍一下什么是 Cargo、它如何融入更广泛的生态系统,以及我们如何在本培训 中合理利用 Cargo。 安装 请按照 https://rustup.rs/ 上的说明操作。 这将为你提供 Cargo 构建工具 (cargo) 和 Rust 编译器 (rustc)。你还将获得 rustup,这是一个命令 行实用程序, 你可以用它来安装不同的编译器版本。 安装 Rust 之后,你应当配置你的编辑器或 IDE 格式化工具。但是, 这样会得到一个过时的 Rust 版本,这可能会导致意外的行为。命令如下: sudo apt install cargo rust-src rustfmt 2.1 Rust 生态系统 Rust 生态系统由许多工具组成,主要包括: • rustc:Rust 编译器,可将 .rs 文件转换为二进制文件和其他中间格式。 • cargo:Rust 依赖项管理器和构建工具。Cargo https://crates.io 上的依赖 项, 并在构建项目时将它们传递给 rustc。Cargo 还附带一个内置的测试运行程序,用于执行单元 测试。 • rustup:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新 rustc 和 cargo。此外,rustup 还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根 据需要让你在这些版本之间切换。0 码力 | 359 页 | 1.33 MB | 10 月前3Rust 语言学习笔记
.................................................................................7 第一章 包管理系统与版本管理工具................................................................9 1.1 Crate ..................... 8 pub restricted ..................................................................... 15 1.3 版本管理工具 .............................................................................. 15 1.4 rust 编译运行 阱。即使谨慎的实 践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍,其消除了旧的陷阱并提供了伴你一路同行的友好、精良 的工具。想要 “深入” 底层控制的程序员可以使用 Rust,无需冒着常见的崩 溃或安全漏洞的风险,也无需学习时常改变的工具链的最新知识。其语言本身 更是被设计为自然而然的引导你编写出在运行速度和内存使用上都十分高效的 可靠代码。 参考: https://rustcc0 码力 | 117 页 | 2.24 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 22.4. D - 实用开发工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍:它消除了旧的陷阱,并提供了伴你一路同行的友好、精良的工具。想 要 “深入” 底层控制的程序员可以使用 Rust,无需时刻担心出现崩溃或安全漏洞,也无需因为 工具链不靠谱而被迫去了解其中的细节。更妙的是,语言设计本身会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 团队协作而言,非常高效的 工具。底层代码容易出现各种微妙的错误,在大多数其他语言中,这些错误只能通过广泛的测 试和经验丰富的开发者的仔细审核代码来捕捉。在 Rust 中,编译器充当了守门员的角色,拒 绝编译包含这些难以察觉的错误的代码,包括并发错误。通过与编译器合作,团队可以将时间 集中在程序逻辑上,而不是追踪 bug。 Rust 也为系统编程世界带来了现代化的开发工具: • Cargo 是内0 码力 | 562 页 | 3.23 MB | 9 天前3Rust 程序设计语言简体中文版
................................................................................ 590 21.4. D - 实用开发工具 .................................................................................................. 昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍:它消除了旧的陷阱,并提供了伴你一路同行的友好、精良的工具。想 要 “深入” 底层控制的程序员可以使用 Rust,无需时刻担心出现崩溃或安全漏洞,也无需因为 工具链不靠谱而被迫去了解其中的细节。更妙的是,语言设计本身会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 也为系统编程世界带来了现代化的开发工具: • Cargo 是内置的依赖管理器和构建工具,它能轻松增加、编译和管理依赖,并使依赖在 Rust 生态系统中保持一致。 • Rustfmt 格式化工具确保开发者遵循一致的代码风格。 • Rust Language Server 为集成开发环境(IDE)提供了强大的代码补全和内联错误信息功 能。 通过使用 Rust 生态系统中丰富的工具,开发者在编写系统级代码时可以更加高效。0 码力 | 600 页 | 12.99 MB | 1 年前3Real world Rust - Why and how we use Rust in TiKV
区域的调用没法保证安全 ● TiKV 场景的特殊性 ○ RocksDB 周边工具 ● cargo ● clippy ● rustfmt ● kcov ● perf + flamegraph Rust 2017 Roadmap ● 优化学习曲线 ● 完善工具链和 IDE ● 补全异步和并发编程工具包 ● 有足够的工具和范式开发高性能、健壮的、可扩展的后端服务程序 ● 大多数常用包都达到0 码力 | 29 页 | 506.53 KB | 1 年前3Await-Tree Async Rust 可观测性的灵丹妙药 - 赵梓淇
• 动态的调用关系 • 痛点:观测与调试工具无法理解灵活的执行逻辑 • Backtrace 不够直观 ( 调用栈 -> 调用树 ) • Tracing 无法追踪调用关系的变化 Async Rust 观测与调试的痛点 Async Rust 回顾 • 特性:用户态调度的无栈协程 • Pending Task 不存在栈空间 • 痛点:观测与调试工具无法还原 Pending Task 的执行状态 • gRPC Streaming 连接复用 & 反压 Await-Tree Async Rust 可观测性的灵丹妙药 总结 • Async 生态下的 Stack Tree Backtrace 工具 • 实时观测各个 Task 的执行状态 • 直观分析 Task/Future 间的依赖阻塞关系 • 将 Await-Tree 集成在自己的 Async Rust 系统中! • github.0 码力 | 37 页 | 8.60 MB | 1 年前3
共 26 条
- 1
- 2
- 3