< 返回版块

苦瓜小仔 发表于 2025-11-23 13:06

Tags:日报

嵌入式 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。

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 月更新情况:

  1. GitButler更新

    • 引入but CLI程序,允许在无用户界面的情况下使用GitButler。
    • 支持在任何分支上操作,而不仅限于gitbutler/workspace
    • 进行了大规模代码重构,以支持“现代”版本的but二进制文件。
  2. AI工具的使用

    • 开始使用AI工具(如Copilot)解决项目中的问题。
    • 鼓励社区更多地使用这些工具,并为开发者提供相关指导。
  3. 社区贡献

    • 实现了基于gitoxide的增量blame功能,性能大幅提升(500倍更快)。
    • gix-transportgix-protocol进行了清理,改善了代码结构。
    • gix blamegix diff添加了与Git兼容的测试,提升了兼容性。

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页