반응형
많이 놀고 먹었다. 이제 다시 시작한다. 미루고 미루던 러스트를 2달 안으로 마스터(?) 해보려고 한다. 일단 4주간의 계획을 미리 짜둔다.
1주차: Rust 환경 설정 및 기초 문법
- Day 1
- 목표 : Rust 설치 및 개발 환경 구축
- 내용 :
- rustup 설치
- Cargo, rustc 확인
- VSCode + rust-analyzer 설치 및 설정
- Day 2
- 목표 : 첫 번째 Rust 프로그램 작성
- 내용 :
- "Hello, World!" 프로그램 작성 및 실행
- 기본 컴파일 및 실행 과정 이해
- Day 3
- 목표 : 변수와 데이터 타입 이해
- 내용 :
- 변수 선언, 불변/가변 변수
- 주요 데이터 타입(정수, 부동 소수점, Boolean, 문자) 실습
- Day 4
- 목표 : 함수 및 기본 연산자 학습
- 내용 :
- 함수 정의, 매개변숴, 반환 값
- 산술, 논리, 비교 연산자 실습
- 내용 :
- 목표 : 함수 및 기본 연산자 학습
- Day 5
- 목표 : 제어문 (조건문, 반복문) 실습
- 내용 :
- if, else, match 구문 사용법
- loop, while, for 반복문 실습
- 내용 :
- 목표 : 제어문 (조건문, 반복문) 실습
- Day 6
- 목표 : 간단한 프로젝트 진행
- 내용 :
- 간단한 계산기 또는 숫자 맞추기 게인 구현
- 앞서 학습한 기초 문법 활용
- Day 7
- 목표 : 이번 주 학습 내용 복습
- 온라인 코딩 챌린지나 연습 문제 풀어보기
2주차: 소유권(Ownership)과 빌림(Borrowing), 라이프타임(Lifetimes)
- Day 8
- 목표 : 소유권(Ownership) 기본 개념 이해
- 내용 :
- 변수의 소유권, 이동(Move)과 복사(Copy) 개념 학습
- 간단한 예제 코드 작성
- Day 9
- 목표 : 소유권 실습
- 내용 :
- 문자열(String)과 슬라이스(&str) 차이점 실습
- 소유권 이전 및 반환 예제 코드 작성
- Day 10
- 목표 : 빌림(Borrowing) 이해
- 내용 :
- 불변/가변 참조 개념 학습
- 예제 코드를 통해 빌림 규칙 실습
- Day 11
- 목표 : 라이프타임(Lifetimes) 개념 이해
- 내용 :
- 라이프타임 주석(lifetime annotations)의 기본 문법 및 필요성 학습
- 간단한 라이프타임 예제 코드 작성
- Day 12
- 목표 : 소유권과 빌림 종합 연습
- 내용 :
- 벡터, 해시맵 등 자료구조를 활용한 예제 작성
- 소유권과 빌림이 어떻게 작동하는지 코드로 확인
- Day 13
- 목표 : 라이프타임 실전 적용
- 내용 :
- 복잡한 데이터 구조를 다루며 라이프타임 문제 해결 실습
- 에러 메시지 분석 연습
- Day 14
- 목표 : 이번 주 내용 복습 및 Q&A
- 내용 :
- 정리한 내용 복습
- 직접 작성한 코드 리뷰 및 개선
3주차: 자료구조와 모듈 시스템
- Day 15
- 목표 : Struct(구초체) 기초 이해
- 내용 :
- 구조체 선언 및 인스턴스 생성
- 필드와 메서드 정의 실습
- Day 16
- 목표 : Enum(열거형) 학습
- 내용 :
- 열거형 선언, 패턴 매칭(match) 기법 연습
- Option, Result 타입 실습
- 내용 :
- 목표 : Enum(열거형) 학습
- Day 17
- 목표 : 패턴 매칭및 제어 흐름 강화
- 내용 :
- match, if let, while let 문법 실습
- 다양한 패턴 매칭 예제 작성
- Day 18
- 목표 : 모듈 시스템 기초
- 내용 :
- 모듈 선언, use 구문, 파일 및 디렉토리 구조 이해
- 간단한 프로젝트로 모듈 분리 연습
- Day 19
- 목표 : 크레이트(Crate) 및 외부 라이브러리 사용
- 내용 :
- Cargo.toml 설정, 의존성 추가 및 관리
- 외부 라이브러리 설치 및 사용 예제 작성
- Day 20
- 목표 : 종합 실습 프로젝트
- 내용 :
- 작은 프로젝트를 만들어 구조체, 열거형, 모듈 활용
- Day 21
- 목표 : 이번 주 내용 복습 및 코드 리뷰
- 내용 :
- 작성한 코드 점검 및 개선
- 부족한 부분 보충 학습
4주차: 제네릭(Generic), 트레잇(Trait) 및 함수형 프로그래밍 기초
- Day 22
- 목표 : 제네릭의 기본 개념 이해
- 내용 :
- 함수와 구조체에 제네릭 이용
- 간단한 제네릭 예제 작성
- Day 23
- 목표 : 고급 제네릭 및 경계(bound)의 이해
- 내용 :
- 트레잇 바운드, 제네릭 제한 적용 실습
- 에제 코드로 제네릭 활용법 확인
- Day 24
- 목표 : 트레잇(Trait)개념 학습
- 내용 :
- 트레잇 정의, 구현, 그리고 자동 구현 실습
- Day 25
- 목표 : 트레잇 객체와 다형성 이해
- 내용 :
- Trait Objects, dyn 키워드 사용법 실습
- 코드 예제 작성
- Day 26
- 목표 : 클로저와 함수형 프로그래밍 기초
- 내용 :
- 클로저(익명 함수) 정의 및 사용법 실습
- Iterator, map, filter 등의 함수형 스타일 코드 작성
- Day 27
- 목표 : 제네릭, 트레잇, 클로저 종합 실습
- 내용 :
- 앞서 학습한 내용을 하나의 작은 프로젝트에 적용
- Day 28
- 목표 : 이번 주 내용 복습 및 정리
- 내용 :
- 코드 리뷰 및 추가 연습 문제 해결
- 모르는 부분 메모 정리
5주차: 에러 처리 및 스마트 포인터
6주차: 동시성 및 비동기 프로그래밍
7주차: Cargo 프로젝트 관리, 테스트, 문서화
8주차: 실전 프로젝트 및 고급 주제
반응형