文章类型: 排序方式:
如何用Rust实现gRPC服务
在本文中,将展示如何使用Rust和Proto协议创建一个简单的gRPC服务。
为什么Rust中存在Eq与PartialEq两种Trait ?
当我们将Student与仅限制必须实现Eq的类型一起使用时,编译器就会提示。HashMap键需要实现Eq trait,因为HashMap的键必须满足自反关系。在我们的例子中,多个学生实例的id都可以是0,因此Student类型不能作为键。
你是否了解Rust中闭包的优缺点?
在本文中,我们将探索Rust中的闭包,这是一种强大的语言特性,允许开发人员编写简洁、灵活且可读的代码。我们将深入研究闭包背后的动机,讨论它们的优点和缺点,并通过实际示例演示它们的使用。
Rust:深入了解线程池
在某些情况下,你需要并发地执行许多短期任务。创建和销毁执行这些任务线程的开销可能会抑制程序的性能。解决这个问题的一个办法是建立一个任务池,并在需要时将它们从这个任务池中取出。
为什么Rust适用于游戏开发?
Rust是一种强调内存安全性、高性能和并发性的现代系统编程语言。由于其性能和安全特性,它最近作为一种非常适合游戏开发的语言而受到欢迎。
Rust Pingora框架实践:构建负载均衡器
Pingora是一个Rust框架,用于构建快速、可靠和可编程的网络系统。Pingora是经过实战测试的,它在过去几年的时间里每秒服务超过4000万次互联网请求。
介绍几个Github上的Rust开源项目-第三期
Quary是一个SQL引擎和CLI工具,可以让你轻松管理数据转换项目。Quary使团队能够设计、记录、测试和部署数据转换在你的数据存储上。
WASM与Rust:革命性的组合
WebAssembly (Wasm)和Rust已经成为一个强大的组合,改变了软件工程的面貌。Wasm是一种二进制指令格式,可以在web浏览器上高性能的执行,为web应用程序提供接近本机的速度。Rust与Wasm的无缝集成,可以专注于性能和内存安全,这样就创建了一个强大的组合。
为Rust项目共享Target目录
在这篇文章中,主要关注Rust项目。类似的解决方案也适用于其他语言,如NodeJS,它需要大量的空间。
2024年Rust编程的十大领域
Rust经常被誉为“只要能写就能做任何事情的语言”,它确实是一种具有无限可能性的通用语言。从嵌入式系统到web浏览器,Rust的底层能力是无限的。
选择正确的Rust机器学习框架:Candle、Burn、DFDX,还是tch-rs?
随着机器学习(ML)领域的不断发展,对高性能和可靠框架的需求导致Rust生态系统中出现了几种选择。Rust的安全保证、性能特征和并发支持使其成为ML应用程序的一个有吸引力的选择,特别是在关键任务或资源受限的环境中。
在Rust中实现API限速
在这篇文章中,我们将讨论如何在Rust中实现API限速。当涉及到生产中的服务时,是为了确保不良行为者不会滥用API——这就是API限速的作用所在。
Go不能写,但是可以用Rust写的3段代码!
在这篇文章中,要分享的例子不仅仅是假设,它们来自于工作中的真实案例,在这些例子中,Go的局限性无法实现所需的解决方案。声明:这里的区别并不在于Rust代码比Go代码更正确或更快。
Rust中的数据可视化指南
可视化是数据分析和解释的一个关键方面。虽然Rust主要以其性能和安全特性而闻名,但它也为数据可视化提供了强大的工具。在这个全面的指南中,我们将深入研究Rust中的数据可视化世界,探索库,技术和编码示例,以帮助你为数据项目创建令人惊叹的可视化。
介绍几个Github上的Rust开源项目-第二期
介绍几个Github上的Rust开源项目:netscanner,krpc-rust,pgtemp,Hyperbridge,fclones。
动态生成Rust代码
本文讨论的是从其他Rust代码生成Rust代码,而不是Rust编译器的代码生成步骤。源代码生成的另一个术语是元编程,但这里将其称为动态代码生成。
5个Rust项目帮助你成为一个更好的开发者
Rust是Mozilla开发的一种安全的现代编程语言。它是为高效、可靠的软件开发而设计的,特别是在对系统资源的底层控制。Rust具有独特的所有权系统和强类型系统,可以防止常见的编程错误。对于熟悉C++语言的开发人员来说,Rust很容易学习。它在web开发、嵌入式系统和网络中很流行。Rust社区是非常活跃的,有许多可用的库和框架。要成为一个更好的Rust开发人员,请查看这5个项目。
用Rust制作一个小型搜索引擎
这个项目将索引和搜索概念转移到Rust的生态系统中,由于Rust独特的语法和范式,这是一个挑战,但也是有益的。
前端视角对Rust的浅析
本文将从 Rust 的历史,前端的使用场景和业界使用案例一步步带你走进 Rust的世界。并且通过一些简单的例子,了解 Rust 如何应用到前端,提高前端的生产效率。
Rust和C++的绑定
在你的下一个软件项目中,你是否在Rust和C++之间犹豫不决?选择正确的编程语言可能是一个具有挑战性的决定,但是了解Rust和C++的绑定可以帮助你做出明智的选择。
到2024年用Rust重写的项目
让我们来看一些到2024年将Rust作为主要语言进行项目开发的公司。
Websockets的升级版:Rust WebTransport库
WebTransport是一种新的协议,用于实现客户端和服务器之间通过web进行低延迟、双向通信。它旨在通过提供更高效、更灵活的传输层来解决WebSocket协议的局限性。
Rust常见的反模式 - 1
Rust作为一种系统编程语言,因其对安全性、性能和内存效率的关注而备受关注。凭借其独特的所有权模型和丰富的类型系统,Rust使开发人员能够编写高性能的应用程序,而不会出现手动内存管理的常见缺陷。
Rust为什么需要Pin、Unpin?
使用异步Rust库通常很容易,这就像使用普通的Rust代码一样,使用.async或.await。但是编写自己的异步库可能很困难。有一些晦涩难懂的语法,比如T: Unpin和Pin<&mut Self>。因此,在这篇文章中,我们将解释这些语法。
学习Rust之前需要知道的五件事:先决条件和资源
在深入学习Rust之前,有几件重要的事情需要知道。从先决知识开始,Rust是一种以内存管理为核心的底层语言,这意味着了解计算机科学概念,有一些其他底层语言的实践经验是非常有帮助的。
介绍几个GitHub上Rust开源项目
nptd-rs是一个工具,用于同步你的计算机时钟,实现NTP和NTS协议。它是用Rust编写的,重点是安全性和稳定性。它支持客户端和服务器端。
Rust中的RAII概述:资源获取即初始化
资源获取即初始化(RAII)是一种编程范例,在确保适当的资源管理方面起着至关重要的作用。虽然最初与C相关,但RAII的原则同样适用于Rust,使用特定于Rust的语法和所有权模型。
Rust中的并发性:非阻塞与阻塞数据结构
非阻塞数据结构是一种并发数据结构,允许线程在不需要锁的情况下访问和修改它。这个特性减少了线程争用和死锁的可能性,从而提高了多线程应用程序的性能。
Rust:临时变量的生命周期
Rust中临时变量的生命周期是一个复杂但经常被忽略的话题。在通常情况下,Rust将临时变量保留足够长的时间,这样我们就不必考虑它们的生命周期了。然而,在很多情况下,这并不能满足我的需求。
使用Rust的过程性宏来监视函数的执行时间
在软件开发的世界中,性能分析起着至关重要的作用,特别是在资源密集型应用程序中。本文通过使用Rust的过程性宏来监视函数的执行时间,这是基准测试和性能调优的重要信息。