License and readme
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Nathan Stocks
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
77
README.md
Normal file
77
README.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# 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 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
|
||||||
Reference in New Issue
Block a user