Skip to content

Commit

Permalink
Merge pull request #52 from rust-lang-ua/SupperZum-patch-3
Browse files Browse the repository at this point in the history
Supper zum patch 3
  • Loading branch information
Wandalen authored Dec 18, 2023
2 parents 94fcb4c + 00a3e28 commit e9450ca
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 19 deletions.
4 changes: 2 additions & 2 deletions 3_ecosystem/3_11_async/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -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."
_<div align="right">Rust Book's Foreword</div>_
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

Expand Down Expand Up @@ -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.
Expand All @@ -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.
<!-- - 🗂️ Awesome List of [Learning Materials on Git][Learning Materials on Git] - Essential resources for mastering Git. -->

## 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
Expand Down Expand Up @@ -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
Expand Down
20 changes: 11 additions & 9 deletions faq.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# ❓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

<ins>*- What is the motivation of mentors to mentor?*</ins><br/>

All our mentors are professionals, many of whom own their companies and are in a position to hire talented participants. Mentoring not only improves their knowledge but also satisfies their innate desire to help others.

<ins>*- Do we cooperate with IT companies in any way?*</ins><br/>

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.

<ins>*- Can I only complete the course assignments on weekends?*</ins><br/>

Expand All @@ -25,13 +25,13 @@ To achieve quality results, you should dedicate more than 20 hours a week to you

<ins>*- Where can I ask for help?*</ins><br/>

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.

<ins>*- What is the best way to ask questions?*</ins><br/>

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)

<ins>*- Is the Telegram chat moderated?*</ins><br/>

Expand Down Expand Up @@ -72,13 +72,13 @@ This is the last task of the section, namely:
Questions should be answered in writing only in them.

<ins>*- Should I answer theoretical questions in PR?*</ins><br/>
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.

<ins>*- How do I start completing tasks?*</ins><br/>

[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.

<ins>*- How and where do I send Pull Requests of completed tasks?*</ins><br/>

Expand Down Expand Up @@ -113,11 +113,13 @@ We encourage you to open an __issue__ if you see any problems.

<ins>*- How can I incorporate changes from the main repository?*</ins><br/>

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 [email protected]:rust-lang-ua/bootcamp.git
git remote add upstream [email protected]:rust-lang-ua/rustcamp.git
# Fetch the changes from the repository
git fetch --all
# Merge the changes
Expand Down Expand Up @@ -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`
Expand Down
8 changes: 4 additions & 4 deletions orientation.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,20 +146,20 @@ 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.

This course is continually evolving, and it's important to stay updated with the latest changes.

## 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.

Expand All @@ -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
Expand Down

0 comments on commit e9450ca

Please sign in to comment.