Curated Rust Articles

182

200+ free articles covering every aspect of Rust, from beginner to advanced.

Showing 182 of 182 articles

Collections & Data Structures(6)

Concurrency & Async(29)

Concurrency & Async

Demystifying Concurrency in Go: A Beginner’s Guide with Examples

Concurrency is an essential concept in modern programming, enabling the efficient execution of multiple tasks simultaneously.

Concurrency & Async

Tokio: A Runtime for Writing Reliable, Asynchronous Applications with Rust

What is Tokio?

Concurrency & Async

Java Virtual Threads

Java introduced a new concept of Virtual Threads as part of Project Loom, an effort to improve concurrency in Java applications. This guide…

Concurrency & Async

The evolution of cyber threats and its future landscape

Abstract — This paper examines the evolution of cyber threats over the past decades, demonstrating how the progress and massive adoption…

Concurrency & Async

Writing Async Code in Rust

Traditional synchronous code executes step-by-step, blocking subsequent operations until the current one finishes. In I/O-bound scenarios…

Concurrency & Async

Sharing Data Between Threads in Rust

Rust is renowned for its emphasis on safety, particularly concurrent safety. One of the challenges in concurrent programming is the safe…

Concurrency & Async

Secure Socket Layer (SSL/TLS) with Rust: A Primer

In this article, we will briefly introduce SSL/TLS and then delve into a working example of setting up a TLS server and client using Rust.

Concurrency & Async

Reactive Programming with Vert.x

Vert.x, often dubbed the “polyglot event-driven application framework”, is a tool that enables developers to build resilient and responsive…

Concurrency & Async

Crafting a Secure Server-to-Server Handshake with Rust & OpenSSL

Hello there, fellow tech enthusiast! 🦀

Concurrency & Async

Building a Function-as-a-Service (FaaS) in Rust

Welcome to this tutorial on building a Function as a Service (FaaS) system using Rust.

Concurrency & Async

Implementing a VPN Server in Rust

Interested in understanding the inner workings of a VPN? Thinking about setting up your own VPN server? Today, we’re taking a…

Concurrency & Async

Building an Event Broker in Rust

In this step-by-step guide, we're diving into the exciting world of building a simple event broker using Rust.

Concurrency & Async

Asynchronous Design Patterns in Rust

Hey there, Rustacean! 🦀

Concurrency & Async

Using Channels in Rust: Why and When?

Hey there! If you’re diving into the world of concurrent programming with Rust, you’ve probably come across the term “channels”. But what…

Concurrency & Async

Working with Asynchronous Streams in Rust

Asynchronous programming can be a bit challenging to grasp, but it’s incredibly useful for improving the performance of programs that deal…

Concurrency & Async

Implementing a DNS Server in Rust

The Domain Name System (DNS) is a foundational aspect of the internet, translating human-readable domain names into IP addresses that…

Concurrency & Async

3 Popular Crates for Working with Containers in Rust

Hey there, Rustaceans! 🦀 Let’s talk containers.

Concurrency & Async

Rust Crates for Working with LLM

In this article, we’ll look at five Rust crates, each offering tools to easily integrate these advanced models into your Rust projects…

Concurrency & Async

Handling multiple asynchronous operations easily with Rust ‘select!’

The select! macro is designed to manage multiple asynchronous operations, allowing a program to wait on several tasks simultaneously and…

Concurrency & Async

Linux Network Namespaces in Rust

Linux Network Namespaces are a feature within the Linux kernel that allows for the isolation and virtualization of network resources. This…

Concurrency & Async

WebAssembly in Rust

Hello, fellow Rustaceans! 🦀

Concurrency & Async

Rust Concurrency in Practice

Concurrency in Rust is based on ownership, types, and borrowing principles, which help manage memory safety without a garbage collector.

Concurrency & Async

Thread Boundaries in Rust

Hi, fellow Rustaceans! 🦀

Concurrency & Async

Raft Cluster in Rust

In today’s article, we will explore how to implement a basic Raft-based consensus system in Rust. 🦀

Concurrency & Async

Implementing a Distributed State Machine in Rust

