RUST 20일 과정

Day 1: Rust 소개 & 개발환경 설정

@thiskorea 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 개발 환경 설치, cargorustc 차이
  • "Hello, world!" 프로젝트 생성 및 실행

과제(실습 문제)

  1. Rust를 설치한 후, rustc --versioncargo --version을 캡처해서 제출
  2. cargo new my_first_project로 새 프로젝트를 만들어 "Hello, Rust!"를 출력하도록 수정 & 실행
  3. 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 설치를 시도해보고, 설치가 어려운 경우를 대비한 가이드(환경 변수 설정, 관리자 권한 실행 등)를 준비해두면 좋습니다.