468-Day Ruby Learning Journey: The Odin Project Experience
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

My 468-Day 경험: The Odin Project - Ruby 섹션 완료

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • 소프트웨어 개발 초보자 및 중급자
  • JavaScript에서 Ruby로 전환을 고려하는 개발자
  • 프로젝트 기반 학습과 실무 경험을 얻고자 하는 학습자
  • 난이도: 중간 수준 (Ruby 문법, OOP, 알고리즘 분석 포함)

핵심 요약

  • 686시간(468일) 동안 Ruby 학습
  • JavaScript에서 Ruby로 전환하며 EnumerablesOOP 등 핵심 개념을 습득
  • Knight Travails 프로젝트는 알고리즘 최적화와 추상적 사고에 큰 도움
  • Ruby 문서와 RSpec 테스트 도구 활용
  • 문서에서 gemone-liner 활용으로 코드 품질 향상
  • 프로젝트 기반 학습의 효과
  • Caesar Cipher, Stock Picker, Tic Tac Toe, Chess 게임 등 다양한 프로젝트 통해 실전 개발 경험

섹션별 세부 요약

1. 학습 기간 및 루틴 변화

  • 468일(686시간) 동안 Ruby 섹션 완료
  • 아침 30분~1시간 추가 학습90분 이른 아침 학습으로 집중력 향상
  • Techno 음악 수용으로 장문의 문서 학습 시 집중력 유지

2. Ruby 학습 과정의 어려움

  • Variables, Hashes, Arrays 등 기본 문법 학습
  • Loops와 복잡한 로직 처리 시 어려움 경험
  • Debugging 기법이 JavaScript와 차이 있어 초기 어려움
  • Enumerables 학습 후 JavaScript 대비 10줄 → 1줄로 코드 간결화 가능

3. 프로젝트 기반 학습

  • Caesar Cipher: Z 이후 알파벳 이동 처리가 가장 어려웠음
  • Substrings: 'reduce' 메서드 사용으로 복잡도 줄임
  • Stock Picker: 가격 배열과 매수/매도 날짜 매칭으로 최대 수익 계산
  • Bubble Sort: 추가 자료 조사와 영상 강의로 이해 가능

4. OOP 섹션

  • Tic Tac ToeMastermind 게임 개발로 OOP 개념 익힘
  • Car Engine 비유로 객체 간 의존성 이해
  • Debugging vs. 차량 수리 비교를 통한 실무적 통찰

5. TTY 및 알고리즘 분석

  • TTY(terminal devices) 처리가 복잡해 추가 강의 작성
  • RAM 작동 원리알고리즘 속도 계산 포함
  • Knight Travails: 유일한 알고리즘 접근 방식으로 Mental Effort 요구

6. Git 및 테스트 도구

  • GitGitHub의 복잡성 해결
  • RSpec 학습: 테스트 코드 작성과 실제 코드 개발 순서 조정
  • Chess 게임: 테스트 코드 미리 작성 어려움, 점진적 개선

결론

  • Ruby 문서는 초기 단계는 무리하지만, 깊어질수록 gemone-liner 활용으로 생산성 향상
  • EnumerablesOOP 프로젝트는 실무 개발에 직접적으로 적용 가능
  • The Odin Project프로젝트 기반 학습은 개념 습득과 문제 해결 능력 향상에 효과적
  • Knight Travails처럼 복잡한 알고리즘 문제는 문제 분석알고리즘 선택 능력 향상에 유리