Dev/rust

Trying to restart "rust"!

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

 

반응형