【Rust日报】2024-06-01 Diesel 发布新版本 2.2.0

💡 原文中文,约2800字,阅读约需7分钟。
📝

内容提要

Diesel发布新版本2.2.0,包含多项新功能和改进。现在支持PostgreSQL的COPY FROM和COPY TO语法。与Rust团队合作,稳定属性以提高错误消息质量。rencrypt-python是一个在Rust中实现的Python加密库,支持AES-GCM和ChaCha20Poly1305。GPM是一个可定制的通用包管理器。

🔎

延伸解读

Diesel 2.2.0 的实用改进

Diesel 2.2.0 新增了过程宏属性,可自动推断查询的返回类型,减少手动标注。同时支持检测连接实现以进行记录和性能测量,便于调试优化。对 PostgreSQL COPY FROM/COPY TO 的支持,让大批量数据导入导出更高效。此外,与 Rust 团队合作稳定属性,提升了错误消息质量,并支持将数据库驱动作为构建依赖,方便分发静态编译的 diesel-cli。

rencrypt-python 的性能与安全设计

rencrypt-python 是用 Rust 实现的 Python 加密库,基于 ring crate,支持 AES-GCM 和 ChaCha20Poly1305 两种 AEAD 算法。它使用内存缓冲区进行原地加密解密,避免复制和额外内存分配,从而提升性能。示例中展示了密钥生成、缓冲区创建、加密解密流程,并强调使用 zeroize 清理明文和密钥,密钥在对象销毁时也会被清零,兼顾了安全与效率。

GPM 的定制化包管理思路

GPM 是一个完全可定制的通用包管理器,允许用户初始化自己的包管理器并添加新的包类型。通过 `gpm init` 初始化,使用 `gpm type add <NAME> <EXT> <SHELL>` 添加类型,并在 `~/.gpm/types.toml` 中修改 shell 配置。这为需要管理多种包格式或自定义工作流的开发者提供了灵活的基础设施,但具体功能需参考其 GitHub 仓库进一步了解。

❓

Q&A

Diesel 2.2.0版本有哪些新功能?

Diesel 2.2.0版本新增了对PostgreSQL的COPY FROM和COPY TO语法的支持,并改进了错误消息的质量。

rencrypt-python是什么?

rencrypt-python是一个在Rust中实现的Python加密库,支持AES-GCM和ChaCha20Poly1305加密算法。

如何使用rencrypt-python进行加密和解密?

使用rencrypt-python时,可以创建一个缓冲区并调用encrypt和decrypt方法进行加密和解密,确保在完成后清除明文和密钥。

GPM是什么?

GPM是一个完全可定制的通用包管理器,允许用户初始化和添加新的包类型。

Diesel如何提高错误消息的质量?

Diesel通过与Rust团队合作,稳定属性以自定义编译器发出的错误消息,从而提高错误消息的质量。

如何初始化GPM包管理器?

可以通过运行命令'gpm init'来初始化GPM包管理器。

➡️

继续阅读