Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

C/C++ 프로그래머를 위한 Rust 부트캠프

과정 안내

  • 학습 내용
    • Rust 도입 배경 (C 및 C++ 개발자의 관점에서)
    • 로컬 환경 설정 및 설치
    • 기본 문법: 타입, 함수, 제어 흐름, 패턴 매칭
    • 프로젝트 관리: 모듈 시스템과 Cargo 활용
    • 추상화: 트레이트(Traits)와 제네릭(Generics)
    • 데이터 다루기: 컬렉션(Collections)과 에러 처리
    • 심화 개념: 클로저(Closures), 메모리 관리, 수명(Lifetimes), 스마트 포인터
    • 동시성(Concurrency) 프로그래밍
    • 저수준 제어: Unsafe Rust와 FFI(Foreign Function Interface)
    • 임베디드 핵심: 펌웨어 팀을 위한 no_std 환경 이해
    • 실전 사례 연구: C++ 프로젝트의 Rust 전환 패턴 분석
  • 참고 사항: 본 과정에서는 비동기(Async) Rust를 깊게 다루지 않습니다. Future, Executor, Pin, Tokio 등 운영 환경의 비동기 패턴은 자매 과정인 비동기 Rust 교육(Async Rust Training)에서 상세히 확인하실 수 있습니다.

자기 주도 학습 가이드

본 자료는 강사 주도 교육뿐만 아니라 자기 주도 학습용으로도 정교하게 설계되었습니다. 혼자 공부하시는 분들은 아래 가이드를 참고하여 학습 효과를 극대화해 보시기 바랍니다.

📅 권장 학습 일정

단계주제권장 시간학습 목표 (체크포인트)
1~4장환경 설정, 타입, 제어 흐름1일기본적인 CLI 온도 변환기를 작성할 수 있습니다.
5~7장데이터 구조와 소유권1~2일let s2 = s1 실행 시 왜 s1을 더 사용할 수 없는지 설명할 수 있습니다.
8~9장모듈화와 에러 처리1일? 연산자로 에러를 전파하는 멀티 파일 프로젝트를 설계할 수 있습니다.
10~12장트레이트, 제네릭, 클로저1~2일트레이트 경계(Trait Bounds)를 활용한 제네릭 함수를 작성할 수 있습니다.
13~14장동시성과 Unsafe/FFI1일Arc<Mutex<T>>를 사용해 스레드 안전한 카운터를 구현할 수 있습니다.
15~16장심층 분석 섹션자율 학습실무에서 해당 기술이 필요할 때 참조 자료로 활용하세요.
17~19장모범 사례 및 참조자율 학습실제 프로젝트를 구현할 때 기술적인 완성도를 높이기 위해 참고하세요.

📝 연습 문제 활용 팁

  • 모든 장에는 난이도별 실습 문제가 포함되어 있습니다: 🟢 초급, 🟡 중급, 🔴 도전
  • 반드시 해답을 보기 전에 직접 코드를 작성해 보세요. 빌림 검사기(Borrow Checker)와 씨름하며 고민하는 과정 자체가 성장의 핵심입니다. 컴파일러가 내뱉는 에러 메시지는 여러분의 실력을 키워줄 최고의 스승입니다.
  • 15분 이상 진전이 없다면 해답을 보고 원리를 파악한 뒤, 다시 해답을 덮고 처음부터 직접 구현해 보는 방식을 추천합니다.
  • Rust Playground를 이용하면 별도의 설치 없이 브라우저에서 바로 코드를 실행해 볼 수 있습니다.

💡 학습 중 난관에 부딪혔을 때

  • 에러 메시지를 정독하세요: Rust의 컴파일러 에러 메시지는 해결 방법까지 제시할 정도로 친절하고 상세합니다.
  • 기초를 다시 복습하세요: 소유권(7장) 같은 핵심 개념은 반복해서 읽을 때 비로소 진정한 의미가 이해되는 경우가 많습니다.
  • 공식 문서를 활용하세요: Rust 표준 라이브러리 문서는 매우 훌륭한 자원입니다. 궁금한 타입이나 메서드는 항상 검색해 보는 습관을 들이세요.
  • 비동기 개념이 필요하다면: 자매 과정인 비동기 Rust 교육(Async Rust Training)이 큰 도움이 될 것입니다.

상세 목차

제 I 부 — 기초 다지기

1. 서론 및 동기

2. 시작하기

3. 기본 타입과 변수

4. 제어 흐름

5. 데이터 구조와 컬렉션

6. 패턴 매칭과 열거형

7. 소유권과 메모리 관리

8. 모듈과 크레이트

9. 에러 처리

10. 트레이트와 제네릭

11. 타입 시스템 심화

12. 함수형 프로그래밍 요소

13. 동시성 프로그래밍

14. Unsafe Rust와 FFI

제 II 부 — 심층 분석 및 운영

15. no_std: 베어메탈 환경을 위한 Rust

16. 사례 연구: C++에서 Rust로의 전환 실전

제 III 부 — 모범 사례와 참조 자료

17. 실전 모범 사례

18. C++ 개발자를 위한 의미론적 심층 비교

19. Rust 매크로 마스터하기