diff --git a/3_ecosystem/3_11_async/README.md b/3_ecosystem/3_11_async/README.md index 002a68dd..d93b971c 100644 --- a/3_ecosystem/3_11_async/README.md +++ b/3_ecosystem/3_11_async/README.md @@ -79,8 +79,8 @@ For better understanding [`Waker`] design, usage, and features, read through the Async I/O in [Rust] is possible due to two main ingredients: __[non-blocking I/O operations][1]__ provided by operating system and an __asynchronous runtime__, which wraps those operations into usable asynchronous abstractions and provides an [event loop][48] for executing and driving them to completion. For better understanding [mio] and [tokio] design, concepts, usage, and features, read through the following articles: -- [Official `mio` crate docs][mio] -- [Official `tokio` crate docs][tokio] +- [Official `mio` crate docs][`mio`] +- [Official `tokio` crate docs][`tokio`] - [Official `tokio` crate guide][13] - [Nick Cameron: Asynchronous programming with Rust: Introduction][14] - [Tokio on asyncronous tasks and executors][15] diff --git a/README.md b/README.md index 19967088..eb049a5c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -Rust Bootcamp +Rust Rustcamp ============== > "It wasn't always so clear, but the Rust programming language is fundamentally about _empowerment_: no matter what kind of code you are writing now, Rust empowers you to reach farther, to program with confidence in a wider variety of domains than you did before." _
Rust Book's Foreword
_ -In this bootcamp, you will participate in the [Rust Bootcamp], a rigorous, step-by-step Rust certification program 🏆. The aim of this program is to shape you into a proficient **Strong Junior** Rust Developer. Indeed, with this rigorous training, you will find yourself better prepared than developers switching from other languages without a similar level of instruction. If you are a mid- or senior-level developer transitioning to Rust, you can confidently target **Middle-level** positions after achieving this certification. +In this rustcamp, you will participate in the [Rustcamp], a rigorous, step-by-step Rust certification program 🏆. The aim of this program is to shape you into a proficient **Strong Junior** Rust Developer. Indeed, with this rigorous training, you will find yourself better prepared than developers switching from other languages without a similar level of instruction. If you are a mid- or senior-level developer transitioning to Rust, you can confidently target **Middle-level** positions after achieving this certification. ## Prerequisites @@ -84,7 +84,7 @@ Please, read [instructions][Submitting Solutions]. ## Useful links -- 🧭 [Orientation] - Maximize your bootcamp experience with these tips. +- 🧭 [Orientation] - Maximize your rustcamp experience with these tips. - ⏩ [Getting Started][Getting Started] - Kick off your learning journey here. - 🎓 [Exercism] - Dive into coding exercises with the guidance of mentors. - 📚 [Learning Materials][Learning Materials] - A curated collection of top-notch Rust learning materials. @@ -100,6 +100,10 @@ Please, read [instructions][Submitting Solutions]. - 📘 [Rust Book] - An indispensable guide to Rust. While it's a must-have starting point, we strongly encourage revisiting it throughout your learning journey. +## Credits + +Rustcamp materials were based on the [Rust Incubator](https://github.com/instrumentisto/rust-incubator) program created by the legendary [Kai](https://github.com/tyranron). + [Step 0]: 0_basics [Step 1]: 1_concepts [Step 1.1]: 1_concepts/1_1_default_clone_copy @@ -180,7 +184,7 @@ Please, read [instructions][Submitting Solutions]. [Rustdoc Book]: https://doc.rust-lang.org/rustdoc [Clippy]: https://github.com/rust-lang/rust-clippy [rustfmt]: https://github.com/rust-lang/rustfmt -[Rust Bootcamp]: https://github.com/rust-lang-ua/bootcamp +[Rustcamp ]: https://github.com/rust-lang-ua/rustcamp [Fork As Template]: https://help.github.com/en/articles/creating-a-repository-from-a-template [rustup]: https://rustup.rs [This Week in Rust]: https://this-week-in-rust.org diff --git a/faq.md b/faq.md index 840acefc..2fece955 100644 --- a/faq.md +++ b/faq.md @@ -1,12 +1,12 @@ # ❓FAQ -- [About Bootcamp](#about-bootcamp) +- [About Rustcamp](#about-rustcamp) - [Communication](#communication) - [Completing tasks and PR](#completing-tasks-and-pr) - [Capstone project](#capstone-project) -## About Bootcamp +## About Rustcamp *- What is the motivation of mentors to mentor?*
@@ -14,7 +14,7 @@ All our mentors are professionals, many of whom own their companies and are in a *- Do we cooperate with IT companies in any way?*
-We are making a lot of efforts to involve companies in interviews with bootcamp graduates and hopefully we will get there. We currently have 4 partner companies: TacansLab, AI Edge Lab, Intellias, and Near. +We are making a lot of efforts to involve companies in interviews with rustcamp graduates and hopefully we will get there. We currently have 4 partner companies: TacansLab, AI Edge Lab, Intellias, and Near. *- Can I only complete the course assignments on weekends?*
@@ -25,13 +25,13 @@ To achieve quality results, you should dedicate more than 20 hours a week to you *- Where can I ask for help?*
-Firstly, ask your peers in the Bootcamp's chat. You can also post your questions in the Telegram [chat of our community](https://t.me/rustlang_ua), the official [forum](https://users.rust-lang.org/). [ChatGPT](https://openai.com/blog/chatgpt) works well for simpler queries. However, remember that your solutions must be original, and anyone found sharing or copying solutions will be expelled. +Firstly, ask your peers in the Rustcamp's chat. You can also post your questions in the Telegram [chat of our community](https://t.me/rustlang_ua), the official [forum](https://users.rust-lang.org/). [ChatGPT](https://openai.com/blog/chatgpt) works well for simpler queries. However, remember that your solutions must be original, and anyone found sharing or copying solutions will be expelled. *- What is the best way to ask questions?*
It's preferable to have your code in the [playground](https://play.rust-lang.org/). This way, mentors and peers don't have to spend extra time recreating the problem. -![playground_ask](https://github.com/rust-lang-ua/bootcamp/assets/98274821/2351bddd-455f-4078-a7cb-328a7bb08ac9) +![playground_ask](https://github.com/rust-lang-ua/rustcamp/assets/98274821/2351bddd-455f-4078-a7cb-328a7bb08ac9) *- Is the Telegram chat moderated?*
@@ -72,13 +72,13 @@ This is the last task of the section, namely: Questions should be answered in writing only in them. *- Should I answer theoretical questions in PR?*
-Only in the [final tasks](https://github.com/rust-lang-ua/bootcamp/edit/master/faq.md#--what-is-the-final-task). +Only in the [final tasks](https://github.com/rust-lang-ua/rustcamp/edit/master/faq.md#--what-is-the-final-task). In tasks that are not final, you do not need to answer theoretical questions. For example, in Problems 1_1, 1_2, you do not need to answer the theoretical questions in writing because they are not final. In the final tasks, please write your answers in the same PR as the solution to the practical problem. Do not create a separate PR to answer the questions; it will not be accepted by mentors. *- How do I start completing tasks?*
-[Our bot](https://github.com/1tbot) will create a private fork of the main [Rust Bootcamp repository](https://github.com/rust-lang-ua/bootcamp) in [our organization](https://github.com/rust-lang-ua) and invite you. For more information on how to configure the received repository, see the [instructions](https://github.com/rust-lang-ua/bootcamp/blob/master/orientation.md#getting-started). Don't forget to tag all of your mentors in the comments section of the PR. +[Our bot](https://github.com/1tbot) will create a private fork of the main [Rustcamp repository](https://github.com/rust-lang-ua/rustcamp) in [our organization](https://github.com/rust-lang-ua) and invite you. For more information on how to configure the received repository, see the [instructions](https://github.com/rust-lang-ua/rustcamp/blob/master/orientation.md#getting-started). Don't forget to tag all of your mentors in the comments section of the PR. *- How and where do I send Pull Requests of completed tasks?*
@@ -113,11 +113,13 @@ We encourage you to open an __issue__ if you see any problems. *- How can I incorporate changes from the main repository?*
+Most likely, you won't need to merge upstream because [our bot](https://github.com/1tbot) will do it automatically. But in case you need to manually merge upstream, here are the instructions: + Add the main repository as a remote. ```bash # Add the remote -git remote add upstream git@github.com:rust-lang-ua/bootcamp.git +git remote add upstream git@github.com:rust-lang-ua/rustcamp.git # Fetch the changes from the repository git fetch --all # Merge the changes @@ -145,7 +147,7 @@ cd your_repo Since this is a new clone, we are going to need to setup a new remote for the template repository. ```bash -git remote add upstream https://github.com/rust-lang-ua/bootcamp.git +git remote add upstream https://github.com/rust-lang-ua/rustcamp.git ``` 2. Create a new branch and reset it to the state of the `upstream/master` diff --git a/orientation.md b/orientation.md index 04123b5e..905de511 100644 --- a/orientation.md +++ b/orientation.md @@ -146,7 +146,7 @@ There are a few potential reasons for expulsion from the group, which include bu Wait for the invite to your new repository from [our bot](https://github.com/1tbot). For each exercise, you'll need to create separate pull requests. Then, when the reviewer checks and approves your pull request, one of your mentors will merge it into the master/main branch. After that, the exercise will be considered done. -1. [Our bot](https://github.com/1tbot) will create a private fork of the main [Rust Bootcamp repository](https://github.com/rust-lang-ua/bootcamp) in [our organization](https://github.com/rust-lang-ua) and invite you. +1. [Our bot](https://github.com/1tbot) will create a private fork of the main [Rustcamp repository](https://github.com/rust-lang-ua/rustcamp) in [our organization](https://github.com/rust-lang-ua) and invite you. 2. Also, your mentors will already be in the repository. @@ -154,12 +154,12 @@ This course is continually evolving, and it's important to stay updated with the ## Submitting Solutions -For each chapter or step of the bootcamp, you should create and submit a separate [PR (pull request)][PR]. Make sure to give your PR a [relevant title](https://github.com/rust-lang-ua/bootcamp/blob/master/faq.md#--how-should-i-name-pr). After you've completed your pull request, please remove any markers like "NOT READY", "DRAFT", or "WIP" from the title and specify [our bot](https://github.com/1tbot) as a reviewer and tag all of your mentors in the comments section. +For each chapter or step of the rustcamp, you should create and submit a separate [PR (pull request)][PR]. Make sure to give your PR a [relevant title](https://github.com/rust-lang-ua/rustcamp/blob/master/faq.md#--how-should-i-name-pr). After you've completed your pull request, please remove any markers like "NOT READY", "DRAFT", or "WIP" from the title and specify [our bot](https://github.com/1tbot) as a reviewer and tag all of your mentors in the comments section. Please, don`t do PR merge yourself. Before merging the pull request into the main branch, you need to receive approval from at least one mentor. If more than one mentor has reviewed your Pull Request and requested changes, you must receive approval from all involved mentors. If all the conditions are executed, mentors will be able to merge your PR. -Each step of the bootcamp is a [Cargo workspace member][workspace], meaning you can run and test it from the project root using commands like `cargo run -p step_1_8`. We highly recommend using tools like [rustfmt] and [Clippy] while writing your [Rust] code. +Each step of the rustcamp is a [Cargo workspace member][workspace], meaning you can run and test it from the project root using commands like `cargo run -p step_1_8`. We highly recommend using tools like [rustfmt] and [Clippy] while writing your [Rust] code. Never hesitate to reach out to your mentor or lead with questions. However, be aware that you may not always receive a direct answer. Instead, they may guide you towards a path for your own exploration and discovery. Remember, in this learning journey, it's usually the mentor or lead who asks the questions, expecting thorough and precise responses from you. @@ -185,7 +185,7 @@ If you're feeling that the certification might be too challenging at this point, [Plagiarism]: #honor-code [deadlines]: #deadlines -[Rust Bootcamp]: https://github.com/rust-lang-ua/bootcamp/README.md +[Rustcamp]: https://github.com/rust-lang-ua/rustcamp/README.md [certification test]: https://www.youtube.com/watch?v=cInMjEaH1q0 [how to fork - step by step]: ./how_to_fork.md [PR]: https://help.github.com/articles/github-glossary/#pull-request