In this guide, we’ll walk through the creation of a simplified distributed state machine using Rust. 🦀

Concurrency & Async

Low Latency in Rust with Lock-Free Data Structures

In high-performance and distributed systems, latency is a factor that affects overall system responsiveness and throughput. Traditional…

Concurrency & Async

Data-Parallelism in Rust with the Rayon Crate

The Rayon crate is one of the most popular libraries for data-parallelism in Rust , providing a simple and efficient way to execute…

Concurrency & Async

Rust: From Simple Functions to Advanced Abstractions

While many tutorials introduce isolated features, this article takes a holistic, practical approach: we’ll start with a simple example and…

Concurrency & Async

Atomics in Rust: Lock-Free Does Not Mean Free

Atomics are lock-free because they execute entirely in hardware. An atomic read-modify-write is performed by the CPU using instructions…

Cryptography & Blockchain(27)

Cryptography & Blockchain

What are Blockchain Liquidity Pools?

Liquidity pools are a vital component in the world of blockchain and decentralized finance (DeFi). They allow for the seamless exchange of…

Cryptography & Blockchain

What are blockchain protocols?

Blockchain protocols are the set of rules and standards that govern the functioning of blockchain networks. They define how the network…

Cryptography & Blockchain

What are Decentralized Identities?

Decentralized identities, or DIDs for short, are a new way of managing digital identities that puts users in control of their data. Instead…

Cryptography & Blockchain

Smart Contract Proxies

Smart contracts have revolutionized the way we interact with the blockchain. They allow for the trustless execution of agreements between…

Cryptography & Blockchain

SSL Certificates: A Deep Dive into the Low-Level Mechanics

Secure Sockets Layer (SSL) certificates are an essential component of internet security, providing encryption and authentication for…

Cryptography & Blockchain

Understanding Non-Repudiation: Ensuring Integrity and Accountability in Digital Communications

In the digital world, trust is of paramount importance. Non-repudiation is a security feature that plays a vital role in achieving this.

Cryptography & Blockchain

Understanding EIP-712: Enhancing Ethereum User Experience and Security

EIP-712 is a standardized method for structuring and signing human-readable and machine-verifiable data. This method allows users to…

Cryptography & Blockchain

Optimizing Gas Fees in Ethereum Smart Contracts

As Ethereum continues to gain popularity for its versatility and ability to support decentralized applications (DApps) and smart contracts…

Cryptography & Blockchain

Blockchain Protocols: The Fundamentals

At the heart of Blockchain lies a set of rules and guidelines known as blockchain protocols.

Cryptography & Blockchain

Unveiling the Zero-Knowledge EVM

One critical challenge blockchain platforms face maintaining privacy and confidentiality in transactions. Researchers and developers have…

Cryptography & Blockchain

Implementing a Distributed Hash Table (DHT) in Golang

Distributed Hash Tables (DHTs) provide a decentralized, fault-tolerant method for storing and retrieving data in a distributed network.

Cryptography & Blockchain

Function Selectors in Solidity: Understanding and Working with Them

Introduction

Cryptography & Blockchain

Solidity Withdrawal Security Pattern

The Problem

Cryptography & Blockchain

Understanding Fixed-Proxy and Dynamic-Proxy Smart Contracts in Solidity

Smart contracts on Ethereum are immutable once they are deployed. This immutability provides trust and reliability, ensuring that its logic…

Cryptography & Blockchain

Exploring Hash functions in Rust: Fowler–Noll–Vo (FNV), SipHash, and beyond

Hash functions are fundamental in numerous computing scenarios, offering ways to represent arbitrary-sized data in fixed-sized values. In…

Cryptography & Blockchain

Implementing zk-SNARK Zero Knowledge Proof in Rust

Imagine holding a sealed envelope containing a secret message. You’re tasked with proving the message’s contents to a friend, but here’s…

Cryptography & Blockchain

Rusting Up Your Own Self-Signed Certificate Generator

If you’ve dipped your toes in the sea of server administration or web development, you’ve likely come across SSL/TLS certificates. They’re…

Cryptography & Blockchain

What is the Noise Protocol

Introduction to the Noise Protocol Framework

