https://github.com/cleancut/ultimate_rust2
The best Intermediate Rust course out there!
https://github.com/cleancut/ultimate_rust2
Last synced: 10 months ago
JSON representation
The best Intermediate Rust course out there!
- Host: GitHub
- URL: https://github.com/cleancut/ultimate_rust2
- Owner: CleanCut
- License: mit
- Created: 2021-06-13T05:01:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T11:44:05.000Z (about 2 years ago)
- Last Synced: 2025-03-29T06:03:57.147Z (11 months ago)
- Language: Rust
- Size: 55.7 KB
- Stars: 287
- Watchers: 7
- Forks: 224
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ultimate Rust 2: Intermediate Concepts
This is the companion repository for the `Ultimate Rust 2: Intermediate Concepts` (the followup to the popular [Ultimate Rust Crash Course]). _UR2IC_ will be published independently online in the second half of 2021 and is also presented live as part of some O'Reilly virtual events such as [Rust in 3 Weeks], or taught in-person for corporate training. You will get the most out of this training experience by doing the [exercises] in this repository and watching (or attending) the instructor-led training.
In other words, this repository is for you hands-on-learners!
I use macOS, and that is what I developed this course on. Everything _ought_ to work similarly on major Linux distributions and Windows. Please [contact me](mailto:nathan@agileperception.com) ASAP if you have trouble with anything on this page.
_Just getting started with Rust? Check out the prerequisite for this course: [Ultimate Rust Crash Course]_
## Install Rust & Prepare Your Development Environment
Rust is required for this course! The latest stable version is always recommended. See [the repository for the previous course] for instructions on how to install Rust, prepare your development environment, and helpful resources.
## Exercises
Please clone this repository! These exercises are designed as Rust projects for you to edit on your own computer.
The exercises are separate Rust projects inside the `exercises/` subdirectory. For each exercise, you should:
- Open the corresponding`exercise/EXERCISE_NAME` directory in your IDE/Editor
- Navigate to the same directory with your Terminal application (so you can run `cargo run`, etc.)
- Open up the `src/main.rs` file.
- Follow the numbered exercise instructions in the code comments.
If you encounter any problems with the exercises, please feel free to use the online course communication tools to contact me, or [open an discussion]. Either way. 😄
For your convenience, here is a list of all the exercises, with links to view the code on GitHub.
- [Exercise - Idiomatic Rust](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/idiomatic)
- [Exercise - Documentation](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/docs)
- [Exercise - Closures & Iterators](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/closures_iterators)
- [Exercise - Common Traits](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/traits)
- [Exercise - Errors](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/errors) - See also Jane Lusby's 2020 RustConf Session, [Error Handling Isn't All About Errors]
- [Exercise - Testing](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/testing)
- [Exercise - Logging](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/logging)
- [Exercise - Threads & Channels](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/threads_channels)
## Examples
This course goes over a lot of code in lecture format. Much of the code from the lectures can be found in the [`example/`] directory in this repository.
## Contribution
All contributions are assumed to be dual-licensed under MIT/Apache-2.
## License
Distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See [license/APACHE](license/APACHE) and [license/MIT](license/MIT).
## Sponsor
If you like the work I do, please consider sponsoring me [on GitHub] or [on Patreon]. 💖
[exercises]: https://github.com/CleanCut/ultimate_rust2#exercises
[`example/`]: https://github.com/CleanCut/ultimate_rust2/blob/main/example
[open an discussion]: https://github.com/CleanCut/ultimate_rust2/discussions/new
[Ultimate Rust Crash Course]: https://agileperception.com/ultimate_rust_crash_course
[Rust in 3 Weeks]: https://agileperception.com
[Ultimate Rust 2: Intermediate Concepts]: https://github.com/CleanCut/ultimate_rust2
[the repository for the previous course]: https://github.com/CleanCut/ultimate_rust_crash_course
[on GitHub]: https://github.com/sponsors/CleanCut
[on Patreon]: https://patreon.com/nathanstocks
[Error Handling Isn't All About Errors]: https://www.youtube.com/watch?v=rAF8mLI0naQ