学习Rust之前需要知道的五件事:先决条件和资源
在深入学习Rust之前,有几件重要的事情需要知道。从先决知识开始,Rust是一种以内存管理为核心的底层语言,这意味着了解计算机科学概念,有一些其他底层语言的实践经验是非常有帮助的。
发表于 9月以前   ·   阅读量:438
介绍几个GitHub上Rust开源项目
nptd-rs是一个工具,用于同步你的计算机时钟,实现NTP和NTS协议。它是用Rust编写的,重点是安全性和稳定性。它支持客户端和服务器端。
发表于 9月以前   ·   阅读量:545
Rust中的RAII概述:资源获取即初始化
资源获取即初始化(RAII)是一种编程范例,在确保适当的资源管理方面起着至关重要的作用。虽然最初与C相关,但RAII的原则同样适用于Rust,使用特定于Rust的语法和所有权模型。
发表于 9月以前   ·   阅读量:460
Rust中的并发性:非阻塞与阻塞数据结构
非阻塞数据结构是一种并发数据结构,允许线程在不需要锁的情况下访问和修改它。这个特性减少了线程争用和死锁的可能性,从而提高了多线程应用程序的性能。
发表于 9月以前   ·   阅读量:596
Rust:临时变量的生命周期
Rust中临时变量的生命周期是一个复杂但经常被忽略的话题。在通常情况下,Rust将临时变量保留足够长的时间,这样我们就不必考虑它们的生命周期了。然而,在很多情况下,这并不能满足我的需求。
发表于 9月以前   ·   阅读量:462
使用Rust的过程性宏来监视函数的执行时间
在软件开发的世界中,性能分析起着至关重要的作用,特别是在资源密集型应用程序中。本文通过使用Rust的过程性宏来监视函数的执行时间,这是基准测试和性能调优的重要信息。
发表于 9月以前   ·   阅读量:406
与Rust编译器的斗争- 1
由于Rust编译器对rust代码应用的了严格的检验规则,所以作为一个正在学习Rust的人,肯定会遇到过无数不得不与Rust编译器抗争的事件。这个系列文章通过一些实际案例来研究你可能遇到的各种错误,希望这些案例能给你提供帮助。
发表于 10月以前   ·   阅读量:459
Rust中强大的闭包特性
闭包是Rust的一个强大特性,它允许函数捕获上下文变量。作为专业开发人员,理解闭包对于编写高效、模块化和简洁的代码至关重要。在本文中,我们将介绍闭包的概念以及闭包如何捕获变量、如何与输入和输出参数交互等等。我们将使用多个示例来全面理解Rust闭包。
发表于 10月以前   ·   阅读量:550
用rust编写你自己的命令行程序 - 1 界面显示
这是一篇关于如何在rust中构建自己的命令行程序的文章。
发表于 10月以前   ·   阅读量:477
最快的Rust web框架
随着Rust越来越受欢迎,选择正确的web框架变得至关重要。我们将使用“Hello World”基准测试来比较Actix、Axum、Rocket、Tide、Gotham、Nickel、Ntex和Poem这些Rust web框架的性能。
发表于 10月以前   ·   阅读量:666
如何提高Rust序列化性能?- 2
在上一篇文章中,我们手动实现Serde库中的Serialize trait, 提高了序列化的性能。但是不能使用默认的#[derive(Serialize)]功能,在这一篇文章中,我们来解决这个问题,使这两种情景可以兼容。
发表于 10月以前   ·   阅读量:494
如何提高Rust序列化性能?- 1
在这篇文章中,我们将看到如何提高Rust序列化性能。我们将看一个简单的示例,并将其性能提高2.25倍
发表于 10月以前   ·   阅读量:722
5个流行的Rust游戏引擎
许多开发者仍在使用这些语言进行游戏开发。然而,Rust社区是强大的,活跃的,并且正在成长,特别是在游戏开发领域。
发表于 10月以前   ·   阅读量:2042
Rust单人web框架:Loco
Loco被称为面向业余项目和初创公司的Rust单人框架。Loco深受Rails的启发,如果你了解Rails和Rust,你会觉得很自在。如果你不了解Rails,那么你会发现Loco web框架令人耳目一新。
发表于 10月以前   ·   阅读量:687
Rust中的设计模式:策略模式(Strategy)
策略模式是一种行为设计模式,允许你定义一系列算法,将它们封装为一个对象,并借助特征使它们可互换。
发表于 10月以前   ·   阅读量:569
在Rust中使用pnet捕获网络数据包
捕获网络数据包是网络分析、安全和调试的重要组成部分。在这篇文章中,我们将探索如何使用Rust和pnet库构建网络数据包捕获工具。
发表于 11月以前   ·   阅读量:617
使用Insta进行Rust快照测试
Rust有很多测试策略,从单元测试到集成测试。在本文中,我们将探索使用Insta进行快照测试,了解它如何补充你的开发工作。
发表于 11月以前   ·   阅读量:606
Rust的Web(wasm)框架Leptos,将改变构建网站的方式
Leptos是一个新的Rust web框架,由于其高性能、易用性和安全特性而迅速流行起来。在本文中,我们将深入了解Leptos,并讨论为什么应该开始使用它。
发表于 11月以前   ·   阅读量:938
使用状态模式和零大小类型10倍提高Rust api性能
在这篇文章中,我们通过一步步实现一个真实项目的例子,来展示如何通过使用泛型、零大小类型及状态模式10倍提高Rust api的性能,同时还能防止API的使用者滥用API。
发表于 11月以前   ·   阅读量:562
Rust并发控制之Condvar-两线程交替打印
在并发控制的面试里有个很喜欢考的点:如何控制两个并发线程交替打印 1 和 2。考察的是如何做并发线程的同步控制,实现的方式有很多,今天我们先用上篇提到的 condvar 试试。
发表于 11月以前   ·   阅读量:578
你应该知道的7个Rust Cargo插件
在这篇文章中,我们将介绍你应该知道的7个Rust Cargo插件:Cargo watch,Cargo edit,Cargo modules,Cargo audit,Cargo tarpaulin,Cargo nextest,Cargo make。
发表于 11月以前   ·   阅读量:522
如何使用Rust进行TLS开发?
TLS是一种安全协议,有助于在双方之间建立安全连接。TLS通过握手来验证双方彼此的身份,并就如何加密数据达成一致。
发表于 11月以前   ·   阅读量:536
Rust中的设计模式:观察者模式(Observer)
观察者模式是一种软件设计模式,它允许对象(通常称为主题)维护一个称为观察者的依赖项列表,并自动通知它们任何状态更改。
发表于 11月以前   ·   阅读量:547
Rust开发环境最佳设置
在这篇文章中,我们以VSCode作为Rust开发的IDE。VSCode 是我的首选,因为它可以在所有主流操作系统上使用,并且具有高度可配置性。
发表于 1年以前   ·   阅读量:838
详解Rust编程中的生命周期
生命周期在Rust编程中是一个重要概念, 它能确保引用像预期的那样一直有效。在Rust语言中, 每一个引用都有其生命周期, 通俗讲就是每个引用在程序执行的过程中都有其自身的作用域, 一旦离开其作用域, 其生命周期也宣告结束, 值不再有效。幸运的是, 在绝大多数时间里, 生命周期是隐含且可以进行推断的, 类似于当有多种可能的类型时必须注明类型, 正因为如此, 所以Rust需要使用者使用泛型生命周期参数来注明它们的关系, 从而确保程序运行时实际使用的引用绝对有效。
发表于 1年以前   ·   阅读量:391
Rust 开发路线图正式发布!
Rust将安全性、性能和并发性放在首位。它允许程序员使用低级语言的控制能力来创建应用程序,同时具备高级语言的强大抽象能力。总的来说,使用Rust您可以做很多事情,所以每个开发者都应该至少尝试一下。
发表于 1年以前   ·   阅读量:564
Rust编程基础核心之所有权(下)
本节将介绍数据交互方式:克隆。如果我们 **确实** 需要深度复制 `String` 中堆上的数据,而不仅仅是栈上的数据,可以使用一个叫做 `clone` 的通用函数。
发表于 1年以前   ·   阅读量:523
Rust编程基础核心之所有权(上)
Rust 的核心功能(之一)是 **所有权**(*ownership*)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。
发表于 1年以前   ·   阅读量:433
你需要知道的32个Rust库 - 4
本期介绍:Getset,Mockall,QuickCheck,Proptest,Heck,num_cpus,Humantime。
发表于 1年以前   ·   阅读量:581
2024年Rust将改变Web开发的四大方面
近年来,Rust已经成为最强大的编程语言,由于其安全性、速度和并发性,它是web开发中很有前途的语言之一。像Rocket和Actix这样的Rust框架提供了一套简化web开发过程的工具。
发表于 1年以前   ·   阅读量:574
Rust结构体的定义和实例化
Rust的结构体跟元组类型比较类似,它们都包含多个相关的值。和元组一样,结构体的每一部分可以是不同类型。但不同于元组,结构体需要命名各部分数据以便能清楚的表明其值的意义。由于有了这些名字,结构体比元组更灵活:不需要依赖顺序来指定或访问实例中的值。
发表于 1年以前   ·   阅读量:425
在Rust中实现依赖注入
依赖注入简单地说,就是类应该依赖于抽象,例如数据源的抽象,而不是具体的实现。这意味着类将依赖于接口而不是真正的类。
发表于 1年以前   ·   阅读量:394
你需要知道的32个Rust库 - 1
本期介绍6个Rust库:Tap,Strum,derive_more,derive_builder,insta,enum_dispatch。
发表于 1年以前   ·   阅读量:550
深入了解Rust的声明性标记
在Rust中,声明性标记是指放置在函数定义、模块、类型等上面的属性。它们提供额外的信息或改变代码的行为。Rust中的声明性标记以井号(#)开头,放在方括号([])内。例如,一个声明性标记可以表示成这样:#[attribute]。
发表于 1年以前   ·   阅读量:427
为Rust二进制文件添加版本信息
在运行building时生成版本信息,然后我们只需要创建一个新标签,编译器就会自动处理这些信息。
发表于 1年以前   ·   阅读量:622
如何在Rust中加载动态库?
动态库加载,也称为动态加载或运行时动态链接,是一种编程技术,它允许程序将外部库(也称为动态链接库或共享库)加载到内存中,并在运行时而不是编译时使用它们的功能。这些库包含可由程序执行的编译代码,从而支持模块化、代码重用和灵活性。
发表于 1年以前   ·   阅读量:1135
使用Rust Plotly实现数据可视化
Plotly是一个强大的数据可视化工具,可以使用它为Rust项目创建令人惊叹的图形、图表和其他可视化效果。Plotly是一个基于流行的Plotly.js库构建的开源库,它提供了一个用于创建交互式绘图的高级接口。
发表于 1年以前   ·   阅读量:639
Rust通道和消息传递
并发编程是现代软件开发的一个关键方面,Rust为管理并发执行提供了强大的工具。Rust并发模型的核心是通道和消息传递,它们允许线程通信并同步它们的活动。
发表于 1年以前   ·   阅读量:473
Rust代码安全:混淆的魔力
Rust以其安全特性而闻名,但你知道它还可以帮助你保护代码免受黑客攻击吗?通过将Rust强大的内存安全特性与字符串混淆结合使用,你可以创建既安全又难以逆向工程的代码。
发表于 1年以前   ·   阅读量:629
用Rust通过网络摄像头构建实时流媒体服务器
在当今快速发展的技术环境中,实时多媒体流已经成为数字体验中不可或缺的一部分。无论是视频会议、直播还是远程监控,实时捕获和传输视频帧的能力都是一项强大的功能。
发表于 1年以前   ·   阅读量:759
Rust中的设计模式:构建者模式(Builder)
构建器模式是一种创建设计模式,也就是说,它是一种用于创建或实例化类对象的模式。它用于将构建过程分解为更小、更易于管理和可测试的步骤。
发表于 1年以前   ·   阅读量:611
Rust在Web 3.0开发中的作用
在不断发展的技术领域,Web 3.0已经成为一个革命性的概念,它重新定义了我们与数字世界交互的方式。这种转换的核心是Rust,一种以强调安全性、性能和并发性而闻名的底层编程语言。凭借其独特的特性,Rust将在塑造Web 3.0的未来中扮演至关重要的角色。
发表于 1年以前   ·   阅读量:592
如何用Clippy检测Rust代码
开发人员通过学习语法来学习一种新的编程语言。然后,他们用它来构建非常棒的系统,但是,如果不按照该语言的编程习惯编写,对团队其他人是一种糟糕的体验。检测代码是检查编程习惯的最佳方法之一,所以让我们看看如何在Rust中做到这一点。
发表于 1年以前   ·   阅读量:623
Rust 集合类型-连式操作及类型转换
Rust是一种系统编程语言,以其性能、可靠性和强大的内存安全保证而闻名。Rust的一个关键特性是它的集合类型,它提供了有效和安全的方法来管理和操作数据。在本文中,我们将探讨一些最常用的Rust集合及其用例,以及常用操作和类型转换。
发表于 1年以前   ·   阅读量:574
为什么 Rust 备受开发者青睐?
在本篇文章中,作者介绍了 Rust 是什么,它的历史以及 Rust 是如何备受开发者和行业的青睐。希望本篇文章能帮助读者对 Rust 这门语言有一个大概的了解。
发表于 1年以前   ·   阅读量:521
与Rust编译器的斗争- 1
由于Rust编译器对rust代码应用的了严格的检验规则,所以作为一个正在学习Rust的人,肯定会遇到过无数不得不与Rust编译器抗争的事件。这个系列文章通过一些实际案例来研究你可能遇到的各种错误,希望这些案例能给你提供帮助。
发表于 1年以前   ·   阅读量:501
与Rust编译器的斗争- 2
让我们想象一下用Rust编写一个简单的链表。具体来说,让我们实现push_front()方法,它在链表的头部插入一个元素。
发表于 1年以前   ·   阅读量:518
与Rust编译器的斗争- 3
让我们在Rust中使用RefCell结构实现一个简单的Tree数据结构。特别是,我们将编写traverse()方法来收集树中包含的所有项。
发表于 1年以前   ·   阅读量:396
与Rust编译器的斗争- 4
假设我们有一个整数数组,我们想遍历偶数。我们可以使用Iterator::filter()方法,让我们尝试手动实现它,因为这样做将使我们对Rust的生命周期规则有更深入的了解。
发表于 1年以前   ·   阅读量:545
与Rust编译器的斗争- 5
让我们来谈谈dyn和impl关键字以及'static生命周期。
发表于 1年以前   ·   阅读量:525
 热门专题
互联网深度分析
根据当前互联网热点,深度分析事件背后的原因。
语言规范指南
c/c++,Objective-C,Python,Golang等语言的代码规范指南,团队合作更需要代码规范。
任正非讲话合集
收集了历年来,任正非在各个内部会议上的讲话。
查看所有专题
 哈喽比特公众号
 热门标签
# Docker #

文章:109,阅读量:77.7k

# 东方甄选小作文事件 #

文章:13,阅读量:13.6k

# 裁员 #

文章:1327,阅读量:906.5k

# WebAssembty #

文章:25,阅读量:27.2k

# Python #

文章:5587,阅读量:4.6m

# 人工智能(AI) #

文章:7122,阅读量:4.9m

# JavaScript #

文章:1228,阅读量:980.3k

# Rust #

文章:269,阅读量:184.5k

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

文章:8,阅读量:9.2k

# 前端面试宝典 #

文章:9,阅读量:6.1k

查看所有标签