Rust가 왜 특별한가? C/C++의 성능과 Python의 안전성을 동시에 제공하는 비밀. 메모리 안전성, 동시성 안전성, 그리고 제로 코스트 추상화의 의미.
rustup으로 Rust 설치하기. cargo의 역할과 첫 Hello World 프로그램 작성. VS Code 설정과 rust-analyzer 확장 프로그램 설치.
Cargo.toml 구조 이해. 의존성 관리, 프로젝트 빌드 설정, cargo test, cargo doc, crates.io 소개.
let vs let mut, 불변성이 기본인 이유. 기본 타입들 (i32, f64, bool, char). 타입 추론과 명시적 타입 선언.
fn 정의와 매개변수. 반환 타입과 표현식. if/else, loop, while, for 반복문. 패턴 매칭 미리보기.
String과 &str의 차이. 힙과 스택의 첫 만남. 왜 두 가지 문자열 타입이 필요한가? 소유권 개념 미리보기.
Vec
소유권의 3가지 규칙. 각 값은 하나의 소유자만 가진다. 소유자가 스코프를 벗어나면 값이 해제된다. Stack vs Heap 시각화.
Move 시맨틱스와 Copy 트레잇. Clone 트레잇으로 깊은 복사. 언제 Move가 일어나고 언제 Copy가 일어나는가?
&T 불변 참조와 &mut T 가변 참조. 빌림 규칙: 여러 불변 OR 하나의 가변. 댕글링 참조 방지. 참조의 수명.
'a 라이프타임 문법. 왜 라이프타임이 필요한가? 함수에서 참조 반환하기. 구조체의 라이프타임. 'static 라이프타임.
struct 정의와 인스턴스화. impl 블록과 메서드. enum과 패턴 매칭. Option
Result
mod로 모듈 정의. pub 가시성. use로 가져오기. Crate 구조와 lib.rs vs main.rs. workspace 구성.
제네릭 함수와 타입. trait 정의와 구현. trait bounds. where 절. 상속 대신 composition.
클로저 문법과 캡처. Fn, FnMut, FnOnce 트레잇. map, filter, fold 패턴. 이터레이터 어댑터.
Box