< 返回版块

苦瓜小仔 发表于 2025-06-28 14:27

Tags:日报

Rust Forge Conf 2025

Rust Forge Conf 2025 于 6 月 28 日至 7 月 2 日在新西兰惠灵顿举办。会议安排丰富,包括主题演讲、工作坊、参观等。

亮点 Adobe有 将 Rust 引入 Photoshop 的经验分享、OpenStar 超导磁体设计助力核聚变发展、TypeScript 核心团队成员探讨编程语言构建等。

会议还设有应用安全、游戏开发、TUI、全栈 Web 开发等工作坊,以及参观《指环王》道具工作室、生态保护区和核聚变反应堆等特色活动。

阅读:https://newsletter.rustforgeconf.com/archive/rust-forge-conf-2025-schedule-available-tours/

Reddit:https://www.reddit.com/r/rust/comments/1llssm0/rust_forge_conf_2025_schedule_announced/

文章《The Unreasonable Effectiveness of Fuzzing for Porting Programs》

作者:Russell Power - 机器学习与分布式系统研究员

文章探讨了利用大型语言模型(LLM)和模糊测试(fuzzing)将 C 语言程序移植到 Rust 语言的可行性与有效性。

作者通过多次实验,发现结合 LLM 生成代码和模糊测试验证的方法,可以自动化地、低成本地完成从 C 到 Rust 的程序移植。

在实验中,作者先让 LLM 根据 C 语言的头文件和源代码生成 Rust 语言的实现,然后编写模糊测试来比较 C 和 Rust 实现的输出是否一致。

这种方法在 Zopfli 压缩库的移植中取得了成功,生成的 Rust 代码在功能上与原 C 代码完全相同,且移植成本极低。

尽管如此,作者也指出了这种方法的一些局限性,例如生成的 Rust 代码风格较为 “C 化”,自动化程度还有待提高,以及对于更复杂或状态更多的库,这种方法可能不适用。

阅读:https://rjp.io/blog/2025-06-17-unreasonable-effectiveness-of-fuzzing

仓库:https://github.com/rjpower/portkit

Reddit:https://www.reddit.com/r/rust/comments/1llvud0/the_unreasonable_effectiveness_of_fuzzing_for/

文章《The Complete Rust Security Handbook: From Safe Code to Unbreakable Systems》

作者:yevh

这是一本全面的 Rust 安全手册(面向 Web3)。它强调 Rust 虽然提供了内存安全,但应用安全需要开发者通过纪律来实现。

手册分为多个章节,分别介绍了 Rust 安全的三大支柱:类型安全、错误处理和密钥安全。

详细讨论了如何使用新类型模式(Newtype Pattern)来防止类型混淆,如何安全地处理错误而不是简单地使用 unwrap(),以及如何安全地进行整数运算以避免溢出等问题。

此外,还涵盖了密码学和秘密管理、注入攻击防护、异步 Rust 的安全使用、Web3 和智能合约安全,以及 unsafe 关键字的谨慎使用等内容。

最后,提供了开发和部署阶段的安全建议,以及一个终极安全检查清单,帮助开发者在生产环境中构建真正安全的 Rust 系统。

阅读:https://github.com/yevh/rust-security-handbook

Reddit:https://www.reddit.com/r/rust/comments/1llo602/a_10chapter_handbook_for_writing_actually_secure/

Sniffnet:发布 v1.4

Sniffnet 新增从 PCAP 文件导入数据功能,与网络适配器数据处理相结合。

它在 8 年旧款 MacBook Air 上处理 1.6 GB(260 万数据包)PCAP 文件仅需 25 秒,比 Wireshark 快 2.2 倍。

它采用独特数据处理方式,聚焦提取数据包头部关键字段,还支持 ARP 协议、新增主题等。

阅读:https://sniffnet.net/news/v1.4/

仓库:https://github.com/GyulyVGC/sniffnet

Reddit:https://www.reddit.com/r/rust/comments/1lm3hzk/media_announcing_sniffnet_v14_its_2x_faster_than/

tokio-timeout:提供 #[timeout] 宏对函数包装超时逻辑

#[timeout(duration = "1s", on_error = "panic")]
async fn my_fun() {}

展开成

async fn my_fun() {
    match tokio::time::timeout(core::time::Duration::new(1, 0), async {}).await {
        Ok(o) => o,
        Err(_e) => panic!("'run' timed out after 1s0ns")
    }
}

Crossfire:高性能 spsc/mpsc/mpmc 通道

它支持异步上下文,并且可以在异步和阻塞上下文之间进行通信。Crossfire 采用无锁设计,底层基于 crossbeam-channel 实现。

自 2022 年 12 月发布 v1.0 以来,已在生产环境中广泛使用并经过大量测试。 2025 年 6 月发布的 v2.0 对代码库和 API 进行了重构,移除了发送者和接收者中 ChannelShared 对象的泛型类型,使 API 更易于记忆和使用。

Crossfire 在异步逻辑优化方面表现出色,性能优于其他异步通道实现(如 flume、tokio::mpsc 等)。

仓库:https://github.com/frostyplanet/crossfire-rs

Reddit:https://www.reddit.com/r/rust/comments/1lm2fog/crossfire_v20_mpmc_channel_for_async_2_times/

Glowstick:类型级别的 tensor shape

glowstick 通过类型级编程在编译时验证张量维度,避免维度不匹配问题。

它支持静态和动态维度的混合使用,并已集成 candle 和 burn 框架,提供了 Llama 3.2 的示例实现。

此外,该 crate 还展示了如何针对特定形状的张量优化操作。

仓库:https://github.com/nicksenger/glowstick

Reddit:https://www.reddit.com/r/rust/comments/1llmdcy/glowstick_typelevel_tensor_shapes/

Crunch:直接替换 Cargo,用于将 Rust 编译工作卸载到远程服务器执行

虽然我很喜欢处理大型 Rust 代码库,但每天遇到的一个烦恼是执行 Cargo 命令带来的本地计算负载。它拖慢了开发周期,让我无法集中精力。

大约 6 个月前,受到 cargo-remote 的启发,我构建了 crunch 。

我的目标是让 Devex 变得极其简单,尽可能与 cargo 类似。只需将 cargo 替换为 crunch ,一切就会按预期进行,只是计算是在远程服务器上进行的。

crunch check
crunch clippy --workspace
crunch t -p sys-internals

我和几个开发人员一直在使用共享的 Hetzner AX102,我们真的很享受这种体验!

仓库:https://github.com/liamaharon/crunch-cli

Reddit:https://www.reddit.com/r/rust/comments/1lljcqz/dropin_cargo_replacement_for_offloading_rust/

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页