Rust挑战 - 动手实现HashMap 2
通过迭代器循环遍历entry,而不是老式的索引计数。由于我们需要从给定的索引开始,循环遍历整个数组,以index-1结束,这本身有点棘手,但可以使用Iterator::split\_at\_mut()方法完成。这样,我们就可以最终实现get\_mut()方法了。
发表于 1天以前   ·   阅读量:6
Rust中Trait的关联类型和自动实现
在这篇文章中,我们将深入了解Rust中Trait的关联类型和自动实现。我们将使用标准库中的示例来阐明这些概念,并演示它们在API设计中的重要性。
发表于 2天以前   ·   阅读量:9
Rust: 如何区分可变引用还是可变变量?&mut VS mut
要在Rust中创建不可变变量,只需编写let x = 1337,这是简单的。如果想创建一个以后可以改变的变量,只需在let之后添加mut关键字。添加mut关键字通知其他人该变量将在代码的其他地方被修改。
发表于 4天以前   ·   阅读量:13
如何用Rust实现gRPC服务
在本文中,将展示如何使用Rust和Proto协议创建一个简单的gRPC服务。
发表于 7天以前   ·   阅读量:16
为什么Rust中存在Eq与PartialEq两种Trait ?
当我们将Student与仅限制必须实现Eq的类型一起使用时,编译器就会提示。HashMap键需要实现Eq trait,因为HashMap的键必须满足自反关系。在我们的例子中,多个学生实例的id都可以是0,因此Student类型不能作为键。
发表于 9天以前   ·   阅读量:20
你是否了解Rust中闭包的优缺点?
在本文中,我们将探索Rust中的闭包,这是一种强大的语言特性,允许开发人员编写简洁、灵活且可读的代码。我们将深入研究闭包背后的动机,讨论它们的优点和缺点,并通过实际示例演示它们的使用。
发表于 10天以前   ·   阅读量:21
Rust:深入了解线程池
在某些情况下,你需要并发地执行许多短期任务。创建和销毁执行这些任务线程的开销可能会抑制程序的性能。解决这个问题的一个办法是建立一个任务池,并在需要时将它们从这个任务池中取出。
发表于 17天以前   ·   阅读量:40
为什么Rust适用于游戏开发?
Rust是一种强调内存安全性、高性能和并发性的现代系统编程语言。由于其性能和安全特性,它最近作为一种非常适合游戏开发的语言而受到欢迎。
发表于 17天以前   ·   阅读量:38
Rust Pingora框架实践:构建负载均衡器
Pingora是一个Rust框架,用于构建快速、可靠和可编程的网络系统。Pingora是经过实战测试的,它在过去几年的时间里每秒服务超过4000万次互联网请求。
发表于 18天以前   ·   阅读量:60
介绍几个Github上的Rust开源项目-第三期
Quary是一个SQL引擎和CLI工具,可以让你轻松管理数据转换项目。Quary使团队能够设计、记录、测试和部署数据转换在你的数据存储上。
发表于 26天以前   ·   阅读量:70
WASM与Rust:革命性的组合
WebAssembly (Wasm)和Rust已经成为一个强大的组合,改变了软件工程的面貌。Wasm是一种二进制指令格式,可以在web浏览器上高性能的执行,为web应用程序提供接近本机的速度。Rust与Wasm的无缝集成,可以专注于性能和内存安全,这样就创建了一个强大的组合。
发表于 29天以前   ·   阅读量:78
为Rust项目共享Target目录
在这篇文章中,主要关注Rust项目。类似的解决方案也适用于其他语言,如NodeJS,它需要大量的空间。
发表于 1月以前   ·   阅读量:107
2024年Rust编程的十大领域
Rust经常被誉为“只要能写就能做任何事情的语言”,它确实是一种具有无限可能性的通用语言。从嵌入式系统到web浏览器,Rust的底层能力是无限的。
发表于 1月以前   ·   阅读量:84
选择正确的Rust机器学习框架:Candle、Burn、DFDX,还是tch-rs?
随着机器学习(ML)领域的不断发展,对高性能和可靠框架的需求导致Rust生态系统中出现了几种选择。Rust的安全保证、性能特征和并发支持使其成为ML应用程序的一个有吸引力的选择,特别是在关键任务或资源受限的环境中。
发表于 1月以前   ·   阅读量:142
在Rust中实现API限速
在这篇文章中,我们将讨论如何在Rust中实现API限速。当涉及到生产中的服务时,是为了确保不良行为者不会滥用API——这就是API限速的作用所在。
发表于 1月以前   ·   阅读量:104
Go不能写,但是可以用Rust写的3段代码!
在这篇文章中,要分享的例子不仅仅是假设,它们来自于工作中的真实案例,在这些例子中,Go的局限性无法实现所需的解决方案。声明:这里的区别并不在于Rust代码比Go代码更正确或更快。
发表于 1月以前   ·   阅读量:108
Rust中的数据可视化指南
可视化是数据分析和解释的一个关键方面。虽然Rust主要以其性能和安全特性而闻名,但它也为数据可视化提供了强大的工具。在这个全面的指南中,我们将深入研究Rust中的数据可视化世界,探索库,技术和编码示例,以帮助你为数据项目创建令人惊叹的可视化。
发表于 1月以前   ·   阅读量:120
介绍几个Github上的Rust开源项目-第二期
介绍几个Github上的Rust开源项目:netscanner,krpc-rust,pgtemp,Hyperbridge,fclones。
发表于 1月以前   ·   阅读量:127
动态生成Rust代码
本文讨论的是从其他Rust代码生成Rust代码,而不是Rust编译器的代码生成步骤。源代码生成的另一个术语是元编程,但这里将其称为动态代码生成。
发表于 1月以前   ·   阅读量:115
5个Rust项目帮助你成为一个更好的开发者
Rust是Mozilla开发的一种安全的现代编程语言。它是为高效、可靠的软件开发而设计的,特别是在对系统资源的底层控制。Rust具有独特的所有权系统和强类型系统,可以防止常见的编程错误。对于熟悉C++语言的开发人员来说,Rust很容易学习。它在web开发、嵌入式系统和网络中很流行。Rust社区是非常活跃的,有许多可用的库和框架。要成为一个更好的Rust开发人员,请查看这5个项目。
发表于 1月以前   ·   阅读量:128
用Rust制作一个小型搜索引擎
这个项目将索引和搜索概念转移到Rust的生态系统中,由于Rust独特的语法和范式,这是一个挑战,但也是有益的。
发表于 2月以前   ·   阅读量:131
前端视角对Rust的浅析
本文将从 Rust 的历史,前端的使用场景和业界使用案例一步步带你走进 Rust的世界。并且通过一些简单的例子,了解 Rust 如何应用到前端,提高前端的生产效率。
发表于 2月以前   ·   阅读量:121
Rust和C++的绑定
在你的下一个软件项目中,你是否在Rust和C++之间犹豫不决?选择正确的编程语言可能是一个具有挑战性的决定,但是了解Rust和C++的绑定可以帮助你做出明智的选择。
发表于 2月以前   ·   阅读量:129
到2024年用Rust重写的项目
让我们来看一些到2024年将Rust作为主要语言进行项目开发的公司。
发表于 2月以前   ·   阅读量:150
Websockets的升级版:Rust WebTransport库
WebTransport是一种新的协议,用于实现客户端和服务器之间通过web进行低延迟、双向通信。它旨在通过提供更高效、更灵活的传输层来解决WebSocket协议的局限性。
发表于 2月以前   ·   阅读量:189
Rust常见的反模式 - 1
Rust作为一种系统编程语言,因其对安全性、性能和内存效率的关注而备受关注。凭借其独特的所有权模型和丰富的类型系统,Rust使开发人员能够编写高性能的应用程序,而不会出现手动内存管理的常见缺陷。
发表于 2月以前   ·   阅读量:195
Rust为什么需要Pin、Unpin?
使用异步Rust库通常很容易,这就像使用普通的Rust代码一样,使用.async或.await。但是编写自己的异步库可能很困难。有一些晦涩难懂的语法,比如T: Unpin和Pin<&mut Self>。因此,在这篇文章中,我们将解释这些语法。
发表于 2月以前   ·   阅读量:191
学习Rust之前需要知道的五件事:先决条件和资源
在深入学习Rust之前,有几件重要的事情需要知道。从先决知识开始,Rust是一种以内存管理为核心的底层语言,这意味着了解计算机科学概念,有一些其他底层语言的实践经验是非常有帮助的。
发表于 2月以前   ·   阅读量:164
介绍几个GitHub上Rust开源项目
nptd-rs是一个工具,用于同步你的计算机时钟,实现NTP和NTS协议。它是用Rust编写的,重点是安全性和稳定性。它支持客户端和服务器端。
发表于 2月以前   ·   阅读量:215
Rust中的RAII概述:资源获取即初始化
资源获取即初始化(RAII)是一种编程范例,在确保适当的资源管理方面起着至关重要的作用。虽然最初与C相关,但RAII的原则同样适用于Rust,使用特定于Rust的语法和所有权模型。
发表于 2月以前   ·   阅读量:165
Rust中的并发性:非阻塞与阻塞数据结构
非阻塞数据结构是一种并发数据结构,允许线程在不需要锁的情况下访问和修改它。这个特性减少了线程争用和死锁的可能性,从而提高了多线程应用程序的性能。
发表于 2月以前   ·   阅读量:255
Rust:临时变量的生命周期
Rust中临时变量的生命周期是一个复杂但经常被忽略的话题。在通常情况下,Rust将临时变量保留足够长的时间,这样我们就不必考虑它们的生命周期了。然而,在很多情况下,这并不能满足我的需求。
发表于 2月以前   ·   阅读量:200
使用Rust的过程性宏来监视函数的执行时间
在软件开发的世界中,性能分析起着至关重要的作用,特别是在资源密集型应用程序中。本文通过使用Rust的过程性宏来监视函数的执行时间,这是基准测试和性能调优的重要信息。
发表于 2月以前   ·   阅读量:159
与Rust编译器的斗争- 1
由于Rust编译器对rust代码应用的了严格的检验规则,所以作为一个正在学习Rust的人,肯定会遇到过无数不得不与Rust编译器抗争的事件。这个系列文章通过一些实际案例来研究你可能遇到的各种错误,希望这些案例能给你提供帮助。
发表于 3月以前   ·   阅读量:202
Rust中强大的闭包特性
闭包是Rust的一个强大特性,它允许函数捕获上下文变量。作为专业开发人员,理解闭包对于编写高效、模块化和简洁的代码至关重要。在本文中,我们将介绍闭包的概念以及闭包如何捕获变量、如何与输入和输出参数交互等等。我们将使用多个示例来全面理解Rust闭包。
发表于 3月以前   ·   阅读量:231
用rust编写你自己的命令行程序 - 1 界面显示
这是一篇关于如何在rust中构建自己的命令行程序的文章。
发表于 3月以前   ·   阅读量:207
最快的Rust web框架
随着Rust越来越受欢迎,选择正确的web框架变得至关重要。我们将使用“Hello World”基准测试来比较Actix、Axum、Rocket、Tide、Gotham、Nickel、Ntex和Poem这些Rust web框架的性能。
发表于 3月以前   ·   阅读量:299
如何提高Rust序列化性能?- 2
在上一篇文章中,我们手动实现Serde库中的Serialize trait, 提高了序列化的性能。但是不能使用默认的#[derive(Serialize)]功能,在这一篇文章中,我们来解决这个问题,使这两种情景可以兼容。
发表于 3月以前   ·   阅读量:232
如何提高Rust序列化性能?- 1
在这篇文章中,我们将看到如何提高Rust序列化性能。我们将看一个简单的示例,并将其性能提高2.25倍
发表于 3月以前   ·   阅读量:416
5个流行的Rust游戏引擎
许多开发者仍在使用这些语言进行游戏开发。然而,Rust社区是强大的,活跃的,并且正在成长,特别是在游戏开发领域。
发表于 3月以前   ·   阅读量:1151
Rust单人web框架:Loco
Loco被称为面向业余项目和初创公司的Rust单人框架。Loco深受Rails的启发,如果你了解Rails和Rust,你会觉得很自在。如果你不了解Rails,那么你会发现Loco web框架令人耳目一新。
发表于 3月以前   ·   阅读量:402
Rust中的设计模式:策略模式(Strategy)
策略模式是一种行为设计模式,允许你定义一系列算法,将它们封装为一个对象,并借助特征使它们可互换。
发表于 3月以前   ·   阅读量:341
在Rust中使用pnet捕获网络数据包
捕获网络数据包是网络分析、安全和调试的重要组成部分。在这篇文章中,我们将探索如何使用Rust和pnet库构建网络数据包捕获工具。
发表于 4月以前   ·   阅读量:359
使用Insta进行Rust快照测试
Rust有很多测试策略,从单元测试到集成测试。在本文中,我们将探索使用Insta进行快照测试,了解它如何补充你的开发工作。
发表于 4月以前   ·   阅读量:319
Rust的Web(wasm)框架Leptos,将改变构建网站的方式
Leptos是一个新的Rust web框架,由于其高性能、易用性和安全特性而迅速流行起来。在本文中,我们将深入了解Leptos,并讨论为什么应该开始使用它。
发表于 4月以前   ·   阅读量:388
使用状态模式和零大小类型10倍提高Rust api性能
在这篇文章中,我们通过一步步实现一个真实项目的例子,来展示如何通过使用泛型、零大小类型及状态模式10倍提高Rust api的性能,同时还能防止API的使用者滥用API。
发表于 4月以前   ·   阅读量:259
Rust并发控制之Condvar-两线程交替打印
在并发控制的面试里有个很喜欢考的点:如何控制两个并发线程交替打印 1 和 2。考察的是如何做并发线程的同步控制,实现的方式有很多,今天我们先用上篇提到的 condvar 试试。
发表于 4月以前   ·   阅读量:283
你应该知道的7个Rust Cargo插件
在这篇文章中,我们将介绍你应该知道的7个Rust Cargo插件:Cargo watch,Cargo edit,Cargo modules,Cargo audit,Cargo tarpaulin,Cargo nextest,Cargo make。
发表于 4月以前   ·   阅读量:286
如何使用Rust进行TLS开发?
TLS是一种安全协议,有助于在双方之间建立安全连接。TLS通过握手来验证双方彼此的身份,并就如何加密数据达成一致。
发表于 4月以前   ·   阅读量:308
Rust中的设计模式:观察者模式(Observer)
观察者模式是一种软件设计模式,它允许对象(通常称为主题)维护一个称为观察者的依赖项列表,并自动通知它们任何状态更改。
发表于 5月以前   ·   阅读量:299
 热门专题
互联网深度分析
根据当前互联网热点,深度分析事件背后的原因。
语言规范指南
c/c++,Objective-C,Python,Golang等语言的代码规范指南,团队合作更需要代码规范。
任正非讲话合集
收集了历年来,任正非在各个内部会议上的讲话。
查看所有专题
 哈喽比特公众号
 热门标签
# Docker #

文章:109,阅读量:59.1k

# 东方甄选小作文事件 #

文章:13,阅读量:7.8k

# 裁员 #

文章:1224,阅读量:658.8k

# WebAssembty #

文章:25,阅读量:18.3k

# Python #

文章:5585,阅读量:4m

# 人工智能(AI) #

文章:6821,阅读量:3.7m

# JavaScript #

文章:1223,阅读量:797.5k

# Rust #

文章:247,阅读量:120.4k

# 华为2023年9月25日新品发布会 #

文章:8,阅读量:5.2k

# 前端面试宝典 #

文章:9,阅读量:3.7k

查看所有标签