๊ฐ์ ๊ตฌ์ฑ
๊ฐ์ฌ๋ฅผ ์ํ ์๋ด ํ์ด์ง์ ๋๋ค.
Rust Fundamentals
The first three days make up Rust Fundaments. The days are fast paced and we cover a lot of ground:
- Day 1: Basic Rust, syntax, control flow, creating and consuming values.
- Day 2: Memory management, ownership, compound data types, and the standard library.
- Day 3: Generics, traits, error handling, testing, and unsafe Rust.
์ฌํ ํ์ต
Rust ๊ธฐ์ด์ ๊ดํ 3์ผ ๊ณผ์ ์ดํ์๋, ๋ค์๊ณผ ๊ฐ์ ์ ๋ฌธ ์ฃผ์ ๋ฅผ ๋ค๋ฃน๋๋ค:
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
๋ฅผ ์ํํด์ ๋ชจ๋ ์๋๋ก์ด๋ ์์ ๋ฅผ ๋ฏธ๋ฆฌ ๋น๋ํด ๋ณด์ธ์. ๊ทธ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ๊ณ , ๊ทธ ์์์ ์ํ๋๋ ๋ช
๋ น์ด๋ค์ ํ์ธํ ํ ๊ฐ ๋ช
๋ น์ด๋ค์ ์๋์ผ๋ก ์คํํด๋ ์ ๋๋์ง ํ์ธํ์ธ์.
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
๊ฐ์ ํ์
์ด ๊ฐ์๋ ๊ฐ์ฌ์ ์๊ฐ์์ด ์๋ฐฉํฅ์ผ๋ก ์ํตํ๋ฉด์ ์งํํ๋๋ก ๋์์ธ ๋์์ต๋๋ค. ๋ค์ํ ์ง๋ฌธ์ ํตํด ๋ฌ์คํธ์ ์ฌ๋ฌ ๋ถ๋ถ์ ํํํ ์ ์๋๋ก ํ์ธ์!