Introduction
Index of examples
Contributing
❱
Topics of interest
Repository structure
Environment setup
Editing
Dev Containers and Docker
Optional preprocessors
API documentation
Crate publication
Language
❱
Rust installation and first steps
Main function
Simple data types
Variables and constants
Ownership and borrowing
Slices
Functions
Control flow
Structs
Enums
Traits
Trait objects
Attributes
Generics
Lifetimes
Modules and use keyword
Pattern matching, if / while let
Closures
Iterators
Macros
Standard library
❱
Option
Result
Vectors
HashMap
Strings
Copy-on-write
Smart pointers
AsRef
Automatic trait derivation
Crates
❱
Crates (alphabetic)
Crates (by category)
Algorithms
❱
Generate random values
Sort a vector
Architecture
Asynchronous
❱
Async
Async and traits
Tokio async runtime
Async channels
Streams
Futures crate
Mixing async and blocking code
Authentication
❱
Basic Authentication
Cloud
❱
Rust on AWS
Serverless computing
Rust-native cloud development
Command-line interface
❱
Argument parsing
ANSI terminal
Terminal user interfaces
User interaction
Command-line utilities
❱
Filesystem
Networking
Shells
Compression
❱
Working with tarballs
Concurrency
❱
Send and Sync
Multi-threading
Explicit threads
Data parallelism
Message passing
Shared-state concurrency
Concurrent data structures
Configuration
❱
Environment variables
Configuration management
Containers
Cross-platform Development
❱
Crux
Cryptography
❱
Hashing
Password hashing
Encryption
Data processing
❱
CSV
Dataframes
Data visualization
Data engineering
Data structures
❱
Bitfields
Maps
Stack-allocated arrays
UUIDs
Database access
❱
SQLite
Postgres
Connection pools
Query builders and ORMs
NoSQL
Search
Date and time
❱
Duration and calculation
Parsing and displaying
time crate
Development tools
❱
Cargo
❱
Package layout
Crate registries
Rust and binary installation
❱
Rustup
Code editing
Code formatting
Documentation
❱
mdBook
Badges
Versioning
Other
❱
miri
just
Development tools - build-time tooling
❱
Build-time tools
Development tools - cargo plugins
❱
Writing code
Code formatting, linting
Building
Cross-compiling
Watching for changes
Improving performance
Auditing
Maintaining
Development tools - debugging, logging
❱
Tracing
Log messages
Logging configuration
Alternatives
Diagnostic functions
DevOps
❱
DevOps
Dependency Management
Git Hooks
Github Actions
Release Automation
CD/CI
Encoding and serialization
❱
Character sets
CSV processing
Structured data
serde
Typecasting
Error handling
❱
Error customization
File system
❱
Read & write
Current working directory
Directory traversal
Ignore files
File watching
Temporary files and directories
User directories
GPU programming
❱
GPU
Hardware support
❱
Processor
Machine learning
Mathematics
❱
Linear algebra
Trigonometry
Complex numbers
Statistics
Additional numeric types
Memory management
❱
Global static
Lazy initialization
Operating systems
❱
External commands
Low-level system calls
Rust OSes
Rust patterns
❱
Design patterns
Functional programming
Rust idioms
Scripting
❱
Rhai
Template engines
❱
Tera
TinyTemplate
Text editors
❱
IDEs
Text processing
❱
Regular expressions
❱
Longer regex example
String parsing
String concatenation
Web programming
❱
Extracting links
URL
Media types
Web programming - HTTP clients
❱
HTTP clients
Making requests
Calling a web API
Downloads
Web programming - HTTP servers
❱
Axum
Actix
Other web frameworks
Static website generators
Middleware
CORS
Batteries-included frameworks
GraphQL
gRPC
hyper
Written in Rust
❱
Development tools
Python tools
Others
Links
❱
Links
Example code
Cheat sheets
Blogs
Books
Companies
Learning
Index
Thanks
Light
Rust
Coal
Navy
Ayu
Rust How-to
Cryptography
Securing data.
Encryption
Recipe
Crates
Categories
Salt and hash a password with PBKDF2
TODO
Hashing
Recipe
Crates
Categories
Calculate the SHA-256 digest of a file
Sign and verify a message with an HMAC digest
General Purpose Hashing
AEAD Encryption
RSA
Digital Signatures
Certificate Formats
TLS / SSL
Utilities
TODO
Password Hashing
Recipe
Crates
Categories
argon2
scrypt
bcrypt
TODO