Welcome to Day 3

์ด๋ฒˆ ๊ฐ•์˜๋Š” Rust์˜ ๋ฉฐ๊ฐ€์ง€ ๊ณ ๊ธ‰ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค:

  • ํŠธ๋ ˆ์ดํŠธ: ํŠธ๋ ˆ์ดํŠธ ํŒŒ์ƒ(derive), ๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ, ์ฃผ์š” ํ‘œ์ค€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŠธ๋ ˆ์ดํŠธ
  • ์ œ๋„ˆ๋ฆญ: ์ œ๋„ˆ๋ฆญ ๋ฐ์ดํ„ฐ ํƒ€์ž…, ์ œ๋„ˆ๋ฆญ ๋ฉ”์„œ๋“œ, ๋‹จํ˜•ํ™”(monomorphization), ๊ทธ๋ฆฌ๊ณ  ํŠธ๋ ˆ์ดํŠธ ๊ฐ์ฒด
  • ์˜ค๋ฅ˜์ฒ˜๋ฆฌ(์—๋Ÿฌ ํ•ธ๋“ค๋ง): ํŒจ๋‹‰, Result, ?์—ฐ์‚ฐ์ž(์‹œํ–‰ ์—ฐ์‚ฐ์ž)
  • ํ…Œ์ŠคํŠธ: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ๋ฌธ์„œ ํ…Œ์ŠคํŠธ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋Ÿฌ์ŠคํŠธ: ์›์‹œ(raw) ํฌ์ธํ„ฐ, ์ •์  ๋ณ€์ˆ˜, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜, ์™ธ๋ถ€ ํ•จ์ˆ˜

Today, we will cover some more advanced topics of Rust:

  • Traits: deriving traits, default methods, and important standard library traits.
  • Generics: generic data types, generic methods, monomorphization, and trait objects.
  • Error handling: panics, Result, and the try operator ?.
  • Testing: unit tests, documentation tests, and integration tests.
  • Unsafe Rust: raw pointers, static variables, unsafe functions, and extern functions.