嵌入式 Rust 新闻:第 59 期
- Zenoh no-std 支持标准版
- 导致 Cloudflare 崩溃的 Rust 异常
- Google 为嵌入式固件推出 Wasefire
- Arduino 术语更新引发争议
- Zephyr 4.3 版本已发布
- Fluid Kernels
- Simulator86 是一个实验性的 Rust 嵌入式模拟器
- Rust 1.91 Released
阅读:https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-59
教程《急躁程序员的 Bevy 和 Rust 指南》第三章 - 让数据流动

继续 Rust + Bevy 系列教程。本章将通过将硬编码的字符逻辑重构为一个灵活的、数据驱动的系统,来演示 Rust 中的数据驱动设计。我们将涵盖以下内容:
- 使用 Serde 从外部 RON 文件反序列化字符配置
- 构建基于特性限定组件的通用系统
- 利用 Rust 的类型系统(HashMap、枚举、闭包)进行运行时字符切换
该教程展示了如何将数据与行为分离,从而消除代码重复,同时保持类型安全 —— 这是 Rust 的一个核心原则,可以随着项目的增长而扩展。
阅读:https://aibodh.com/posts/bevy-rust-game-development-chapter-3/
cargo-safe:在 macOS 沙箱中轻松运行不受信任代码
在 GitHub 上审查 PR(或者只是运行别人的项目)时,我总是有点担心。我通常需要快速浏览一遍,以确保例如 build.rs 里没有出现什么异常情况。
在 macOS 系统中,我们有 seatbelt/sandbox-exec 工具,它允许我们明确指定进程可以执行的操作。例如,cargo 的子命令 cargo safe 会在沙盒环境中执行 cargo 及其所有相关操作。
使用方法很简单:
cargo install cargo-safe
cargo safe run
目前仅支持 macOS。未来计划支持 Linux。
- 仓库:https://github.com/bazhenov/cargo-safe
- 讨论:https://www.reddit.com/r/rust/comments/1p41eqg/introducing_cargosafe_an_easy_way_to_run/
super-table:支持跨行跨列的终端表格库
这是 comfy-table 的一个 fork,但由于原项目已被其维护者认为已经完成,所以不得不对其进行分支,以添加跨列和跨行的单元格功能。
使用示例:
use super_table::{Cell, Table};
let mut table = Table::new();
table
.set_header(vec!["Header1", "Header2", "Header3", "Header4"])
.add_row(vec![
Cell::new("Spans 2x2").set_colspan(2).set_rowspan(2),
Cell::new("Cell 3"),
Cell::new("Cell 4"),
])
.add_row(vec![
// First 2 positions are occupied by rowspan above
Cell::new("Cell 3 (row 2)"),
Cell::new("Cell 4 (row 2)"),
]);
+---------+---------+----------------+----------------+
| Header1 | Header2 | Header3 | Header4 |
+=====================================================+
| Spans 2x2 | Cell 3 | Cell 4 |
| +----------------+----------------|
| | Cell 3 (row 2) | Cell 4 (row 2) |
+---------+---------+----------------+----------------+
它兼容所有现有功能,例如样式和对齐方式。该 API 与 comfy-table 基本相同,只是在 Cell 上增加了 set_colspan() 和 set_rowspan() 方法。如果您已经在使用 comfy-table 并且想要实现单元格跨行显示,super-table 可以直接替代它。
仓库:https://github.com/benrogmans/super-table
Gitoxide 11 月更新
Gitoxide 是一个 Rust 实现的 Git。11 月更新情况:
-
GitButler更新:
- 引入
butCLI程序,允许在无用户界面的情况下使用GitButler。 - 支持在任何分支上操作,而不仅限于
gitbutler/workspace。 - 进行了大规模代码重构,以支持“现代”版本的
but二进制文件。
- 引入
-
AI工具的使用:
- 开始使用AI工具(如Copilot)解决项目中的问题。
- 鼓励社区更多地使用这些工具,并为开发者提供相关指导。
-
社区贡献:
- 实现了基于
gitoxide的增量blame功能,性能大幅提升(500倍更快)。 - 对
gix-transport和gix-protocol进行了清理,改善了代码结构。 - 为
gix blame和gix diff添加了与Git兼容的测试,提升了兼容性。
- 实现了基于
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论