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 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论