Cryptography & Blockchain

Decoding Data Dissemination Protocols

Whether transmitting critical updates in a distributed database, distributing real-time data streams, or sharing large files across the…

Cryptography & Blockchain

Implementing Zero Knowledge Multi-Party Computation in Rust

In this tutorial, we explore the foundational concepts and practical implementation of a simplified zk-rollup-like system in Rust! 🦀

Cryptography & Blockchain

Understanding Zero-Knowledge Proofs: Encoding Programs into zk-SNARKs

What are Zero-Knowledge Proofs?

Cryptography & Blockchain

Introduction to Provable Smart Contracts

Provable smart contracts use cryptographic techniques to verify that computations done outside the blockchain are correct. This means that…

Cryptography & Blockchain

Homomorphic Encryption in Rust: Developing Secure Data Analysis

Homomorphic encryption allows computations to be performed on encrypted data without decrypting it first. This property is particularly…

Cryptography & Blockchain

Optimizing Blockchain with Merkelized Abstract Syntax Trees in Rust

The increasing size of blockchain data is a significant challenge for Blockchain performance, data integrity, and privacy. Merkelized…

Cryptography & Blockchain

The Beauty of Polynomials

Polynomials appear in a wide range of applications, from simple error correction codes to sophisticated zero-knowledge proofs. Their…

Cryptography & Blockchain

Building a ZKP system from scratch in Rust

New to zero-knowledge proofs? This is part of my ZK Proof First Steps series, where we’re building a ZKP system from scratch in Rust! 🚀

Cryptography & Blockchain

Building a Threshold Cryptography Library in Rust

Threshold cryptography allows secure splitting of a secret into multiple pieces, called “shares.”

Error Handling(2)

Getting Started(1)

Iterators & Closures(5)

Lifetimes(3)

Macros(3)

Ownership & Borrowing(4)

Patterns & Architecture(9)

Patterns & Architecture

State Machine Design Pattern in Solidity

The design patterns in programming are proven solutions to common problems, and the state machine is one such design pattern, particularly…

Patterns & Architecture

Understanding Microservice Meshes: Architecture, Operation, and Examples

A service mesh is a dedicated infrastructure layer that facilitates service-to-service communications in a microservices architecture…

Patterns & Architecture

Addressing Consistency Challenges in Microservices Architecture

Here are some strategies to deal with consistency issues in Microservices.

Patterns & Architecture

Microservices Consistency Best Practices

Transitioning from monolithic architectures to microservices brings many benefits, such as scalability and resilience. However, ensuring…

Patterns & Architecture

Implementing the Saga Pattern in Microservices using Camunda

A saga is a sequence of local transactions. Each local transaction updates the data within a single service and publishes an event. Other…

Patterns & Architecture

Microservices Contract Driven Testing

In the world of microservices architecture, ensuring that independently deployable services interact correctly is a significant challenge…

Patterns & Architecture

Eight Principles of Production-Ready Microservices

Hey there! Let’s dive into the world of microservices.

Patterns & Architecture

Understanding The RAFT Protocol for Distributed Systems

Consistent and reliable operation across a network of interconnected computers presents a unique challenge. This is where consensus…

Patterns & Architecture

A Binary Disassembler in Rust

Disassemblers are tools that translate machine code back into assembly language, providing insights into the inner workings of compiled…

Performance & Optimization(6)

Smart Pointers & Memory(6)

Strings & Text(22)

Strings & Text

What’s the Buffer Overflow vulnerability?

Buffer overflow vulnerability is a type of security vulnerability that can allow an attacker to execute malicious code on a system or gain…

Strings & Text

7 Tips for Preventing Insecure Deserialization Vulnerability

Insecure deserialization is a prominent security vulnerability that occurs when an application deserializes untrusted or malicious data…

Strings & Text

Malware Analysis 101: Techniques & Tools

Malware analysis is an essential cybersecurity practice to examine malicious software to uncover its purpose, functionality, and potential…

Strings & Text

Understanding Protocol Buffers with Practical Examples

Protocol Buffers, often called Protobufs, are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured…

Strings & Text

Working with Strings in Rust: A Definitive Guide

Rust’s approach to strings can be a bit challenging for newcomers to the language or developers familiar with strings in other languages…

Strings & Text

Data Serialization in Rust with Serde

In our digital age, data is the lifeblood of countless applications. But there’s a tiny secret behind the scenes: the art and science of…

Strings & Text

Implementing a Secret Vault in Rust

Hey there, fellow Rustacean!

Strings & Text

Building a P2P Database in Rust

Hey there! If you’ve landed here, you’re probably interested in understanding how distributed systems work, particularly in Rust. Today…

Strings & Text

Understanding String, str, and UTF-8 byte arrays in Rust

Hey there! Ever wonder how we’ve managed to squeeze every language from the intricate scripts of Mandarin to the hieroglyphs of ancient…

Strings & Text

Understanding and Implementing OAuth 2.0 in Rust with oxide-auth

Overview of the OAuth 2.0 Protocol

Strings & Text

Implementing a Firewall in Rust

In this article, we will implement a basic yet fully functional Firewall in Rust! 🦀

Strings & Text

Implementing a Blockchain in Rust

This article provides a step-by-step breakdown of implementing a basic blockchain in Rust, from the initial setup of the block structure…

Strings & Text

Building a VM Instruction Set in Rust

In this comprehensive tutorial, we’ll build a basic Virtual Machine (VM) in Rust. It isn’t just about coding; it’s about understanding the…

Strings & Text

Rust Parsing with Pest and Pest Derive Crates

Pest is a parsing library in Rust that emphasizes simplicity and performance. It uses Parsing Expression Grammar (PEG) as its foundation…

Strings & Text

Database Sharding in Rust

Database sharding is a technique to scale out databases by breaking them into smaller, more manageable pieces called shards. It’s…

Strings & Text

Implementing a Virtual DOM in Rust

In this article, we explore the implementation of a basic virtual DOM for parsing and rendering HTML elements using Rust.

Strings & Text

Implementing a Web3 NFT API in Rust

Hi fellow Rustaceans! 🦀

Strings & Text

Implementing an Arithmetic Circuit Compiler in Rust

Implementing an arithmetic circuit compiler in Rust involves creating a system that can parse a polynomial expression, construct an…

Strings & Text

Implementing a Swap Routing Mechanism in Rust

In this article, we’ll explore how to implement a swap routing mechanism in Rust. We’ll create a simplified version of a decentralized…

Strings & Text

A Memory Dump Analyzer in Rust

Analyzing binary files and memory dumps is a common task in software development, especially in cybersecurity, reverse engineering, and…

Strings & Text

Mastering Pinning in Rust

Pinning in Rust is an essential concept for scenarios where certain values in memory must remain in a fixed location, making it critical…

Strings & Text

Building a VM with Native ZK Proof Generation in Rust

In this article we will build a cryptographic virtual machine (VM) in Rust, inspired by the TinyRAM model, using a reduced instruction set…

Systems Programming(10)

Systems Programming

Data Isolation Approaches in Multi-Tenant Applications

A multi-tenant application is a software designed to serve multiple customers (tenants) using a single instance of the application. This…

Systems Programming

What Are Kubernetes Node Affinity and Pod Affinity?

A detailed exploration of Node Affinity and Pod Affinity — their applications and present best practices.

Systems Programming

Implementing a Network Traffic Analyzer in Rust

In this article, we’ll delve into the intricacies of working with network traffic using Rust. We’ll explore capturing packets, parsing…

Systems Programming

Implementing an Application Container in Rust

Hey there, Rustaceans! 🦀

Systems Programming

Memory-Mapped I/O in Rust

Memory-mapped I/O is especially helpful when working with big files, loading only the necessary parts into memory. This makes it simpler to…

Systems Programming

Exploring Finite Fields with Rust: Efficient Modular Arithmetic

Finite fields might sound like abstract mathematical concepts, but they are at the heart of many technologies we rely on today, especially…

Systems Programming

Inline assembly in Rust

Inline assembly in Rust, specifically with the asm! macro, allows developers to insert assembly language instructions directly into Rust…

Systems Programming

