Error handling trong Rust với thiserror và anyhow
Dùng thiserror để định nghĩa kiểu lỗi rõ ràng cho library, dùng anyhow để gom lỗi và thêm context cho application, và kết hợp cả hai.
Dùng thiserror để định nghĩa kiểu lỗi rõ ràng cho library, dùng anyhow để gom lỗi và thêm context cho application, và kết hợp cả hai.
Cách chia sẻ dữ liệu giữa các thread bằng Arc<Mutex<T>>, truyền message bằng mpsc channel, và tránh deadlock, poisoning cùng các lỗi hay gặp.
Xây dựng REST API CRUD bằng Axum 0.8, gồm routing, extractor, shared state, xử lý lỗi bằng IntoResponse và test handler không cần mở cổng mạng.
Khi nào dùng Box, Rc hay Arc trong Rust: cấp phát heap, chia sẻ ownership trong một thread và giữa nhiều thread, kèm Weak, RefCell và Mutex.
Hướng dẫn lập trình bất đồng bộ trong Rust với Tokio, gồm async/await, spawn task, join!, select!, timeout, channel, spawn_blocking và cách test code async.
Hướng dẫn dùng Cargo để tạo dự án Rust, thêm dependency đúng cách, viết test và gom nhiều crate vào một workspace.
Cách định nghĩa enum có dữ liệu, dùng match, if let, let else để xử lý từng trường hợp an toàn, cùng các lỗi hay gặp khi làm việc với enum trong Rust.
Tìm hiểu closure, ba trait Fn/FnMut/FnOnce, cách dùng iterator adapter như map, filter, collect và cách tự viết iterator trong Rust.
Tìm hiểu cách định nghĩa và implement trait trong Rust, dùng trait bound, impl Trait, dyn Trait và tránh các lỗi hay gặp như orphan rule.
Giải thích borrowing, borrow checker và lifetime annotation trong Rust bằng các ví dụ Order, Customer dễ hình dung, kèm lỗi thường gặp.
Tìm hiểu Option<T> và Result<T, E> trong Rust: cách biểu diễn giá trị vắng mặt, lỗi có thể xảy ra, và lan truyền lỗi bằng toán tử ? thay vì exception.
Tìm hiểu cơ chế Ownership của Rust — cách ngôn ngữ này quản lý bộ nhớ an toàn tại compile-time mà không cần garbage collector.