< 返回版块

rust 日报 babpstep 发表于 2023-03-21 22:38

Tags:rust,backend,rangetools

为什么在后端服务中使用 Rust

Adam Chalmers 是 cloudflare 的一名 Rust 工程师,几年来一直使用 Rust 进行后端服务开发。

他在一篇博客中,分享了自己日常工作中使用 Rust 使用的一些经验,以及为什么选择 Rust 而非其他的高级语言的原因,例如:

  1. 对性能要求很高的服务,比如 http 代理中需要借助 Rust 的高性能优势
  2. serde 和 diesel 提供了很好的基础功能,可以让开发者有更多时间编写业务逻辑、发布功能并专注于业务领域建模
  3. Rust 编写的程序可靠性很好,程序基本上不会崩溃,也不太会出现内存泄露问题

Adam Chalmers 同时介绍说,在 cloudflare,几乎大多数性能敏感服务都会使用 Rust,只有对性能不那么敏感的服务,才会选择 Golang 等语言,实际选择时,还是应该做好权衡。

详细内容请参考博客原文

rangetool 发布

过去的两年的编程经历中,作者看到了数篇文章,都旨在说明 Range 这种数据类型的缺陷。

因此作者参照 itertools 的设计,构建了 rangetools 这个库,为 Range 实现了很多扩展方法,带来了很多的便捷性。

use rangetools::Rangetools;

fn foo() {
    let i = (0..5).intersection(3..);
    assert!(i.contains(4));

    let u = (1..3).union(5..7);
    assert_eq!(u.into_iter().collect::<Vec<_>>(), vec![1, 2, 5, 6]);
}

crates.io 链接

github 链接

-- From 日报小组 RustPlumber

社区学习交流平台订阅:

评论区

写评论
leowei1234567 2023-03-22 16:47

有一说一,Rust程序健壮,一部分是语言设计,一部分是RUST编程人员平均水平较高

1 共 1 条评论, 1 页