Rust操作Docx文件的实践经验
《Thoughts on the Word Spec in Rust》由Drew Miller于2025年10月5日发表于Tritium Legal博客,探讨了Tritium Legal Technologies在Rust中处理Microsoft Word(docx)文件格式的挑战及自建docx模块的必要性。文章指出,Word规范基于XML,支持复杂的段落和表格嵌套结构,而Rust的内存安全模型使得实现这一规范颇具挑战。Tritium的核心产品需对法律文档进行精准编辑,必须通过“序列化-反序列化”往返测试以确保数据完整性。
文章分析了Rust库docx_rs的优缺点:它提供直观API,支持生成和读取docx文件,并兼容WebAssembly,但对复杂XML标签支持不足,易导致数据丢失,无法满足Tritium的需求。因此,Tritium选择自建docx模块,完全掌控技术栈,
https://tritium.legal/blog/word
300个字符包含所有Rust的48个关键字
mod x {
pub(super) struct X;
use Ok;
impl X {
pub(in crate) async fn x(self: Self, x: &'static &'_ dyn for<> Fn()) where {
unsafe extern { safe fn x(); }
macro_rules! x { () => {}; }
if 'x: loop {
return match while let true = break 'x false { continue } {
ref x => { &raw mut x; async { const { enum A {} } }.await as () },
};
} { type x = X; } else { move || { trait x { }; union B { x: () } }; }
}
}
}
讨论:https://www.reddit.com/r/rust/comments/1ns8mxg/all_48_rust_keywords_in_under_300_characters/
【入门教程】手把手教你用Axum实现密码重置
文章通过清晰的流程描述、代码示例和测试步骤,展示如何构建一个安全高效的密码重置功能,包括数据库迁移、模型定义、存储库实现、邮件服务集成及API端点开发。核心流程包括用户请求重置、生成一次性令牌、发送邮件、验证令牌及更新密码,强调安全性(如对不存在的邮箱返回统一响应以防信息泄露)和数据完整性(令牌一小时有效,成功重置后失效所有用户令牌)。
https://blog.0xshadow.dev/posts/backend-engineering-with-axum/axum-reset-password/
Obelisk - 一个开源的确定性工作流引擎
Obelisk简介:Obelisk 是一个开源的确定性工作流引擎,基于 WebAssembly(WASM)构建,利用 SQLite 存储和重放工作流。它旨在为开发者提供高效、可靠的工作流管理,支持复杂业务逻辑的执行,特别适合需要确定性与隔离性的场景,如分布式系统或自动化任务处理。其核心优势在于通过 WASM 的沙箱隔离确保执行安全,同时结合 SQLite 提供持久化存储和可重放性。 0.25.4版本更新:Obelisk 0.25.4 强制工作流和活动函数采用可失败(fallible)返回类型(如 result 或 result<T, E>),显式映射 execution-failed 错误(例如内存耗尽或超时),利用 WASM 隔离避免无声中断或资源泄漏。此变更简化错误处理,尤其在 Saga 模式下,确保关键活动失败时可中止或补偿。新版本优化 CLI,新增 obelisk generate wit-support 导出 WIT 文件、-invoke 支持加入集标签、close(join-set) 清理资源,并改进 WebUI 可用性,提升开发体验与状态追踪。推荐订阅邮件列表关注后续进展。
https://obeli.sk/blog/announcing-obelisk-0-25-4/
--
From 日报小组 mike tang
社区学习交流平台订阅:
评论区
写评论还没有评论