[Rust] loco.rs

loco.rs๋Š” RustํŒ Rails๋ฅผ ํ‘œ๋ฐฉํ•˜๋ฉด์„œ ๋‚˜์˜จ ๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค.

๊ธฐ๋ณธ์ ์ธ ํŠน์ง•์€ ์ด ์ •๋„๋‹ค.






์„ค์น˜

loco๋Š” ์‹คํ–‰์ด๋‚˜ ์ฝ”๋“œ ์ƒ์„ฑ ๋“ฑ์„ ํ•˜๋ ค๋ฉด ์ „์šฉ CLI๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์š”๊ตฌ๋œ๋‹ค.

cargo install loco

์ด๋ ‡๊ฒŒ ๋œจ๋ฉด ์ž˜ ์„ค์น˜๋œ ๊ฒƒ์ด๋‹ค.




ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ

new ๋ช…๋ น์„ ํ†ตํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”๋ฅผ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

loco new

ํ”„๋ก ํŠธ ์ฝ”๋“œ ํ…œํ”Œ๋ฆฟ๋„ ํ•จ๊ป˜ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ”„๋ก ํŠธ ์ฝ”๋“œ๋Š” ๋ฆฌ์•กํŠธ๋กœ ๊ณ ์ •์ด๋‹ค.


DB ์ง€์›์€ ๋งŒ๋“ค๋‹ค๋งŒ๊ฑฐ๊ฐ™๋‹ค. MySQL๋„ ์—†๋‹ค.


์ดˆ๊ธฐํ™”๋ฅผ ์™„๋ฃŒํ•˜๋ฉด


์ด๋Ÿฐ ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ตฌ์„ฑ๋œ๋‹ค.


ํ”„๋ก ํŠธ๋Š” ๊ทธ๋ƒฅ ๋ฆฌ์•กํŠธ๋‹ค.


๋จผ์ € ๋นŒ๋“œํ•ด์ค€๋‹ค.
์ด ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์—์„œ๋Š” ๋ฆฌ์•กํŠธ๋กœ ๋นŒ๋“œํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๊ทธ๊ฑธ ์„œ๋น™ํ•˜๋Š” ํ˜•ํƒœ๋ผ์„œ, ํ”„๋ก ํŠธ ๋นŒ๋“œ๋ฅผ ๋จผ์ € ํ•ด์ค˜์•ผ ํ•œ๋‹ค.


์„œ๋ฒ„ ๊ตฌ์กฐ๋Š” ์ด๋ ‡๋‹ค.
์ž๊ธฐ๋“ค ์Šคํƒ€์ผ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ๊ณ ์ •ํ•ด๋†จ๋Š”๋ฐ... ๋‚ด๊ฐ€ ๋ณด๊ธฐ์—” ์˜ ์—‰์„ฑํ•˜๋‹ค.


๋‚ด๋ถ€ ์ฝ”๋“œ๋Š” ๊ทธ๋ƒฅ axum์ด๋‹ค. ๊ทธ๋Œ€๋กœ ๊ฐ–๋‹ค์ผ๋‹ค.


cargo loco start ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ”๋กœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ทธ๋Ÿผ ์˜ˆ์ œ UI ํ™”๋ฉด์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.




์†Œ๊ฐ

๊ณ„์† ๋ฐ”์ด๋Ÿด์ด ๋– ์„œ ๋ญ”๊ฐ€ ์‹ถ์–ด์„œ ํ•œ๋ฒˆ ์‹คํ–‰ํ•˜๋ฉด์„œ ๋ดค๋Š”๋ฐ, ์‹ค๋ง์Šค๋Ÿฌ์šด ๋ถ€๋ถ„์ด ๋„ˆ๋ฌด ๋งŽ์•˜๋‹ค.

์„œ๋ฒ„๋Š” ์ž์ฒด ๊ตฌํ˜„์ด ์•„๋‹ˆ๊ณ  ๊ทธ๋ƒฅ axum ์‹คํ–‰๊ธฐ์— ๋ถˆ๊ณผํ•œ๋ฐ๋‹ค, ORM๋„ ๋‹ค๋ฅธ๊ฑฐ ๊ฐ–๋‹ค๊ฐ€ ์งœ๊น๊ธฐํ•ด๋‘”๊ฑฐ๋‹ค.
์ „๋ฐ˜์ ์œผ๋กœ ๊ทธ๋ƒฅ ์—‰์„ฑํ•˜๊ฒŒ ์—ฎ์–ด๋‘” ๋ˆ„๋”๊ธฐ๊ณจ๋ ˜์œผ๋กœ๋ฐ–์— ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ํ”„๋กœ์ ํŠธ ๋ ˆํฌ ๊ฐ€์„œ Cargo.toml ๋””ํŽœ๋˜์‹œ ๋ณด๋ฉด ๋А๋‚„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๋„ˆ๋ฌด 1์ฐจ์›์ ์ด๊ณ  ๋‹จ์ˆœํ•˜๋‹ค. ์„œ๋ฒ„๋ฅผ ๋ ˆ์ด์–ด๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์ „ํ˜€ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค.

๋‹น์—ฐํžˆ Swagger ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ฐ™์€๊ฒƒ๋„ ๋“ค์–ด์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์—†๋‹ค. ํ•  ์ƒ๊ฐ๋„ ์—†๊ณ  ์•Œ์•„์„œ ํ•˜๋ผ๋Š” ์ž…์žฅ์ด๋‹ค.
https://github.com/loco-rs/loco/issues/632
์ง์ ‘ ๋งŒ๋“ ๊ฑฐ๋„ ๋ณ„๋กœ ์—†์œผ๋ฉด์„œ ์ด๋Ÿฐ๊ฒƒ๋„ ์•ˆํ• ๊ฑฐ๋ฉด ์™œ ๋งŒ๋“ค์—ˆ๋Š”๊ฐ€?

๋‚ด๊ฐ€ ์ด๊ฑธ ์“ธ ์ผ์€ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค.



์ฐธ์กฐ
https://loco.rs/
https://loco.rs/docs/getting-started/guide/
https://github.com/loco-rs/loco