Playing with Pointer Arithmetic in Rust

In most modern languages, pointer arithmetic is an unusual sight, often left behind in favor of safety and memory management features.

Systems Programming

Dynamic Linking and Memory Relocations in Rust

When you compile source code into object files (such as .o files), the compiler generates machine code along with metadata that indicates…

Systems Programming

Userspace TCP in Rust with DPDK for High-Frequency Trading

Who This Article Is For — And a Warning

Testing(3)

Traits & Generics(10)

Traits & Generics

A Quick Look at Generics in Go

Parametric polymorphism (a.k.a. Generics) is a feature in programming languages that allow functions or data structures to work with…

Traits & Generics

Understanding Rust's Traits: An Introduction and Examples

What Are Traits?

Traits & Generics

Mastering Generics in Rust: A Hands-on Guide

Generics allow us to define function signatures and data types with placeholder type instead of concrete types. This helps in writing more…

Traits & Generics

Rust Dynamic vs Static Dispatch

Dynamic and static dispatch are two different ways of handling method calls in the Rust programming language. Understanding the differences…

Traits & Generics

Understanding Rust’s Generic Associated Types

Generic Associated Types (GATs) allow for more expressive type relationships in traits, enhancing the language’s capabilities in generic…

Traits & Generics

Rust Traits: from Zero to Hero

Who’s never stumbled upon the tricky “the (…) trait bound is not satisfied” when coding in Rust? We have all been there!

Traits & Generics

Implementing a Mersenne Twister Generator in Rust

The Mersenne Twister is a widely used pseudorandom number generator (PRNG) known for its fast generation and high-quality randomness…

Traits & Generics

The Architecture of Elasticity: Escaping “Generic Soup” with Type Erasure

In the Rust ecosystem, “Zero-Cost Abstractions” is the mantra. We are culturally conditioned to view Generics (<T: Trait>) as the only…

Traits & Generics

Rust’s trait system is one of its most powerful features, enabling zero-cost abstractions and…

This article assumes familiarity with Rust traits, generics, and trait bounds. We’ll explore the pyramid pattern through three complete…

Traits & Generics

Beyond dyn Trait: Advanced Runtime Polymorphism and the Caster Pattern

In Rust, we are evangelists of static analysis. We lean on monomorphization, forcing the compiler to generate specialized assembly for…

Web & Networking(36)

Web & Networking

The Technological Singularity: A realistic overview

A Technological Singularity definition

Web & Networking

What is Web3?

Web3, also known as Web 3.0, is the next evolution of the internet. It is a decentralized network that allows for more direct interaction…

Web & Networking

What’s Zero Trust?

Zero Trust is a security concept based on assuming that all devices, users, and systems inside and outside of an organization’s network are…

Web & Networking

Technical Threat Intelligence

Technical Threat Intelligence refers to the information and data organisations collect and analyse to identify, understand and predict…

Web & Networking

Hyperautomation: Components, Applications, Trends

Hyperautomation is a combination of technologies that allows businesses to automate and streamline their processes, thereby increasing…

Web & Networking

The Human Factor in Cyber Security: Why It Matters

While many organizations invest heavily in cutting-edge security measures, the human factor remains a significant vulnerability in…

Web & Networking

EIP 2981: Enabling Royalty Distribution in the NFT Ecosystem

The NFT (Non-Fungible Token) industry has expanded and evolved, and the need for a standardized system to handle royalties has become…

Web & Networking

Solidity Top 10 Vulnerabilities and how to mitigate them

Solidity, the high-level object-oriented programming language for implementing smart contracts on the Ethereum blockchain, has been pivotal…

Web & Networking

Practical Tips for Securing Your GraphQL APIs

GraphQL is a robust query language and runtime that allows developers to request and manipulate data flexibly. Its flexibility, though, can…

Web & Networking

Implementing a Fraud Detection algorithm in Python

In this article, we will explore how to implement a simple fraud detection system in Python using machine learning techniques.

Web & Networking

Understanding Cloud Access Security Brokers

A Cloud Access Security Broker (CASB) is a software tool or service that sits between an organization’s on-premises infrastructure and the…

