๊ฐ์ ๊ตฌ์ฑ
๊ฐ์ฌ๋ฅผ ์ํ ์๋ด ํ์ด์ง์ ๋๋ค.
Rust ๊ธฐ์ด
์ฒซ 4์ผ์ Rust ๊ธฐ์ด๋ก ์ด๋ฃจ์ด์ง๋ฉฐ ์งง์ ์๊ฐ ์์ ๋ง์ ๋ด์ฉ์ ๋ค๋ฃจ๊ฒ ๋ฉ๋๋ค.
Course schedule:
- Day 1 Morning (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
๊ฐ์ | 5 minutes |
Hello World! | 15 minutes |
ํ์ ๋ฐ ๊ฐ | 45 minutes |
ํ๋ฆ ์ ์ด | 40 minutes |
- Day 1 Afternoon (2 hours and 15 minutes, including breaks)
Segment | Duration |
---|---|
ํํ ๋ฐ ๋ฐฐ์ด | 35 minutes |
์ฐธ์กฐ | 35 minutes |
์ฌ์ฉ์ ์ ์ ํ์ | 50 minutes |
- Day 2 Morning (2 hours and 55 minutes, including breaks)
Segment | Duration |
---|---|
๊ฐ์ | 3 minutes |
ํจํด ๋งค์นญ | 1 hour |
๋ฉ์๋์ ํธ๋ ์ดํธ | 50 minutes |
์ ๋ค๋ฆญ | 40 minutes |
- Day 2 Afternoon (3 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ | 1 hour and 20 minutes |
ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ | 1 hour and 40 minutes |
- Day 3 Morning (2 hours and 20 minutes, including breaks)
Segment | Duration |
---|---|
๊ฐ์ | 3 minutes |
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ | 1 hour |
์ค๋งํธ ํฌ์ธํฐ | 55 minutes |
- Day 3 Afternoon (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
๋น๋ฆผ | 50 minutes |
์๋ช | 1 hour and 10 minutes |
- Day 4 Morning (2 hours and 40 minutes, including breaks)
Segment | Duration |
---|---|
๊ฐ์ | 3 minutes |
Iterators | 45 minutes |
๋ชจ๋ | 40 minutes |
ํ ์คํธ | 45 minutes |
- Day 4 Afternoon (2 hours and 10 minutes, including breaks)
Segment | Duration |
---|---|
์ค๋ฅ์ฒ๋ฆฌ | 55 minutes |
์์ ํ์ง ์์ ๋ฌ์คํธ | 1 hour and 5 minutes |
์ฌํ ํ์ต
In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:
Rust in Android
The Rust in Android deep dive is a half-day course on using Rust for Android platform development. This includes interoperability with C, C++, and Java.
AOSP ์ฝ๋๋ฅผ ์ฌ๋ฌ๋ถ์ ์ปดํจํฐ์ ์ฒดํฌ์์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์, ๊ทธ ์ปดํจํฐ์์ ๊ณผ์ ์ ์ฅ์๋ฅผ ์ฒดํฌ์์ํ๊ณ src/android/
๋๋ ํฐ๋ฆฌ๋ฅผ AOSP ์ฝ๋์ ๋ฃจํธ๋ก ์ด๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋๋ก์ด๋ ๋น๋ ์์คํ
์์ ๊ณผ์ ์ฉ์ผ๋ก ์ถ๊ฐ๋ Android.bp
ํ์ผ์ ์ธ์ํ ์ ์์ต๋๋ค.
adb sync
๋ช
๋ ์ด๊ฐ ์๋ฎฌ๋ ์ดํฐ ํน์ ์ค์ ์ฅ์น์ ์๋ํ๋์ง ํ์ธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ src/android/build_all.sh
๋ฅผ ์ํํด์ ๋ชจ๋ ์๋๋ก์ด๋ ์์ ๋ฅผ ๋ฏธ๋ฆฌ ๋น๋ํด ๋ณด์ธ์. ๊ทธ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ๊ณ , ๊ทธ ์์์ ์ํ๋๋ ๋ช
๋ น์ด๋ค์ ํ์ธํ ํ ๊ฐ ๋ช
๋ น์ด๋ค์ ์๋์ผ๋ก ์คํํด๋ ์ ๋๋์ง ํ์ธํ์ธ์.
Chromium์์ Rust ์ฌ์ฉ
Chromium์์ Rust ์ฌ์ฉ ์ด ๊ณผ์ ์ Chromium ๋ธ๋ผ์ฐ์ ์ ์ผ๋ถ๋ก Rust๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ๋ฐ๋์ ๊ณผ์ ์ ๋๋ค. ์ฌ๊ธฐ์๋ Chromium์ gn ๋น๋ ์์คํ ์์ Rust๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์๋ ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (โcratesโ)๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ, C++ ์ํธ ์ด์ฉ์ฑ ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค.
Chromium์ ๋น๋ํ ์ ์์ด์ผ ํฉ๋๋ค. ๋๋ฒ๊ทธ, ๊ตฌ์ฑ์์ ๋น๋๋ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ๊ถ์ฅ๋์ง๋ง ๋ชจ๋ ๋น๋๊ฐ ์๋ํฉ๋๋ค. ๋น๋ํ Chromium ๋ธ๋ผ์ฐ์ ๋ฅผ ์คํํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
Bare-Metal Rust
The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.
๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ ํํธ๋ฅผ ์งํํ๊ธฐ ์ํด์๋ BBC micro:bit v2 ๊ฐ๋ฐ ๋ณด๋๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌ๋งคํด์ผ ํฉ๋๋ค. ๋ชจ๋ ์ฌ์ฉ์๋ ์์ ํ์ด์ง์ ์ค๋ช ๋ ๋๋ก ๊ฐ์ข ํจํค์ง๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
Concurrency in Rust
The Concurrency in Rust deep dive is a full day class on classical as well as async
/await
concurrency.
์ ํฌ๋ ์ดํธ๋ฅผ ์ค์ ํ๊ณ ๋ช ๊ฐ์ง ์์กด์ฑ์ ๋ค์ด๋ก๋ํด ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ ๋ฅผ src/main.rs
์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํ์ฌ ํ
์คํธ ํด ๋ณผ ์ ์์ต๋๋ค:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
๊ฐ์ ํ์
์ด ๊ฐ์๋ ๊ฐ์ฌ์ ์๊ฐ์์ด ์๋ฐฉํฅ์ผ๋ก ์ํตํ๋ฉด์ ์งํํ๋๋ก ๋์์ธ ๋์์ต๋๋ค. ๋ค์ํ ์ง๋ฌธ์ ํตํด ๋ฌ์คํธ์ ์ฌ๋ฌ ๋ถ๋ถ์ ํํํ ์ ์๋๋ก ํ์ธ์!