Rust로 배우는 시스템 프로그래밍, 제대로 하기
Rust는 가비지 컬렉터 없이 메모리 안전을 보장하는 시스템 언어입니다. Linux 커널의 일부, 고성능 웹 서버, WebAssembly 런타임, 임베디드 펌웨어 등 정확성과 속도가 모두 중요한 곳에 사용됩니다. 이 트랙은 기초부터 고급 동시성, 비동기 I/O, 저수준 시스템 작업까지 Rust의 실제 소유권 모델을 중심으로 다룹니다.
배우게 될 내용
변수, 데이터 타입, 문자열, 슬라이스, 벡터, HashMap 등 Rust의 타입 시스템으로 시작한 다음, Rust를 특별하게 만드는 메커니즘인 소유권, 빌림, 라이프타임으로 나아갑니다. 그 후 함수와 클로저, 이터레이터, 제네릭과 trait 바운드, 고급 패턴 매칭을 다룹니다. 실무 모듈에서는 Tokio를 이용한 비동기 프로그래밍, clap을 이용한 CLI 도구 개발, Axum을 이용한 웹 서비스, sqlx를 이용한 데이터베이스 접근, Serde를 이용한 직렬화, tonic을 이용한 gRPC 서비스, REST API 설계를 배웁니다. 상급 과정에서는 매크로 작성, unsafe Rust 활용, FFI를 통한 외부 코드 호출, WebAssembly로의 컴파일, 임베디드 시스템 작업을 합니다.
학습 경로
39개의 과정이 A1부터 C2까지 이어집니다. A1과 A2 과정은 구문, 핵심 데이터 구조, 제어 흐름을 다룹니다. B1에서는 모듈, Cargo, 스레드, 공유 상태를 추가합니다. B2 단계는 가장 큰 블록으로 비동기 생태계, 실무 프레임워크, 프로젝트 조직 패턴을 다루는 14개 과정으로 구성됩니다. C1에서는 라이프타임, 스마트 포인터, 매크로, unsafe 코드, WebAssembly, 고급 웹 서비스, egui를 이용한 GUI 앱, Bevy를 이용한 게임 개발을 깊이 있게 다룹니다. 트랙은 C2에서 고급 타입 시스템(제네릭, trait, 관련 타입)과 임베디드 Rust, 시스템 프로그래밍 기초로 마무리됩니다.
진행 방식
각 과정은 짧고 집중된 레슨으로 나뉘며, 내장 코드 에디터에서 실시간 피드백을 받으면서 완료합니다. 막히는 순간 언제든 AI 튜터의 도움을 받을 수 있어 앱을 벗어나지 않고도 소유권 오류와 라이프타임 어노테이션을 자신의 속도대로 풀어나갈 수 있습니다.