Axum 0.8发布
Axum 是一个基于Rust的Web框架,结合了Tokio、Tower和Hyper的功能。
路径参数语法更新:路径参数的语法从旧的/:single和/*many变成了新的/{single}和/{*many}。这一改动是为了支持更灵活的路由定义,特别是当路径包含冒号或星号时。新的语法与format!宏和OpenAPI描述一致。
可选提取器(Option
这些变化意味着对现有代码的重大影响,但它们旨在提供更一致、更强大的路由和请求处理能力。文章还提到了相关的迁移示例和相关的GitHub pull请求,鼓励用户参考这些资源以完成升级。此外,文章感谢了社区贡献者,特别是那些在实现这些新功能上付出努力的开发者。
总的来说,Axum 0.8.0版本的发布标志着该框架在设计和功能上的显著进展,特别是对于需要复杂路由处理和请求提取的Web应用开发者来说,这是一个重要的更新。
一个新的GDB TUI前端
当你没有可用的 gdbserver 时,通过 gdb 远程连接,并显示类似 gef 的 TUI。
无需 gdbserver:许多厂商提供的 gdbserver 二进制文件是无效的,而这个工具仅需 gdb、nc、cat 和 mkfifo 即可在远程目标上运行。 无需 Python 支持:许多厂商提供的 gdb 不支持 Python。 架构无关:heretek 仅使用 gdb 提供的信息,无需额外的代码!
https://github.com/wcampbell0x2a/heretek
Cargo.toml 中的特性如何工作
这篇文章探讨了在Rust包管理器Cargo的Cargo.toml文件中,如何处理特征(features)以及潜在的破坏性变化(breakage)。作者强调了Cargo的cargo-semver-checks工具如何帮助开发者避免不经意的SemVer(Semantic Versioning)违反,特别是当涉及到包的特征更改时。
文章通过一个实际例子解释了特征如何工作:在这个例子中,my_crate添加了一个名为max_performance的新特征,这个特征旨在简化用户选择高性能模式的操作。然而,这个看似无害的改变实际上可能导致依赖于该特征的用户代码崩溃,因为该特征改变了依赖库的接口。
https://predr.ag/blog/breakage-in-the-cargo-toml-how-rust-package-features-work/
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区