๋ณธ Rust ํŠธ๋ž™์˜ ๋ชฉํ‘œ

Rust Course Flow

flowchart LR
a[์‹ ์ฒญ์ž]
b[์„ค๋ฌธ์กฐ์‚ฌ]
c[์˜คํ”„๋ผ์ธ ์„ธ์…˜]
c'[์˜จ๋ผ์ธ ๋งค์ฒด]
d1[Rustlings ์Šคํ„ฐ๋””]
d2[์ฝ”๋“œ๋ฆฌ๋ทฐ ์Šคํ„ฐ๋””]
d1'[Rustlings ์Šคํ„ฐ๋””]
d2'[์ฝ”๋“œ๋ฆฌ๋ทฐ ์Šคํ„ฐ๋””]
e[์ตœ์ข… ๊ณผ์ œ]
f[์ˆ˜๋ฃŒ์ž]
g[์ปจํŠธ๋ž™ํŠธ ๊ฐœ๋ฐœ ์ฝ”์Šค]
g'[์‹ฌํ™” ๋Ÿฌ์ŠคํŠธ ์Šคํ„ฐ๋””]
g''[๊ทธ๋ฃน ๋‚ด ํ”„๋กœ์ ํŠธ]

a --> b
b -- yes --> c
b -- no --> c'
subgraph ์˜จ๋ผ์ธ
c' --> d1'
c' --> d2'
end
subgraph ์˜คํ”„๋ผ์ธ
c --> d1
c --> d2
end
d1' --> e
d2' --> e
d1 --> e
d2 --> e
c --> e
c' --> e
e -- submit --> f
f --> g
f --> g'
f --> g''

์œ„ ๊ทธ๋ž˜ํ”„๋Š” ๋Ÿฌ์ŠคํŠธ ์ฝ”์Šค์˜ ์•ž์œผ๋กœ์˜ ์ง„ํ–‰์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์š”์•ฝํ•œ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค.

์ด 70์ธ์˜ ์‹ ์ฒญ์ž๋ถ„๋“ค ์ค‘ ์„ค๋ฌธ์„ ํ†ตํ•ด ์˜คํ”„๋ผ์ธ ์ฐธ์—ฌ์ž์™€ ์˜จ๋ผ์ธ ์ฐธ์—ฌ์ž๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ ์„ธ์…˜ ์ฐธ์—ฌ์ž

์˜จ๋ผ์ธ ์ฐธ์—ฌ์ž๋ถ„๋“ค์—๊ฒŒ๋Š” ์˜คํ”„๋ผ์ธ ์ฐธ์—ฌ์ž์™€ ๋™์ผํ•˜๊ฒŒ ์ฐธ๊ณ ์ž๋ฃŒ, Github Repo ๋“ฑ์˜ ์˜จ๋ผ์ธ ๋งค์ฒด๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

ํ˜ผ์ž ๊ณต๋ถ€ํ•˜์‹œ๋ฉด์„œ ์งˆ๋ฌธ์ด ์ƒ๊ธด๋‹ค๋ฉด, Boom Labs ๋””์Šค์ฝ”๋“œ์˜ # โ“ใ…ฃask ์ฑ„๋„ ์— ์ž์œ ๋กญ๊ฒŒ ์งˆ๋ฌธ ์ฃผ์‹œ๋ฉด, ๋‹ต๋ณ€ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

๋˜ํ•œ ์Šคํ„ฐ๋””๋ฅผ ํฌ๋งํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ์˜คํ”„๋ผ์ธ ์ฐธ์—ฌ์ž์™€ ๋˜‘๊ฐ™์ด ์Šคํ„ฐ๋”” ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

์Šคํ„ฐ๋””

์Šคํ„ฐ๋””๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Rustlings ์Šคํ„ฐ๋”” (๊ธฐ์ดˆ): Rustlings๋Š” Rust ๋ฌธ๋ฒ•์„ ๊ฐ€๋ณ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ๋ณธ ๊ฐ•์˜์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฐœ๋…๋“ค์— ํ•ด๋‹น๋˜๋Š” ์˜ˆ์ œ๋“ค์„ ๊ฐ™์ด ํ’€์–ด๋ณด๋Š” ๊ธฐ์ดˆ ๋‚œ์ด๋„์˜ ์Šคํ„ฐ๋””์ž…๋‹ˆ๋‹ค.
  2. Crate ์ฝ”๋“œ ๋ฆฌ๋ทฐ (์‹ฌํ™”): ๋Ÿฌ์ŠคํŠธ์˜ standard crate๋‚˜, ๋Ÿฌ์ŠคํŠธ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” crate๋“ค์— ๋Œ€ํ•ด docs๋ฅผ ์ฝ์–ด๋ณด๊ณ , ๊ตฌํ˜„์ฒด์˜ ์ฝ”๋“œ๋“ค์„ ๋ฆฌ๋ทฐํ•ด๋ณด๋Š” ์Šคํ„ฐ๋””์ž…๋‹ˆ๋‹ค.

์Šคํ„ฐ๋””์˜ ์ฐธ์—ฌ๋Š” ์ž์œ ์ด๋‚˜, ๋ณด๋‹ค ์ž์„ธํ•œ ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ๋‘ ์Šคํ„ฐ๋”” ์ค‘ ํ•˜๋‚˜๋Š” ์ฐธ์„ํ•˜์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ ์Šคํ„ฐ๋”” ํ…Œ๋งˆ๋ณ„ ์‹ ์ฒญ์ž๋ถ„๋“ค์„ ํ† ๋Œ€๋กœ ์Šคํ„ฐ๋””๊ทธ๋ฃน์„ ๋žœ๋ค์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์ •ํ•ด๋“œ๋ฆด ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์Šคํ„ฐ๋””์˜ ๊ทธ๋ฃน์„ ๋ฐฐ์ •ํ•ด๋“œ๋ฆฌ๋Š” ๊ฒƒ๊นŒ์ง€ Boom Labs์—์„œ ๋„์™€๋“œ๋ฆฌ๋ฉฐ, ๊ทธ ์ดํ›„ ์Šคํ„ฐ๋””์˜ ์ง„ํ–‰์€ ๋ชจ๋‘ ์Šคํ„ฐ๋”” ๋‚ด์—์„œ ์ž์œจ์ ์œผ๋กœ ์ง„ํ–‰ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋‹ค๋งŒ ์Šคํ„ฐ๋”” ์ง„ํ–‰ ๊ณผ์ •์—์„œ ๋ฌธ์ œ ์ƒํ™ฉ์ด ์ƒ๊ธฐ๋ฉด (์Šคํ„ฐ๋””์— ๋ถˆ์ฐธํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋งŽ์•„์ ธ์„œ ์™€ํ•ด๋˜์—ˆ๋‹ค๋˜์ง€ ๋“ฑ), Boom Labs ๊ตฌ์„ฑ์›์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๋‹ค๋ฅธ ์Šคํ„ฐ๋””์— ์žฌ๋ฐฐ์ •ํ•œ๋‹ค๋˜์ง€ ๋“ฑ์˜ ์กฐ์น˜๋ฅผ ์ทจํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.