-
Day 1: Rust 소개 & 개발환경 설정RUST 20일 과정 2025. 1. 6. 12:42
Day 1: Rust 소개 및 개발환경 설정 Day 1: Rust 소개 & 개발환경 설정
1. 수업 개요
- 주제: Rust가 어떤 언어인지, 왜 사용하는지, 그리고 Rust 개발 환경(cargo, rustc)을 설정하는 법을 배운다.
- 학습 목표:
- Rust 언어의 특징과 장단점을 이해한다.
- Rust 개발 환경(cargo, rustc 등)을 설치하고, 기본 프로젝트(
Hello, world!
)를 만들어본다.
2. 도입 (이론)
Rust 언어의 탄생 배경과 특징
- 탄생 배경: 모질라(Mozilla)에서 고성능이면서 메모리 안전성을 보장하는 언어를 만들기 위해 시작
- 주요 특징:
- 메모리 안전성(Ownership, Borrowing)
- Zero-cost abstraction (고수준 문법 + C/C++ 수준의 성능)
- 안전한 동시성(Concurrency)
- 장점: 성능, 안전성, 커뮤니티 지원
- 단점: 러닝 커브가 높을 수 있음(Ownership 등 새로운 개념)
Rust와 C언어 비교
- C언어: 직접 메모리를 관리(포인터), 빠른 속도, 시스템 프로그래밍에 많이 사용
- Rust: 컴파일 시점에 메모리 및 참조 관련 오류를 잡아내어, 런타임 시 발생할 오류를 최소화
Rust가 사용되는 분야
- 시스템 프로그래밍, 임베디드, 웹 어셈블리(Wasmtime, wasm-bindgen), CLI 툴 등
- 최근 대규모 프로젝트(예: Windows OS 일부 모듈, Dropbox 파일 시스템 등)에 Rust가 도입되고 있음
3. Rust 개발 환경 구축
Rust 설치
- 공식 홈페이지: https://www.rust-lang.org
- Install script (예: 리눅스/맥OS):
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
- Windows: rustup 설치 프로그램 이용
rustc, cargo 개념
rustc
: Rust 컴파일러. C언어의 gcc 같은 역할cargo
: Rust 패키지/빌드/의존성 관리 툴cargo new
: 새 프로젝트 생성cargo build
: 빌드cargo run
: 빌드 & 실행cargo test
: 테스트 실행cargo doc
: 문서 생성
개발환경 에디터 추천
- Visual Studio Code + Rust 확장(Rust Analyzer)
- JetBrains CLion + Rust 플러그인
- IntelliJ Rust 등
4. 실습 예제: "Hello, world!" 프로젝트 만들기
프로젝트 생성
cargo new hello_rust cd hello_rust
Cargo.toml
파일과src/main.rs
파일이 자동으로 생성된다.코드 작성
fn main() { println!("Hello, world!"); }
프로그램 빌드 & 실행
cargo run
콘솔에 "Hello, world!"가 출력되면 성공
버전 확인
rustc --version cargo --version
Rust 설치 버전을 체크해 본다.
5. 마무리 및 과제
오늘 배운 내용 정리
- Rust가 어떤 언어인지와 주요 특징
- Rust 개발 환경 설치,
cargo
와rustc
차이 - "Hello, world!" 프로젝트 생성 및 실행
과제(실습 문제)
- Rust를 설치한 후,
rustc --version
과cargo --version
을 캡처해서 제출 cargo new my_first_project
로 새 프로젝트를 만들어 "Hello, Rust!"를 출력하도록 수정 & 실행- Rust 공식 문서( https://doc.rust-lang.org/book/ )에서 1~2장 읽기
학습 팁
- Rust는 C언어와 달리 빌드시 발생하는 에러 메시지가 꽤 친절하다. 에러나 경고가 뜨면 꼼꼼히 읽어보며 문제점을 해결해보자.
- 앞으로 배우게 될 Ownership, Borrowing 등 Rust만의 특별한 개념이 낯설게 느껴질 수 있지만, 컴파일러 메시지를 적극 참고하면 큰 도움이 된다.
수업 진행 예시 타임라인 (총 50분 수업 기준 예시)
- 10분: 이론: Rust 언어 소개, 특징, 활용 분야 소개
- 10분: C언어 대비 Rust의 다른 점, 설치 방법 안내
- 20분: 실습: Rust 설치 확인 /
cargo new hello_rust
로 프로젝트 생성, 코드 작성 & 실행 - 5분: 코드를 실행하며 생기는 문제 해결(Q&A)
- 5분: 마무리 및 과제 안내
Tip: 개인 노트북이나 실습실 환경에 따라 설치 이슈가 생길 수 있으니, 수업 전에 미리 Rust 설치를 시도해보고, 설치가 어려운 경우를 대비한 가이드(환경 변수 설정, 관리자 권한 실행 등)를 준비해두면 좋습니다.
'RUST 20일 과정' 카테고리의 다른 글
Day 5: 함수와 모듈 기초 (0) 2025.01.06 Day 4: 기본 제어문 (if, loop, while, for) (0) 2025.01.06 Day 3: Ownership & Borrowing (0) 2025.01.06 Day 2: 기초 문법 (변수, 스코프, 데이터 타입) (0) 2025.01.06 ChatGPT o1의 힘을 빌어 20일 과정의 RUST 강의 자료를 제작합니다 (0) 2025.01.06