From 79bd93b4e9974a7c5f24c1fe0163c2639f5219f5 Mon Sep 17 00:00:00 2001 From: Nathan Stocks Date: Sat, 12 Jun 2021 23:00:12 -0600 Subject: [PATCH] License and readme --- LICENSE | 21 +++++++++++++++ README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9049a8d --- /dev/null +++ b/LICENSE @@ -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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e7e0412 --- /dev/null +++ b/README.md @@ -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