본문 바로가기
Dev/rust

Trying to restart "rust"!

by 괴발짜응 2025. 2. 19.
반응형
많이 놀고 먹었다. 이제 다시 시작한다. 미루고 미루던 러스트를 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 타입 실습
  • 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주차: 실전 프로젝트 및 고급 주제

 

반응형