Rust Async Programming with Tokio: Getting Started
Learn async Rust with Tokio from scratch. Covers async/await syntax, spawning tasks, channels, TCP servers, and common pitfalls with working examples.
53 posts · page 1 of 2
Learn async Rust with Tokio from scratch. Covers async/await syntax, spawning tasks, channels, TCP servers, and common pitfalls with working examples.
Learn Rust concurrency with channels, Mutex, Arc, and thread-safe patterns. Covers mpsc, shared state, thread pools, and real-world examples.
Master Rust error handling with anyhow for applications and thiserror for libraries. Practical patterns, conversions, and context-rich error reporting.
Master Rust iterators and closures for functional-style programming. Covers map, filter, fold, chaining, custom iterators, and Fn trait family.
Learn Rust lifetimes from scratch with clear visual examples, common patterns, and practical rules that make lifetime annotations easy to understand.
Learn to write Rust declarative macros with macro_rules!. Covers syntax, fragment specifiers, repetitions, hygiene, and practical macro patterns.
Go beyond basic match with pattern guards, bindings, nested patterns, or-patterns, and real-world refactoring strategies in Rust.
A hands-on guide to Rust smart pointers covering heap allocation with Box, shared ownership with Rc, and thread-safe sharing with Arc.
Understand the trade-offs between dynamic dispatch with trait objects and static dispatch with generics in Rust through real-world examples.
A practical comparison of Tokio and async-std covering performance, ecosystem, API design, and migration considerations for async Rust projects.
Explore how Rust async runtimes work internally, including futures, wakers, executors, and the reactor pattern that powers async I/O.
Master Rust closures, understand Fn, FnMut, and FnOnce traits, learn how closures capture variables, and use closures effectively in your code.
Learn practical Rust error handling using thiserror for library errors and anyhow for application errors, with real-world patterns and examples.
Understand Rust's interior mutability pattern using Cell and RefCell, when to use each, and how they let you mutate data behind shared references.
Master Rust's macro_rules! with practical examples covering syntax matching, repetition, common patterns, and debugging tips for declarative macros.
Understand Pin, Unpin, and self-referential types in Rust. Learn why Pin exists, when you need it, and how to work with pinned data safely.
Master Serde in Rust with practical patterns for JSON, custom serialization, field renaming, enums, and error handling in real-world projects.
Learn when and how to use Box, Rc, and Arc smart pointers in Rust with practical examples covering heap allocation, shared ownership, and thread safety.
Learn when unsafe Rust is justified, what the five unsafe superpowers are, and how to write unsafe code that maintains Rust's safety guarantees.
Learn async Rust — futures, async/await syntax, the tokio runtime, spawning tasks, channels, and common async patterns.
Handle errors idiomatically in Rust — Result, Option, the ? operator, custom error types, and the thiserror/anyhow ecosystem.
Understand Rust's ownership model — move semantics, borrowing, references, lifetimes, and why the borrow checker exists.
Master Rust's pattern matching — match expressions, if let, while let, destructuring, guards, and patterns in function parameters.
Master Rust traits and generics — defining traits, trait bounds, default methods, trait objects, and generic data structures.
A side-by-side comparison of Actix Web and Axum, covering architecture, ergonomics, performance, ecosystem, and how to pick the right one for your project.
How Rust's async/await desugars into a state machine, what a Future actually is, and the runtime model that makes it efficient on real workloads.
A practical introduction to building HTTP services in Rust using the Axum web framework, with routing, extractors, state, and JSON handling.
Learn the builder pattern in Rust, why it fits the language so well, and how to use it for ergonomic, type-safe configuration of complex structs.
Organize multi-crate Rust projects with Cargo workspaces: shared dependencies, internal crates, build performance tips, and publishing workflows.
A practical tour of Rust's std::sync::mpsc channels: senders, receivers, backpressure, and patterns for safe message passing between threads.
Demystify Rust's Deref, DerefMut, and AsRef traits with clear examples showing how smart pointers, coercions, and flexible APIs really work.
How to use Clippy and rustfmt effectively in Rust projects, including configuration, CI integration, and tips to make linting friction-free.
How Rust's From trait powers the question-mark operator and lets you compose error types cleanly across libraries, applications, and async code.
How idiomatic Rust handles errors with Result and the ? operator: propagation, conversion, custom error types, and when to use anyhow or thiserror.
Lifetimes are how Rust tracks how long references live. This deep dive covers annotations, elision rules, generic lifetimes, and the common error patterns.
Master Rust's iterator trait, lazy adapters like map and filter, and consumers like collect and fold for fast, expressive data processing.
Understand how Rust organizes code with modules, files, and the pub keyword, plus the visibility rules that keep crates clean and maintainable.
A practical introduction to Rust's ownership and borrowing rules: moves, references, mutability, and the mental model that makes the borrow checker stop fighting you.
A practical comparison of declarative macro_rules! and procedural macros in Rust, including derive, function-like, and attribute macros with examples.
Use Rust's match expression, if-let, while-let, and pattern syntax to destructure data safely with exhaustive compile-time checking.
A complete guide to Serde, Rust's de facto serialization framework, covering derive macros, attributes, custom types, and common JSON patterns.
How Tokio schedules tasks, manages workers, and integrates with the OS to power asynchronous Rust programs efficiently across cores.
Rust traits look like interfaces from other languages, but the differences matter: associated types, blanket impls, coherence, and dynamic dispatch all behave their own way.
A practical tour of Cargo — creating projects, managing dependencies and features, running tests, building release binaries, and using workspaces.
A hands-on tour of Rust's core collections — Vec, HashMap, and HashSet — with common operations, iteration patterns, and ownership gotchas.
A practical guide to error handling in Rust covering Result, the ? operator, unwrap and expect, custom error types, and the thiserror and anyhow crates.
Learn how to model domain data in Rust with structs and enums, use pattern matching exhaustively, and lean on Option and Result for safety.
Understand how Rust traits define shared behavior, with default methods, trait bounds, derive, and a clear take on dyn Trait versus impl Trait.