1. Introduction
  2. Index of Examples
  3. Language
    ❱
    1. Rust Installation and First Steps
    2. Main Function
    3. Data Types
    4. Variables and Constants
    5. Ownership and Borrowing
    6. Slices
    7. Functions
    8. Control Flow
    9. Structs
    10. Enums
    11. Traits
    12. Trait Objects
    13. Attributes
    14. Generics
    15. Lifetimes
    16. Pattern Matching, if / while let
    17. Closures
    18. Iterators
    19. Macros
  4. Code Structure
    ❱
    1. Modules and Paths
    2. use Keyword
    3. Dependencies
    4. Code Organization
  5. Standard Library
    ❱
    1. Option
    2. Result
    3. Vectors
    4. HashMap
    5. Strings
    6. Copy-on-Write
    7. Smart Pointers
    8. AsRef
    9. Automatic Trait Derivation
  6. Crates
    ❱
    1. Crates (Alphabetic)
    2. Crates (by Category)
  7. Algorithms
    ❱
    1. Generate Random Values
    2. Sort a Vector
  8. Asynchronous
    ❱
    1. Async
    2. Async and Traits
    3. Tokio Async Runtime
    4. Async Channels
    5. Streams
    6. Futures crate
    7. Mixing Async and Blocking Code
    8. Utilities
  9. Authentication
    ❱
    1. Basic Authentication
  10. Caching
    ❱
    1. LRU Caching
  11. Command-line Interface
    ❱
    1. Argument Parsing
    2. ANSI Terminal
    3. Terminal User Interfaces
    4. User Interaction
  12. Command-line Utilities
    ❱
    1. Filesystem
    2. Networking
    3. Shells
  13. Compression
    ❱
    1. Working with Tarballs
    2. Flate2
  14. Concurrency
    ❱
    1. Explicit Threads
    2. Threadpools
    3. Multithreading with crossbeam
    4. Data Parallelism
    5. Message Passing and Channels
    6. Shared-state Concurrency
    7. Atomics
    8. Concurrent Data Structures
    9. Send and Sync
  15. Configuration
    ❱
    1. Environment Variables
    2. Configuration Management
  16. Cryptography
    ❱
    1. Hashing
    2. Password Hashing
    3. Encryption
    4. AEAD
    5. Signatures
    6. HMAC
    7. Certificates
    8. TLS
    9. Cryptographic Utilities
  17. Data Structures
    ❱
    1. Maps
    2. B-Trees
    3. Stacks and Queues
    4. Binary Heaps
    5. Linked Lists
    6. Bitfields
    7. Graph
    8. Heapless Data Structures
    9. Stack-allocated Arrays
    10. UUIDs
  18. Database Access
    ❱
    1. SQLite
    2. Postgres
    3. MSSQL
    4. Oracle
    5. Connection Pools
    6. Query Builders and ORMs
    7. NoSQL
    8. Key-Value Stores
    9. Search
    10. AMQP
  19. Database Implementations
    ❱
    1. Databases
    2. Search
  20. Date and Time
    ❱
    1. Duration and Calculation
    2. Parsing and Displaying
    3. time Crate
  21. Development Tools
    ❱
    1. Cargo
      ❱
      1. Package Layout
      2. Crate Registries
    2. Rust and Binary Installation
      ❱
      1. Rustup
    3. Code Editing
    4. Code Formatting
    5. Documentation
      ❱
      1. mdBook
      2. Badges
    6. Versioning
    7. Other
      ❱
      1. Code Building
      2. Cross-compilation
      3. Code Verification
      4. miri
      5. Reduce Compilation Duration
      6. Faster Linking
      7. Transpilers
  22. Development Tools - Build-time Tooling
    ❱
    1. Build-time Tools
    2. autocfg
    3. Build Cache
  23. Development Tools - Cargo Plugins
    ❱
    1. Writing Code
    2. Code Formatting, Linting
    3. Dependency Management
    4. Building
    5. Cross-compiling
    6. Watching for Changes
    7. Improving Performance
    8. Auditing
    9. Maintaining
  24. Development Tools - Debugging, Logging
    ❱
    1. Debugging
    2. Tracing
    3. Alternatives
    4. Log Messages
    5. Logging Configuration
    6. Metrics
    7. Distributed Telemetry
    8. Diagnostic Functions
  25. Development Tools - Performance, Profiling
    ❱
    1. Benchmarking
    2. Low-level Profiling Tools
    3. Memory Usage Analysis
  26. Development Tools - Testing
    ❱
    1. Assertions
    2. Testing
    3. Property-based Testing
    4. Mocking
    5. Test Runners
    6. Code Coverage
    7. Fuzzing
  27. Encoding and Serialization
    ❱
    1. Character Sets
    2. CSV Processing
    3. Structured Data
    4. Serialization with serde
    5. Typecasting
    6. Binary Encoders, No External Schema
  28. Error Handling
    ❱
    1. Error Customization
  29. File System
    ❱
    1. File Reading & Writing
    2. Directories
    3. Directory Traversal
    4. File Watching
    5. Temporary Files and Directories
    6. User Directories
  30. Hardware Support
    ❱
    1. Processor
    2. Peripherals
  31. Mathematics
    ❱
    1. Linear Algebra
    2. Trigonometry
    3. Complex Numbers
    4. Statistics
    5. Additional Numeric Types
  32. Memory Management
    ❱
    1. Lazy Initialization
    2. Memory Allocation
  33. Network Programming
    ❱
    1. Server
    2. Reverse Proxy
  34. Operating Systems
    ❱
    1. External Commands
    2. Low-level System Calls
    3. Rust OSes
  35. Operating systems - Windows
    ❱
    1. Windows
  36. Parser Implementations
    ❱
    1. HTML
    2. INI
    3. JSON
    4. Markdown
    5. TOML
    6. XML
    7. YAML
    8. Programming Languages
  37. Rust Patterns
    ❱
    1. Creational Patterns
      ❱
      1. Builder Pattern
    2. Structural Patterns
    3. Behavioral Design Patterns
    4. Functional Programming
    5. Rust-specific Patterns
  38. Template Engines
    ❱
    1. Tera
    2. TinyTemplate
  39. Text Editors
    ❱
    1. IDEs
  40. Text Processing
    ❱
    1. Regular Expressions
    2. String Parsing
    3. String Concatenation
    4. String Manipulation
    5. String Search
    6. Unicode Handling
    7. Diffing
    8. OS and C Strings
  41. Web Programming
    ❱
    1. HTTP Types and Interfaces
    2. Extracting Links
    3. URLs
    4. Media Types
  42. Web Programming - HTTP Clients
    ❱
    1. HTTP clients
    2. Making Requests
    3. Calling a Web API
    4. Downloads
  43. Web Programming - HTTP Servers
    ❱
    1. Other Web Frameworks
    2. Static Website Generators
    3. Middleware
    4. CORS
  44. Links
    ❱
    1. Links
    2. Example Code
    3. Cheat Sheets
    4. Blogs
    5. Books
    6. Companies
    7. Learning
  45. Contributing
    ❱
    1. Topics of Interest
    2. Repository Structure
    3. Environment Setup
    4. Editing
    5. Dev Containers and Docker
    6. Optional Preprocessors
    7. API Documentation
    8. Crate Publication
  46. Index
  47. Thanks

The Rust How-to Book

Books

Books
  • The Little Book of Rust Books⮳.
  • "The Book": The Rust Programming Language⮳.
  • Rust by Example⮳.
  • Rust by Practice⮳.
  • Rust Cookbook (fork)⮳.
  • Rust Cookbook (old)⮳.
  • Rust Design Patterns⮳.
  • Easy Rust⮳.
  • The Rustonomicon⮳.
  • Effective Rust⮳.
  • Programming Rust⮳.
  • Programming Rust, 2nd edition⮳.
  • The Rust Programming Language, 2nd Edition⮳.
  • Writing Interpreters in Rust: a Guide⮳.
  • Asynchronous Programming in Rust⮳.
  • The rustdoc book⮳.
  • Rust Atomics⮳.