9월 월간 회고록 | 한화 SW 캠프 2개월차
1) 도입
9월은 넓게 배운 걸 연결하는 연습의 달이었다.
개념은 쌓였는데 손은 더뎠고, 그래서 더 많이 느꼈다. 아는 것과 풀어내는 것 사이엔 여전히 거리가 있다. 그 간격을 메우는 게 이번 달의 목표였던것 같다.
확실히 바빠지면서 정신이 없는 한 달이었던 것 같다.
2) 이달의 흐름
- 수업: 자료구조/알고리즘 풀코스 — 복잡도·리스트·스택/큐/덱 → 트리·힙·그래프 → 정렬 → DFS/BFS → Greedy
- 학습: 자바 심화(예외·IO, 제네릭/컬렉션, Enum/람다, 스트림/스레드) 복습 + SOLID, JUnit/AssertJ 맛보기
- 프로젝트: 피우다 프로젝트 신청서 제출 완료, UI 뼈대 잡기
- 스터디: 스프링 컨테이너/싱글톤 예습 시작(김영한 강의)
3) 이번 달, 특히 강하게 남은 느낌들
① 개념은 연결될 때 비로소 내 것이 된다
람다 → 스트림, 예외 → IO 자원관리, SOLID → 테스트 용이성…
흩어져 있던 조각들이 왜라는 질문으로 엮일 때, 공부가 암기에서 설계로 넘어갔다. 이 “연결감”이 생기니까 코드를 고칠 때도 근거가 생겼다.
② 알고리즘은 머리보다 손의 습관
DFS/BFS, Greedy, 그래프 응용… 머릿속으로는 방향이 보이는데, 코드로 옮기면 시간이 훅 지나간다.
입력 파싱 → 자료구조 결정 → 탐색 스케치 → 예외/경계… 이 모델링 루틴을 자동화해야 한다는 걸 절절히 느꼈다.
③ PCSQL — 간신히 턱걸이 합격, 배운 건 속도보다 루틴
수요일 PCSQL 시험은 생각보다 어려웠다. 5문제 중 2문제 해결로 턱걸이 합격.
느낀 점은 세 가지.
- 문법 암기보다 패턴 루틴(윈도우 함수·서브쿼리·집계 후 조인)이 관건,
- 초반에 스키마/출력 요구를 모델링하고 손을 움직여야 시간을 번다,
- 막히면 부분 점수 루트(부분집합/중간집계)로 빠르게 전환.
④ 테스트 — 아직 부족, 많이 써봐야 늘 것 같다
JUnit/AssertJ 문법은 익혔지만, 무엇을/언제 테스트할지 판단과 픽스처 설계는 부족하다.
작게라도 테스트 먼저(AAA 패턴), 경계/예외 케이스부터, 파라미터라이즈드 테스트·테스트 빌더 등등을 시도해 봐야할 것 같다.
⑤ 피우다 — 신청서 마무리, 10월부터 본개발 들어간다
신청서 작업은 마감. 이제 다음 달부터 개발 착수가 현실적이다.
첫 스프린트 전에 해야 할 일:
- 와이어프레임 → 라우팅/상태관리 결정,
- ERD/스키마 확정 → API 스펙 작성,
- DoD/PR 규칙/이슈 템플릿 합의.
⑥ 스프링 스터디 — 컨테이너/싱글톤/DI, 무상태가 답
스프링 컨테이너·싱글톤·DI를 예습하며, 무상태 서비스 원칙이 왜 중요한지 체감.
싱글톤은 편하지만 상태 공유는 곧 장애. 빈 생명주기, 프로파일, 테스트 슬라이스까지 확장 예정.
4) 잘된 점 · 아쉬운 점
잘된 점
- 피우다 신청서 무사 제출, UI 와이어프레임으로 팀 대화가 빨라졌다.
- 스프링 컨테이너/싱글톤 감 익힘 → 무상태 설계의 이유가 더 분명해짐.
- 턱걸이지만 일단은 PCSQL 합격
아쉬운 점
- 알고리즘 후반(그래프 응용, MST/다익스트라)은 모델링 속도가 한참 부족.
- 프로젝트/스터디 병행으로 복습 리듬이 자주 끊겼다.
- “거의 알겠다”에서 멈추는 습관. 끝까지 구현해서 손에 남기는 완주가 더 필요.
- SQL도 안주하지 말고 SQLD 시험을 위해 더 복습이 필요.
5) 작은 트러블과 배움
- 그리디 검증: 반례를 직접 만드는 습관이 큰 시간절약으로 이어졌다.
- 그래프 구현 템플릿: 인접리스트/방문배열/큐·스택을 내 템플릿으로 만들어 붙여 쓰니, 진입 장벽이 낮아졌다.
- 스트림 성능: “스트림=빠름”이 아니라 “문제에 맞는 도구인지”를 먼저 보자.
6) 마무리
이번 달은 알고리즘 공부부터 PCSQL, 프로젝트 준비하며 스프링 스터디 예습까지 많은 일이 있었던 한 달이었다.
다음달엔 아마 본격적으로 스프링 파트를 공부하며 벡엔드 프로젝트도 시동을 걸 것 같은데 점점 두려워진다...
다음달부턴 더욱 회고록에 투자하는 시간이 줄어들 것 같다...