Rust Axum Full Course - Web Development (GitHub repo updated to Axum 0.7)

Rust Axum Full Course - Web Development (GitHub repo updated to Axum 0.7)

187.176 Lượt nghe
Rust Axum Full Course - Web Development (GitHub repo updated to Axum 0.7)
GitHub Repo updated to Axum 0.7. See commit: https://github.com/jeremychone-channel/rust-axum-course/commit/52ded5e01efce0fc237280d9a5e6b8d7c1436d9c Rust Programming - Full Course for Axum: An Awesome Web Framework for Rust. Not too low-level, not too high-level, well-componentized, complete, and with great ergonomics. GitHub Code: https://github.com/jeremychone-channel/rust-axum-course (MIT or Apache 2.0, all free to use) Big thanks to CrabNebula (https://crabnebula.dev/) for sponsoring this video. Help support this channel: https://patreon.com/jeremychone IMPORTANT: On **Windows** for the "link" file issue when running the cargo test and run in parallel. The solution is to move `tests/quick_dev.rs` to the `examples` folder, rename the function to `#[tokio::main]`, and it should allow you to do the following: - In Terminal 1: `cargo watch -q -c -w src/ -x run` - In Terminal 2: `cargo watch -q -c -w examples/ -x 'run --example quick_dev'` (we will follow this scheme in the next videos) Tech notes: - `cargo install cargo-watch` - If you haven't already, make sure to install Cargo Watch. - On Windows, there appears to be an issue when running two Cargo commands on the same project simultaneously. If you have a solution, please add a comment and I will include it here. - Don't use `store: ... Vec` in production code, as it won't scale. It's just for this demo. I've created a new mock-store crate that handles this in a better way (for future videos). Content: - 00:00:00 - Intro - 00:00:53 - Hello World Router - 00:03:10 - Quick_Dev - 00:06:21 - Hello Route - Query Params - 00:08:51 - Hello Route - Path Param - 00:11:15 - routes_static - 00:13:37 - First LOGIN API - 00:21:55 - Login Auth-Token Cookies - 00:24:32 - Rest API - Mock Model/Store - 00:32:30 - CRUD - REST API - 00:40:12 - First Middleware - mw_require_auth - 00:45:52 - require_auth - token parsing - 00:49:13 - First Extractor - Ctx - 00:54:01 - Ctx in mw_require_auth - 00:56:29 - Ctx in the REST APIs - 00:58:31 - mw_ctx_resolver - 01:04:36 - Error Client & Server - 01:12:42 - Server Log line #RustProgramming #RustLang #WebDevelopment #completecourse Jeremy Chone: - Twitter - https://twitter.com/jeremychone - Discord General Rust - https://discord.gg/W2besKCzjx - Discord Awesome-App - https://discord.gg/XuKWrNGKpC - Patreon - https://patreon.com/jeremychone Next: In the next tutorial, we will build upon this course and lay the foundation for a real production app. - Remove the demo content (hello/hello2, and REST Ticket) and do some cleanup. - Refactor the model layer (still using a mock-store, but making the design more production-ready. We will have two entities `Task` and `User`). - Implement multi-scheme password encryption (using a secret and user_pwd_salt, as well as a #scheme_id#encrypted format to allow seamless encryption scheme evolution). - Implement Secure Web Token, (using a secret and `user_token_salt`). - Use RPC (JSON-RPC) following the [https://joql.org](https://joql.org) notation. Other popular Rust Programming videos: - Rust Type State Builder Pattern - https://www.youtube.com/watch?v=pwmIQzLuYl0&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Rust Builder Pattern - https://www.youtube.com/watch?v=Z_3WOSiYYFY&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Rust Builder Pattern - https://www.youtube.com/watch?v=Z_3WOSiYYFY&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Quick Start Code Layout - https://www.youtube.com/watch?v=oxx7MmN4Ib0&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - AWESOME-APP Full Overview - Rust template for building Awesome Desktop Application: https://www.youtube.com/watch?v=BY_ZjPGqJJk&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Tauri Quick Introduction (Desktop App wit Rust Programming): https://www.youtube.com/watch?v=kRoGYgAuZQE&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Rust Web App tutorials series: https://www.youtube.com/watch?v=VIig9IcQ-w8&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q&list=PL7r-PXl6ZPcCLvwpdD2Vj1O4CyoFTiHKd - Rust Bevy Full Tutorial - Game Development with Rust: https://www.youtube.com/watch?v=j7qHwb7geIM&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Rust for Java Developers series: https://www.youtube.com/watch?v=iFdh4sPC5Tg&list=PL7r-PXl6ZPcD63DS2djSiz4SlXkaTfobc&index=2&t=654s Playlists: - Rust For Desktop App: https://youtube.com/playlist?list=PL7r-PXl6ZPcAQAi1lfVrtHCSbaJbwZ4O8 - Everything Rust Programming - Tutorials, Courses, Tips, Examples: https://youtube.com/playlist?list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q - Rust Programming for Web Development: https://youtube.com/playlist?list=PL7r-PXl6ZPcCLvwpdD2Vj1O4CyoFTiHKd AWESOME-APP ➜ https://awesomeapp.dev - Rust Templates for building awesome applications. Rust AWESOME-APP GitHub - https://github.com/orgs/rust-awesome-app/repositories Other notes: - Tool used to do the green lines. ScreenBrush on Mac App Store (Gromit seems to be the equivalent on Linux) - Edited with Davinci Resolve.