Web & Networking

Kubernetes Ingress: The Gateway to Your Cluster

Kubernetes Ingress is a collection of rules that govern how external traffic is routed to services within a Kubernetes cluster. It enables…

Web & Networking

The SAML Protocol: exchanging authentication and authorization between parties

The Security Assertion Markup Language (SAML) is an XML-based standard for exchanging authentication and authorization data between…

Web & Networking

Secure Access Service Edge (SASE) explained

Secure Access Service Edge (SASE) is a new network architecture model that aims to simplify and enhance security, performance, and…

Web & Networking

Certificate Transparency Protocol: A Quick Overview

The Certificate Transparency (CT) protocol addresses the trust-based Public Key Infrastructure (PKI) limitations and provides a reliable…

Web & Networking

TLA+ Language: Paving the Way for Error-Free Software Systems

TLA+ is a formal specification language for designing, modelling, and verifying complex systems.

Web & Networking

A Deep Dive into the Federated Byzantine Agreement Consensus Mechanism

The Federated Byzantine Agreement (FBA) is a consensus mechanism designed to achieve Byzantine Fault Tolerance (BFT) more decentralised and…

Web & Networking

An Introduction to Actix: A Rust Web Framework

Actix is a robust, pragmatic, fast Rust framework for web application building. It utilizes the actor model for managing state and…

Web & Networking

Serverless Computing: Under the Hood

Serverless computing has become a transformative force in cloud computing, offering a more abstracted platform for building applications…

Web & Networking

Developing gRPC Microservices in Go with Examples

gRPC is a high-performance, open-source universal RPC (Remote Procedure Call) framework developers use to build highly scalable and…

Web & Networking

State Management in React: Common Errors and Best Practices

An essential aspect of any React app is state management, which involves handling the data that changes over time and affects the rendering…

Web & Networking

Understanding etcd in Kubernetes

Introduction

Web & Networking

Kafka vs RabbitMQ: a straight-to-the-point comparison

Message queues and stream-processing software are foundational to modern distributed systems. Kafka and RabbitMQ are two prominent…

Web & Networking

SOAP vs REST: All you need to know

Regarding web services, two primary approaches dominate the scene: SOAP (Simple Object Access Protocol) and REST (Representational State…

Web & Networking

Reinforcement Learning in Practice

Key Concepts

Web & Networking

Building a compiler in Python

Have you ever wondered how your high-level code gets transformed into machine instructions? Or perhaps pondered the magic behind turning…

Web & Networking

Working with Databases in Rust using Diesel

Hey there, Rustacean! 🦀

Web & Networking

gRPC over HTTP/2 in Rust

If you’re keen on enhancing your networked applications in Rust, you’ve come to the right place. Today, we’re exploring Tonic, Rust’s take…

Web & Networking

Implementing a fully functional API Gateway in Rust: Part 1

Welcome to the first part of our comprehensive series dedicated to constructing a fully functional API Gateway using the Rust programming…

Web & Networking

Mastering Unix System Calls with Rust’s Nix Crate

Ever wanted to tap into the power of Unix system calls using Rust? You’re in the right place. In this article, we’ll delve into the nix…

Web & Networking

Implementing a Fully Functional API Gateway in Rust: Part II — Dynamic Service Registry

Hey there, Rustaceans! 🦀

Web & Networking

Machine Learning in Rust

Hi everyone! In this article, we’re focusing on machine learning in Rust.

Web & Networking

Six Rust Crates for Networking

Today, we’re exploring six popular Rust crates in Rust network programming. From handling low-level socket operations with Socket2 to…

Web & Networking

Decentralized Networking with the libp2p Rust Library

Before we delve into the Rust crate, let’s understand what libp2p is and why it matters. Libp2p is a modular and extensible networking…

Web & Networking

Your Next Big Leap Starts Here

A mentor is often the difference between good and great.

Web & Networking

Building a Rust Serverless Platform

In this tutorial, we will build a WebAssembly-powered serverless platform using Rust 🦀. This platform will enable you to register and…

Want hands-on exercises?

Go beyond reading — practice Rust with interactive exercises and AI-powered code review.