GitHub Repo updated to Axum 0.7. See commit: github.com/jeremychone-channe...
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: github.com/jeremychone-channe... (MIT or Apache 2.0, all free to use)
Big thanks to CrabNebula (crabnebula.dev/) for sponsoring this video.
Help support this channel: / 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 - / jeremychone
- Discord General Rust - / discord
- Discord Awesome-App - / discord
- Patreon - / 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 [joql.org](joql.org) notation.
Other popular Rust Programming videos:
- Rust Type State Builder Pattern - • Rust Programming: Type...
- Rust Builder Pattern - • Rust Programming: The ...
- Rust Builder Pattern - • Rust Programming: The ...
- Quick Start Code Layout - • Rust - Simple Code Lay...
- AWESOME-APP Full Overview - Rust template for building Awesome Desktop Application: • Building Awesome Deskt...
- Tauri Quick Introduction (Desktop App wit Rust Programming): • Rust Tauri 1.0 - Quick...
- Rust Web App tutorials series: • Rust Web App - 1/3 - D...
- Rust Bevy Full Tutorial - Game Development with Rust: • Rust Bevy Full Tutoria...
- Rust for Java Developers series: • Rust for Java Develope...
Playlists:
- Rust For Desktop App: • Rust Programming for D...
- Everything Rust Programming - Tutorials, Courses, Tips, Examples: • Everything Rust Progra...
- Rust Programming for Web Development: • Rust Programming for W...
AWESOME-APP ➜ awesomeapp.dev - Rust Templates for building awesome applications.
Rust AWESOME-APP GitHub - github.com/orgs/rust-awesome-...
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.
Негізгі бет Ғылым және технология Rust Axum Full Course - Web Development (GitHub repo updated to Axum 0.7)
Пікірлер: 325