4주차 주간보고서
4주차 주간 보고서
Section titled “4주차 주간 보고서”2025년 7월 7일 - 7월 11일
4주차는 실무 개발에 필요한 아키텍처 패턴과 상태 관리를 집중 학습했습니다. DDD 패턴과 레이어드 아키텍처부터 시작해 테스트 작성, 시간 관리 애플리케이션, 그리고 복잡한 상태를 가진 게임 개발까지 진행하며 종합적인 개발 역량을 키웠습니다.
월요일 (7/7)
Section titled “월요일 (7/7)”- DDD 패턴과 레이어드 아키텍처
- 계층별 책임 분리 (Presentation, Application, Domain, Infrastructure)
- Repository 패턴으로 데이터 추상화
- 의존성 주입(DI) 개념 실습
- 기존 TODO 프로그램 아키텍처 리팩토링
화요일 (7/8)
Section titled “화요일 (7/8)”- 테스트 케이스 작성과 실행
- JUnit 기초와 테스트 어노테이션
- TodoCsvRepository 8개 핵심 테스트 작성
- CSV 파일 특수문자 처리 문제 해결
- 파일 동기화 버그 발견 및 수정
수요일 (7/9)
Section titled “수요일 (7/9)”- StopWatch 애플리케이션
- 상태 관리 개념 학습
- Date와 System.currentTimeMillis() 활용
- 시간 단위 변환 (밀리초 → 초/분)
- 캡슐화된 상태 변수 설계
목요일 (7/10)
Section titled “목요일 (7/10)”- 뽀모도로 타이머 개발
- 상태 머신 패턴 구현
- UTC와 Unix 타임스탬프 이해
- 콜백 함수로 완료 알림 구현
- 세션 카운팅으로 생산성 추적
금요일 (7/11)
Section titled “금요일 (7/11)”- 다마고치 게임 프로젝트
- 복잡한 상태 관리 (배고픔, 행복도, 에너지)
- 사이드 이펙트 구현 (한 행동이 여러 상태 영향)
- setInterval로 실시간 상태 변화
- 창의적 기능 추가 (미니게임, 아이템, 진화)
주요 이슈 및 대응
Section titled “주요 이슈 및 대응”아키텍처 이해의 어려움
Section titled “아키텍처 이해의 어려움”-
“왜 복잡하게 만드나요?”
- 작동하는 코드를 굳이 분리하는 이유 의문
- 대응: CSV↔메모리 저장소 전환 실습으로 이점 체감
-
계층 분리 기준
- 어떤 코드가 어느 계층에 속하는지 혼란
- 대응: 책임별 분류 원칙 반복 설명, 다이어그램 활용
테스트 관련 문제
Section titled “테스트 관련 문제”-
테스트 필요성 의문
- “잘 돌아가는데 왜 테스트를?”
- 대응: 실제 버그 발견 경험으로 필요성 인식
-
CSV 특수문자 처리
- 쉼표, 줄바꿈 포함 데이터 파싱 오류
- 대응: 이스케이프 처리와 따옴표 감싸기 학습
상태 관리 복잡성
Section titled “상태 관리 복잡성”-
시간 계산 어려움
- 밀리초 단위 변환 혼동
- 대응: 실제 스톱워치 시연, 단위 변환 연습
-
연쇄 효과 버그
- 다마고치 한 행동이 여러 상태 영향 시 예상치 못한 결과
- 대응: 상태 변화 로그 출력으로 디버깅
학습 동기 변화
Section titled “학습 동기 변화”- 게임 개발 시 가장 높은 참여도
- 실용적 도구(타이머) 개발에 흥미
- TODO에서 벗어난 다양한 프로젝트로 신선함 증가
- 완전한 애플리케이션 설계 능력 향상
- 버그 발생 시 체계적 접근
- “왜?”라는 질문 증가 (비판적 사고)
창의성 발현
Section titled “창의성 발현”- 다마고치에 독창적 기능 추가
- 미니게임, 진화 시스템 등 자발적 확장
- 코드 소유권 의식 증가
-
아키텍처 설계 능력
- 모놀리식에서 계층화된 구조로 전환
- Repository 패턴 활용한 데이터 추상화
- DI를 통한 유연한 설계
-
품질 관리 역량
- 테스트 작성을 통한 안전망 구축
- 회귀 버그 경험으로 테스트 중요성 체득
- 체계적 디버깅 능력 향상
-
복잡한 애플리케이션 구현
- 단순 변수에서 복잡한 상태 머신으로 발전
- 실시간 상태 변화 처리
- 사이드 이펙트 관리 능력
-
실무 도구 활용
- IntelliJ 디버거 능숙도 향상
- JUnit 테스트 프레임워크 활용
- 시간 관련 API 이해
다음 주 준비사항
Section titled “다음 주 준비사항”-
최종 프로젝트 준비
- 개인/팀 프로젝트 주제 선정
- 지금까지 학습한 내용 종합 적용
- 포트폴리오 작성 가이드
-
심화 주제
- 데이터베이스 연동
- REST API 기초
- 배포 프로세스 이해
-
마무리 준비
- 개인별 성장 포인트 정리
- 향후 학습 로드맵 제시
- 취업 준비 조언
4주차는 학생들이 “코드를 작성하는 사람”에서 “애플리케이션을 설계하는 개발자”로 성장하는 중요한 전환점이었습니다.
아키텍처 패턴의 필요성을 실습으로 체감하고, 테스트의 가치를 버그 발견으로 인식하며, 복잡한 상태 관리를 게임 개발로 재미있게 학습했습니다. 특히 다양한 프로젝트를 통해 학습 피로도를 줄이고 참여도를 높인 것이 효과적이었습니다.
이제 학생들은 기본 문법을 넘어 실제 동작하는 애플리케이션을 설계하고 구현할 수 있는 역량을 갖추었으며, 5주차 최종 프로젝트를 수행할 준비가 완료되었습니다.
작성자: 김태희 (실습 강사)
작성일: 2025년 7월 20일