# pretzelhammer/rust-blog

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pretzelhammer-rust-blog).**

8,318 stars · 430 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/pretzelhammer/rust-blog
- awesome-repositories: https://awesome-repositories.com/repository/pretzelhammer-rust-blog.md

## Topics

`blog` `blogging` `rust` `rust-lang`

## Description

This project is an educational blog and learning resource dedicated to the Rust programming language. It provides a collection of curated guides, technical articles, and structured learning paths designed to teach language fundamentals, concurrency, and systems programming.

The repository distinguishes itself by offering practical implementation tutorials for complex systems. This includes detailed guides on compiler development—specifically translating source code into targets such as ARM64, x86_64, LLVM IR, and WebAssembly—as well as networking examples for building multithreaded chat servers.

The content covers a broad range of systems programming capabilities, including memory safety, lifetime concepts, and borrow checking. It also provides guidance on backend API development, focusing on areas such as token authentication, database connection pooling, and asynchronous operation management.

## Tags

### Education & Learning Resources

- [Programming Language Education](https://awesome-repositories.com/f/education-learning-resources/programming-language-education.md) — Offers a curated collection of structured educational guides and articles for learning Rust programming. ([source](https://github.com/pretzelhammer/rust-blog#readme))
- [Technical Articles](https://awesome-repositories.com/f/education-learning-resources/technical-articles.md) — Offers a collection of in-depth technical articles on Rust language fundamentals, concurrency, and performance. ([source](https://github.com/pretzelhammer/rust-blog/releases.atom))
- [Curated Learning Paths](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/technical-learning-roadmaps/curated-learning-paths.md) — Provides structured learning paths organized as sequences of tutorials and exercises to guide users to proficiency. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2024.md))
- [System Programming Concepts](https://awesome-repositories.com/f/education-learning-resources/system-programming-concepts.md) — Explains low-level systems programming concepts including memory safety, lifetimes, and pointer manipulation.
- [Beginner-Friendly Resources](https://awesome-repositories.com/f/education-learning-resources/beginner-friendly-resources.md) — Evaluates and recommends high-quality coding platforms and exercise sets for beginners. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2020.md))
- [Coding Exercises](https://awesome-repositories.com/f/education-learning-resources/coding-exercises.md) — Recommends curated coding challenges and interactive workshops to reinforce Rust language concepts. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2024.md))
- [Community Resource Lists](https://awesome-repositories.com/f/education-learning-resources/community-resource-lists.md) — Lists vetted forums and social communities where Rust learners can find troubleshooting help. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2024.md))
- [Technical Reading Lists](https://awesome-repositories.com/f/education-learning-resources/technical-reading-lists.md) — Directs users to specific documentation and articles that clarify complex concepts like lifetimes and traits. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/learning-rust-in-2024.md))

### Programming Languages & Runtimes

- [Rust Resources](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/systems-and-performance-languages/rust-resources.md) — Provides a structured collection of educational materials and guides for mastering the Rust programming language.
- [Backend Development](https://awesome-repositories.com/f/programming-languages-runtimes/backend-development.md) — Offers comprehensive guidance on developing server-side applications, including routing, JSON transformation, and connection pooling.
- [Slices for API Flexibility](https://awesome-repositories.com/f/programming-languages-runtimes/dynamic-strings/string-slices/indexing-and-slicing/slices-for-api-flexibility.md) — Explains how to build flexible APIs using dereferencing and type coercions with slices. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md))
- [Sizedness Constraints](https://awesome-repositories.com/f/programming-languages-runtimes/generic-types/sizedness-constraints.md) — Teaches the use of size-agnostic syntax in generic functions to accept types regardless of known size. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md))
- [Index-Based Data Access](https://awesome-repositories.com/f/programming-languages-runtimes/index-based-data-access.md) — Teaches how to retrieve elements from types using the square-bracket indexing operator. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Trait Object Polymorphism](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/language-extensions/trait-implementations/trait-object-polymorphism.md) — Guides the implementation of generic interfaces and shared behaviors using Rust trait objects. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md))
- [Deref Coercion](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety/explicit-variable-typing/deref-coercion.md) — Explains how smart pointers and wrapper types are automatically coerced to their underlying types. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Rust Lifetime Guides](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/language-tutorials/c-c-tutorials/object-management/object-lifetime-management/lifetime-inference/rust-lifetime-guides.md) — Provides detailed technical articles explaining Rust's lifetime concepts and borrow checking for memory safety. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md))
- [Rust Tutorials](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/language-tutorials/rust-tutorials.md) — Curates a collection of practical guides and tutorials covering Rust fundamentals, concurrency, and systems programming.
- [Trait-Based Polymorphism](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/type-systems/trait-based-polymorphism.md) — Teaches the use of trait objects and dynamic dispatch to implement polymorphism in Rust.
- [Runtime Polymorphism](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-polymorphism.md) — Covers techniques for storing different concrete types in a single collection using dynamic dispatch. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Shared Behavior Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/shared-behavior-interfaces.md) — Teaches how to specify shared method sets across multiple types using Rust traits. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Multi-Target Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/multi-target-compilers.md) — Provides detailed tutorials on translating source code into multiple targets like ARM64, x86_64, LLVM IR, and WebAssembly.
- [Architecture-Specific Generators](https://awesome-repositories.com/f/programming-languages-runtimes/compilation-target-specifications/architecture-specific-generators.md) — Provides tutorials on generating assembly code for ARM64, x86_64, and WebAssembly targets.
- [Compiler Construction Tutorials](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-construction-tutorials.md) — Offers detailed tutorials on compiler construction, specifically focused on translating source code to machine targets.
- [Marker Traits](https://awesome-repositories.com/f/programming-languages-runtimes/marker-traits.md) — Explains how to use marker traits to indicate if types are safe to send or share across threads. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Networking Examples](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/rust/networking-examples.md) — Ships practical implementations of multithreaded chat servers and byte stream parsing.
- [WebAssembly](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly.md) — Provides instructions for compiling source code into WASI-compliant WebAssembly text format. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/too-many-brainfuck-compilers.md))
- [Backend Assembly Generators](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/in-memory-compilers/backend-assembly-generators.md) — Includes a detailed guide on translating source code into x86_64 assembly. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/too-many-brainfuck-compilers.md))
- [Machine Code Generators](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/source-to-c-transpilers/source-to-source-transpilers/machine-code-generators.md) — Provides detailed guides on compiling source code into AArch64 assembly. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/too-many-brainfuck-compilers.md))

### Data & Databases

- [Collection Iteration](https://awesome-repositories.com/f/data-databases/collection-iterators/collection-iteration.md) — Explains how to traverse elements within arrays or slices using language-level iteration constructs. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Explicit Data Cloning](https://awesome-repositories.com/f/data-databases/data-transfer-objects/object-duplicators/explicit-data-cloning.md) — Explains how to produce owned copies of values from immutable references when ownership is required. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Application State Management](https://awesome-repositories.com/f/data-databases/application-state-management.md) — Demonstrates sharing database connections and configuration across request handlers using dependency injection. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/restful-api-in-sync-and-async-rust.md))
- [CRUD Operations](https://awesome-repositories.com/f/data-databases/crud-operations.md) — Provides examples of executing create, read, update, and delete queries using type-safe DSLs or raw SQL. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/restful-api-in-sync-and-async-rust.md))
- [Row-to-Struct Mappers](https://awesome-repositories.com/f/data-databases/data-mapping/struct-hydrators/row-to-struct-mappers.md) — Demonstrates transforming database query results into strongly-typed language structures using derive macros. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/restful-api-in-sync-and-async-rust.md))
- [Database Connection Managers](https://awesome-repositories.com/f/data-databases/database-connection-managers.md) — Implements a pool of reusable database connections to minimize connection overhead. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/restful-api-in-sync-and-async-rust.md))
- [Scope-Based Resource Cleanup](https://awesome-repositories.com/f/data-databases/resource-management/resource-teardown/scope-based-resource-cleanup.md) — Demonstrates automatic resource release using scope-based cleanup logic. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))

### Operating Systems & Systems Programming

- [Dynamically Sized Types](https://awesome-repositories.com/f/operating-systems-systems-programming/dynamically-sized-types.md) — Teaches the use of pointers and slices to manage data types with runtime-determined memory sizes. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/sizedness-in-rust.md))

### Software Engineering & Architecture

- [Value Type Conversions](https://awesome-repositories.com/f/software-engineering-architecture/data-schema-validation/data-type-validation/value-type-conversions.md) — Covers transforming values between concrete types using infallible and fallible conversion traits. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Equality and Ordering Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/equality-and-ordering-interfaces.md) — Teaches how to implement standard interfaces for equality and ordering in Rust. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [Error Handling](https://awesome-repositories.com/f/software-engineering-architecture/error-handling.md) — Provides a standardized approach to representing, returning, and propagating errors across application layers. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/tour-of-rusts-standard-library-traits.md))
- [IR Generators](https://awesome-repositories.com/f/software-engineering-architecture/execution-graphs/graph-execution-compilers/compiler-intermediate-representations/ir-generators.md) — Demonstrates translating source code into LLVM Intermediate Representation (IR) using SSA form. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/too-many-brainfuck-compilers.md))
- [Language Performance Optimization](https://awesome-repositories.com/f/software-engineering-architecture/language-performance-optimization.md) — Offers guidelines on reducing memory allocations and increasing execution speed through high-performance language migration. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/rust-in-non-rust-servers.md))

### Networking & Communication

- [Real-time Messaging](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/communication-platforms/real-time-collaboration-suites/real-time-messaging.md) — Implements a multithreaded chat server with real-time message broadcasting and isolated communication rooms.
- [Multithreaded Chat Servers](https://awesome-repositories.com/f/networking-communication/multithreaded-chat-servers.md) — Provides a practical implementation guide for building a multithreaded chat server with isolated rooms. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/chat-server.md))
- [General Write Buffering](https://awesome-repositories.com/f/networking-communication/socket-stream-writing/general-write-buffering.md) — Implements internal memory buffering for read and write operations to reduce system call overhead. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/too-many-brainfuck-compilers.md))

### System Administration & Monitoring

- [Structured Logging](https://awesome-repositories.com/f/system-administration-monitoring/structured-logging.md) — Implements structured logging of system events and errors with customizable severity levels. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/chat-server.md))

### Testing & Quality Assurance

- [SQL Query Validators](https://awesome-repositories.com/f/testing-quality-assurance/validation-verification/input-validation/compile-time-validators/sql-query-validators.md) — Shows how to verify that SQL queries are syntactically and semantically valid during the compilation process. ([source](https://github.com/pretzelhammer/rust-blog/blob/master/posts/restful-api-in-sync-and-async-rust.md))
