Course Structure

๊ฐ•์˜๋Š” ๋น ๋ฅธ ์†๋„๋กœ ์ง„ํ–‰๋˜๋ฉด ๋‹ค์Œ 3,4์ผ๋™์•ˆ ๋งŽ์€ ๋ฒ”์œ„์˜ ๋ถ€๋ถ„์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

The course is fast paced and we will cover a lot of ground over the next 3โ€“4 days:

  • 1์ผ์ฐจ: ๋Ÿฌ์ŠคํŠธ ๊ธฐ๋ณธ, ์†Œ์œ ๊ถŒ(ownership)๊ณผ ๋นŒ๋ฆผ(borrow) ์ฒดํฌ.
  • 2์ผ์ฐจ: ๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ์œ ํ˜•, ํŒจํ„ด ๋งค์นญ, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • 3์ผ์ฐจ: ํŠธ๋ ˆ์ž‡(traits)๊ณผ ์ œ๋„ˆ๋ฆญ(generics), ์—๋Ÿฌ ํ•ธ๋“ค๋ง(์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ), ํ…Œ์ŠคํŠธ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋Ÿฌ์ŠคํŠธ.
  • 4์ผ์ฐจ: ๋Ÿฌ์ŠคํŠธ์˜ ๋™์‹œ์„ฑ ๋ฐ ๋‹ค๋ฅธ ์–ธ์–ด์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ
  • Day 1: Basic Rust, ownership and the borrow checker.
  • Day 2: Compound data types, pattern matching, the standard library.
  • Day 3: Traits and generics, error handling, testing, unsafe Rust.
  • Day 4: Concurrency in Rust and interoperability with other languages

4์ผ์ฐจ์˜ ์—ฐ์Šต: ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ C/C++๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ด์ „ํ•ด์„œ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋ฉด ์ข…์†์„ฑ์ด ์ ์„ ์ˆ˜๋ก ์ข‹์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฌธ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

Exercise for Day 4: Do you interface with some C/C++ code in your project ๋ฉด which we could attempt to move to Rust? The fewer dependencies the better. Parsing code would be ideal.

Format

๊ฐ•์˜๋Š” ๋Œ€ํ™”์‹์ด๋ฉฐ ๋‹น์‹ ์˜ ์งˆ๋ฌธ์ด ๋Ÿฌ์ŠคํŠธ ํƒํ—˜์„ ์ด๋Œ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

The course is interactive and your questions will drive our exploration of Rust!

  • ์งˆ๋ฌธ์ด ์ƒ๊ธฐ๋ฉด ์งˆ๋ฌธํ•ด์ฃผ์„ธ์š”
  • ํ† ๋ก ์€ ๋งค์šฐ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค!
  • ๊ฐ•์˜์˜ ์ž๋ฃŒ๋Š” ์ฐธ๊ณ ์ž๋ฃŒ์ผ ๋ฟ์œผ๋กœ ๊ฑด๋„ˆ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Please ask questions when you get them, donโ€™t save them to the end.
  • Discussions are very much encouraged!
  • We will likely talk about things ahead of the slides.
    • The slides are just a support and we are free to skip them as we like.