ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust日报】Cot - “懒人”友好的 Web 框架

【Rust日报】Cot - “懒人”友好的 Web 框架

原创 数据库开发技术 作者:Rust语言中文社区 时间:2025-02-24 14:43:27 0 删除 编辑

eserde : 更友好的序列化/反序列化框架

众所周知,serde 是 Rust 生态中的一个非常强大的序列化/反序列化框架。今天介绍的这个 eserde 是由 Mainmatter 开发的,它在 serde 之上构建,旨在提供更好的错误处理。serde 在反序列化的时候,遇到第一个错误就会停止解析,而 eserde 能够一次性报告多个错误,可以大大节省调试时间,减少 API 交互次数。

下面是一个示例:

#[derive(Debug, eserde::Deserialize)]
//              ^^^^^^^^^^^^^^^^^^^
//          Using `eserde::Deserialize`
//        instead of `serde::Deserialize`!
struct Package {
    version: Version,
    source: String,
}

#[derive(Debug, eserde::Deserialize)]
struct Version {
    major: u32,
    minor: u32,
    patch: u32,
}

let payload = r#"
    {
        "version": {
            "major": 1,
            "minor": "2"
        },
        "source": null
    }"#
;
let errors = eserde::json::from_str::<Package>(&payload).unwrap_err();
//           ^^^^^^^^^^^^
//      We're not using `serde_json` directly here!
assert_eq!(
    errors.to_string(),
    r#"Something went wrong during deserialization:
- version.minor: invalid type: string "2", expected u32 at line 5 column 24
- version: missing field `patch`
- source: invalid type: null, expected a string at line 7 column 22
"#

);

可以看出,eserde 一次性给出了 3 个错误消息,分别是:属性缺失、属性值类型错误、属性值缺失。这个体验确实是很好的。

原文地址:https://mainmatter.com/blog/2025/02/13/eserde/

Cot: “懒人”友好的 Web 框架

Cot 是一个类似 Django 的“懒人”友好的 Rust Web 框架,内置了大量功能,追求开箱即用的开发体验。项目作者认为目前 Rust 生态中缺乏易用且强大的 Web 框架,所以基于axum、sea-query、tower、serde等项目构建了这个项目。

主要特性:

  • 内置身份验证
  • 会话管理
  • 管理面板
  • 模板系统
  • 自带 ORM,支持自动生成数据库迁移(这是其他 ORM 如 SeaORM 和 Diesel 所不具备的)

注意:还处于早期开发阶段,尚未达到生产可用水平。但是项目团队计划通过频繁更新快速完善功能

官方网站:https://cot.rs/

Github 仓库:https://github.com/cot-rs/cot

Miguel Ojeda 在 FOSDEM 2025 上关于 Rust-for-Linux 项目的演讲

Miguel Ojeda 是 Rust-for-Linux 项目的维护者,他在 FOSDEM 2025 发表了关于该项目的演讲。简单总结如下:

  1. 项目背景:

  • Rust-for-Linux 项目旨在为 Linux 内核添加 Rust 语言支持
  • 长期目标是让内核维护者能够自由选择使用C或Rust
  • 项目的核心优势在于提供更多的代码安全性保证和开发信心
  • 历史发展:

    • 2013 年出现最早的概念验证 rust.ko

    • 2019 年创建 Rust-for-Linux GitHub 组织

    • 2022 年 Rust 支持正式合并到 Linux 6.1 LTS 版本

  • 未来展望:

    • Rust 语言的学习难度
    • GCC 支持的需求
    • 代码审查的复杂性
    • 多位内核开发者对项目持积极态度

    • 2025 年可能会在 GPU 驱动方面有重大突破

    • 主要挑战包括:

  • 社区反应:

    • 大多数开发者认为 Rust 融入 Linux 内核是不可避免的趋势

    • 部分开发者担心学习曲线陡峭

    • 一些开发者对Rust编程体验非常认可,认为能减少常见 bug

    原文地址:https://lwn.net/SubscriberLink/1007921/9020dbb12585d48f/

    --

    From 日报小组 Yuan YQ

    社区学习交流平台订阅:

    • Rustcc 论坛: 支持 RSS
    • 微信公众号:Rust语言中文社区

    原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

    请登录后发表评论 登录
    全部评论

    注册时间:2020-06-11

    • 博文量
      1769
    • 访问量
      718311