Skip to content

2yong-k/rust-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํ„ฐ๋””

์ฐธ๊ณ 

  1. ๋งŒ๋“ค๋ฉด์„œ ๋ฐฐ์šฐ๋Š” ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(https://github.com/wikibook/rust)
  2. The Rust Programming Language(https://rinthel.github.io/rust-lang-book-ko/ch00-00-introduction.html, https://github.com/rust-lang)
  3. Effective Rust(https://www.lurklurk.org/effective-rust/cover.html)
  4. Rust ๋ธ”๋กœ๊ทธ ์ถ”์ฒœ(https://m.blog.naver.com/PostList.naver?blogId=sssang97)

์‹œ์ž‘

  1. Rust ์„ค์น˜(https://www.rust-lang.org/tools/install)
  2. ๊ธฐ๋ณธ ๋„๊ตฌ
    • rustc (๋Ÿฌ์ŠคํŠธ ์ปดํŒŒ์ผ๋Ÿฌ)
    • rustup (๋Ÿฌ์ŠคํŠธ ์„ค์น˜ ๋„๊ตฌ)
    • cargo (๋Ÿฌ์ŠคํŠธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ)
  3. ์œ ์šฉํ•œ ๋„๊ตฌ ์‹คํ–‰
    • rustfmt(์ฝ”๋“œ ํฌ๋งทํ„ฐ, ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ต์ •)
    $ rustup component add rustfmt
    $ cargo fmt
    $ cargo fmt --all -- --check
    
    • Clippy(๋ฆฐํ„ฐ, ์ฝ๊ธฐ ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •)
    $ rustup component add clippy
    $ cargo clippy --fix
    $ cargo clippy -- -D warnings
    
  4. ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธ / ์—…๋ฐ์ดํŠธ / ์ œ๊ฑฐ
    $ rustc --version   // ๋ฒ„์ „ ํ™•์ธ
    $ rustup update     // ์—…๋ฐ์ดํŠธ
    $ rustup self uninstall     // ์ œ๊ฑฐ
    
  5. VSCode์—์„œ rust-analyzer ํ™•์žฅ ๋ชจ๋“ˆ ์„ค์น˜
  6. ์ถ”๊ฐ€๋กœ ๋””๋ฒ„๊น… ๋ชจ๋“ˆ ์„ค์น˜. Microsoft C/C++, CodeLLDB: F5ํ‚ค๋ฅผ ์ด์šฉํ•ด ๋””๋ฒ„๊น… ์‹œ์ž‘
  7. ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋””ํดํŠธ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋กœ์ ํŠธ / ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ / ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑ
    $ cargo new PROJECT_NAME (--bin)    // ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (๋””ํดํŠธ ๋ฐ”์ด๋„ˆ๋ฆฌ)
    $ cargo new LIBRARY_NAME --lib      // ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)
    $ cargo init                        // ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
    
  8. ํฌ๋ ˆ์ดํŠธ ๊ฒ€์ƒ‰(๋Ÿฌ์ŠคํŠธ ๊ฐœ๋ฐœ์ž๋“ค์€ crates.io์— ์ž์‹ ์ด ๋งŒ๋“  ๋ฐ”์ด๋„ˆ๋ฆฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ณต์œ ํ•จ.) ๋ฐ ์„ค์น˜
    $ cargo search CRATE_NAME   // ํฌ๋ ˆ์ดํŠธ ๊ฒ€์ƒ‰
    $ cargo install BINARY_NAME // ํฌ๋ ˆ์ดํŠธ ์„ค์น˜
    
  9. Cargo.toml ํ™•์ธ
    • ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ๋ฒ„์ „, ๋Ÿฌ์ŠคํŠธ ๋ฒ„์ „ ๋“ฑ์ด ์ž๋™์œผ๋กœ ์ž…๋ ฅ.
    • dependancies ๋ถ€๋ถ„์—๋Š” ์ด ํŒจํ‚ค์ง€์— ์˜์กด์„ฑ์„ ๊ฐ€์ง€๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ์ˆ ํ•˜๊ณ  ๋ฒ„์ „์„ ๊ด€๋ฆฌ
    • dependancies ๋ถ€๋ถ„์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ฒ„์ „์„ ์ ์€ ๋’ค cargo buildํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋‹ค์šด ๊ฐ€๋Šฅ
  10. ์ž‘์„ฑํ•œ ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•ด๋ณด๊ธฐ(๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ƒ์„ฑ.) / ๋นŒ๋“œ์™€ ์‹คํ–‰์„ ๋™์‹œ์— ํ•ด๋ณด๊ธฐ / ์ปดํŒŒ์ผ๋งŒ ์ˆ˜ํ–‰ํ•ด๋ณด๊ธฐ
    $ cargo build   // ๋นŒ๋“œ๋งŒ
    $ cargo run     // ๋นŒ๋“œ + ์‹คํ–‰
    $ cargo check   // ์ปดํŒŒ์ผ๋งŒ
    
  11. .rsํŒŒ์ผ๋งŒ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
    $ rustc RUST_FILE.rs    // ์ปดํŒŒ์ผ ์‹คํ–‰
    $ (.\)RUST_FILE         // .exe ํŒŒ์ผ ์‹คํ–‰
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages