[D+21] 오늘의 발자국

1. 오늘의 몰입: 루틴의 회복과 견고한 백엔드

주요 목표

  • 코딩 테스트 훈련: 할당량 5문제 완벽 달성 (어제의 미달을 깨끗하게 만회했다)
  • CS 및 기술 문서화: Spring Boot 환경에서의 일관된 예외 처리 아키텍처 설계 및 블로그 포스팅
  • 아키텍처 확장: MSA 교재 챕터 3 학습 지속
  • 실전 돌입: 관심 기업 1곳 입사 지원 완료

달성률: 90% (어제 무너졌던 코테 루틴을 복구했고 의미 있는 기술 포스팅을 남겼으나, 입사 지원의 ‘양’적인 측면에서는 아쉬움이 남는다.)

2. 오늘의 난관 (반성)

  • 시장의 평가를 두려워하지 말자: 지금 나에게 필요한 것은 서류 탈락이라는 쓰라린 결과더라도, 일단 시장에 나를 던져 넣는 ‘타석의 수’ 자체를 늘리는 것이다.

3. 배움과 기록: 예외를 우아하게 다루는 법

💡 일관된 예외 처리 전략 (Spring Boot)

SkyStat과 같은 서비스를 운영하다 보면 수많은 예외 상황을 마주하게 된다. 이를 중구난방으로 try-catch 하거나 표준 예외만 던지는 것은 유지보수를 포기하는 것과 같다.

오늘은 ErrorCode Enum을 통해 비즈니스 예외를 규격화하고, 나만의 AppException을 만들어 @RestControllerAdvice로 전역에서 낚아채는(Catch) 우아한 예외 처리 구조를 공부했다.

// 예외 메시지는 글로벌 서비스를 고려해 영어로 작성하되, 협업을 위해 한글 주석을 꼼꼼히 단다.
public enum ErrorCode {
    // 사용자를 찾을 수 없을 때 발생하는 에러
    USER_NOT_FOUND(HttpStatus.NOT_FOUND, "User not found with the given ID"),
    // 유효하지 않은 입력값 에러
    INVALID_INPUT_VALUE(HttpStatus.BAD_REQUEST, "Invalid input value provided");

    // ... 생략
}

이 구조를 적용하면 컨트롤러와 비즈니스 로직이 한결 깨끗해지고, 프론트엔드와 협업할 때 명확한 JSON 에러 응답을 내려줄 수 있을 것 같다.

👉 Spring 예외 처리 전략 가이드

4. 내일의 다짐: 무조건 많이 던진다

  • 기업 지원의 가속화: 내일의 제1 원칙은 “기업 지원 더 많이”이다. 완벽한 이력서는 합격하고 나서 돌아봤을 때 완벽해 보이는 것뿐이다. 내일은 낭비되는 시간을 줄이고, 최소 2곳 이상 과감하게 지원 버튼을 누른다.
  • 루틴 유지: 코딩 테스트 5문제와 MSA 학습의 감을 놓치지 않도록 페이스를 유지한다.

댓글 남기기