Why-first curriculum
Python/Go에서 익숙한 문제를 먼저 던지고 Rust가 어떤 제약으로 해결하는지 설명한다.
이 handbook은 Rust 입문을 빨리 끝내는 책이 아니라, Rust를 써서 설계하고 리뷰하고 디버깅하는 기준을 만드는 책을 목표로 한다.
현실적인 기준
이 책 하나만 읽는다고 바로 시니어라는 직함이 생기지는 않는다. 대신 "왜 이 제약이 필요한가", "어떤 설계 냄새를 봐야 하는가", "컴파일러와 런타임이 어디서 비용을 드러내는가"를 빠르게 체화하도록 만드는 쪽으로 집필한다.
학습 원칙
이 handbook은 Rust를 "모든 곳에서 clone 하지 않기 위한 언어"가 아니라 "메모리와 동시성 관계를 타입으로 설계하는 언어"로 설명한다.
Send/Sync, cancellation, backpressure, lock 경계, task 설계 판단까지 묶는다.Part 1
GC 언어와 Rust의 메모리·동시성 모델 차이를 먼저 맞추고, Cargo와 compiler diagnostics를 읽는 감각을 잡는다.
Pilot availablePart 2
move, borrow, slice, String/&str, Vec, enum, match를 '복사 비용과 aliasing 제어' 관점으로 배운다.
Pilot availablePart 3
struct, module, impl, trait, generics, `Option`/`Result`, `?`, custom error를 API 계약 관점으로 다룬다.
Pilot availablePart 4
lifetimes, smart pointers, `Rc`/`Arc`, `RefCell`, interior mutability, iterator, closure를 관계 모델로 정리한다.
Part 5
thread/channel, `Send`/`Sync`, `Future`, pinning mental model, Tokio runtime과 task orchestration을 다룬다.
Pilot available