文章类型: 排序方式:
到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的过程性宏来监视函数的执行时间,这是基准测试和性能调优的重要信息。
与Rust编译器的斗争- 1
由于Rust编译器对rust代码应用的了严格的检验规则,所以作为一个正在学习Rust的人,肯定会遇到过无数不得不与Rust编译器抗争的事件。这个系列文章通过一些实际案例来研究你可能遇到的各种错误,希望这些案例能给你提供帮助。
Rust中强大的闭包特性
闭包是Rust的一个强大特性,它允许函数捕获上下文变量。作为专业开发人员,理解闭包对于编写高效、模块化和简洁的代码至关重要。在本文中,我们将介绍闭包的概念以及闭包如何捕获变量、如何与输入和输出参数交互等等。我们将使用多个示例来全面理解Rust闭包。
用rust编写你自己的命令行程序 - 1 界面显示
这是一篇关于如何在rust中构建自己的命令行程序的文章。
最快的Rust web框架
随着Rust越来越受欢迎,选择正确的web框架变得至关重要。我们将使用“Hello World”基准测试来比较Actix、Axum、Rocket、Tide、Gotham、Nickel、Ntex和Poem这些Rust web框架的性能。
如何提高Rust序列化性能?- 2
在上一篇文章中,我们手动实现Serde库中的Serialize trait, 提高了序列化的性能。但是不能使用默认的#[derive(Serialize)]功能,在这一篇文章中,我们来解决这个问题,使这两种情景可以兼容。
如何提高Rust序列化性能?- 1
在这篇文章中,我们将看到如何提高Rust序列化性能。我们将看一个简单的示例,并将其性能提高2.25倍
为你的Rust应用提供一个嵌入式的NoSQL数据库
长期以来,SQLite目前几乎是客户端数据存储的唯一选择,SQLite是一个老而稳定的软件,但它缺乏一些现代功能。然而,时代在变化,需求也在迅速变化。
5个流行的Rust游戏引擎
许多开发者仍在使用这些语言进行游戏开发。然而,Rust社区是强大的,活跃的,并且正在成长,特别是在游戏开发领域。
Rust单人web框架:Loco
Loco被称为面向业余项目和初创公司的Rust单人框架。Loco深受Rails的启发,如果你了解Rails和Rust,你会觉得很自在。如果你不了解Rails,那么你会发现Loco web框架令人耳目一新。
Rust中的设计模式:策略模式(Strategy)
策略模式是一种行为设计模式,允许你定义一系列算法,将它们封装为一个对象,并借助特征使它们可互换。
Rust 读取超大文件实现高性能和低内存占用
处理大文件在实际应用中是一项常见而具有挑战性的任务。在本文中,我们将深入讨论如何使用Rust有效地读取大文件,以确保高性能和低内存占用。
Rust高效的日期和时间管理库:DTT
DateTime (DTT)是一个全面的Rust库,用于解析、验证、操作和格式化日期和时间。它提供了高精度和广泛的功能。
在Rust中使用pnet捕获网络数据包
捕获网络数据包是网络分析、安全和调试的重要组成部分。在这篇文章中,我们将探索如何使用Rust和pnet库构建网络数据包捕获工具。
使用Insta进行Rust快照测试
Rust有很多测试策略,从单元测试到集成测试。在本文中,我们将探索使用Insta进行快照测试,了解它如何补充你的开发工作。
Rust的Web(wasm)框架Leptos,将改变构建网站的方式
Leptos是一个新的Rust web框架,由于其高性能、易用性和安全特性而迅速流行起来。在本文中,我们将深入了解Leptos,并讨论为什么应该开始使用它。
2024年值得关注的8个rust开源数据项目
随着大数据生态系统、分布式文件系统、map-reduce、NoSQL、机器学习、深度学习、人工智能以及最近的大语言模型的兴起,数据得到了广泛的关注。我们本期推荐8个开源数据项目。
使用状态模式和零大小类型10倍提高Rust api性能
在这篇文章中,我们通过一步步实现一个真实项目的例子,来展示如何通过使用泛型、零大小类型及状态模式10倍提高Rust api的性能,同时还能防止API的使用者滥用API。
Rust并发控制之Condvar-两线程交替打印
在并发控制的面试里有个很喜欢考的点:如何控制两个并发线程交替打印 1 和 2。考察的是如何做并发线程的同步控制,实现的方式有很多,今天我们先用上篇提到的 condvar 试试。
你应该知道的7个Rust Cargo插件
在这篇文章中,我们将介绍你应该知道的7个Rust Cargo插件:Cargo watch,Cargo edit,Cargo modules,Cargo audit,Cargo tarpaulin,Cargo nextest,Cargo make。
如何使用Rust进行TLS开发?
TLS是一种安全协议,有助于在双方之间建立安全连接。TLS通过握手来验证双方彼此的身份,并就如何加密数据达成一致。