ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 개발 환경 설치, 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 설치를 시도해보고, 설치가 어려운 경우를 대비한 가이드(환경 변수 설정, 관리자 권한 실행 등)를 준비해두면 좋습니다.

Designed by Tistory.