66 lines
4.1 KiB
Markdown
66 lines
4.1 KiB
Markdown
# 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 1 - Idiomatic Rust](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/idiomatic)
|
|
- [Exercise 2 - Documentation](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/docs)
|
|
- [Exercise 3 - Publishing to Crates.io](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/publish)
|
|
- [Exercise 4 - Closures & Iterators](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/closures_iterators)
|
|
- [Exercise 5 - Common Traits](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/traits)
|
|
- [Exercise 6 - Errors](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/errors)
|
|
- [Exercise 7 - Testing](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/testing)
|
|
- [Exercise 8 - Logging](https://github.com/CleanCut/ultimate_rust2/tree/main/exercise/logging)
|
|
- [Exercise 9 - 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 [`examples/`] 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 Rusty Engine, please consider sponsoring me [on GitHub] or [on Patreon]. 💖
|
|
|
|
[exercises]: https://github.com/CleanCut/ultimate_rust2#exercises
|
|
[`examples/`]: https://github.com/CleanCut/ultimate_rust2/blob/main/examples
|
|
[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
|