An open API service indexing awesome lists of open source software.

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!

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