Stay Hungry Stay Foolish
728x90

Spring boot 3

[구현 기록] CustomException + ErrorCode 구조 설계

BACKENDCustomException + ErrorCode 구조 설계목차1. 배경2. 전체 구조3. ApiResponse — 공통 응답 래퍼4. ErrorCode — 에러 중앙 관리5. CustomException — 비즈니스 예외6. GlobalExceptionHandler — 전역 예외 처리7. 실제 동작 흐름8. 정리Spring Boot 프로젝트에서 예외 응답 형식을 통일하기 위해 CustomException, ErrorCode, GlobalExceptionHandler 구조를 설계했다.1. 배경Spring Boot 프로젝트에서 예외 처리를 별도로 설계하지 않으면 여러 문제가 생긴다.서비스 레이어마다 예외 처리 방식이 달라진다.에러 메시지를 문자열로 직접 작성하면 오타가 생기거나 일관성이 깨진다..

[Infrastructure] Spring Boot × Docker × AWS 배포 흐름 한 번에 이해하기

DEPLOYMENTSpring Boot 앱을 Docker로 AWS에 배포하는 전체 흐름 정리목차Docker가 왜 필요한가?Docker와 AWS의 차이AWS 서비스 역할 정리전체 아키텍처 흐름Dockerfile 작성과 배포배포 방식 비교마치며Docker와 AWS를 처음 접하면 가장 헷갈리는 부분이 있다. “Docker를 쓰는 건가? AWS를 쓰는 건가?” 이 둘의 관계부터 실제 배포 흐름까지 한 번에 정리해보자. Docker가 무엇인지 알고 싶다면 👇 Docker📋 목차도커란?핵심 개념VM과 Docker 차이배포한다고 가정할 때기본 명령어참고 링크📌 도커란?컨테이너 기반 가상화 도구 (2013년 등장)리눅스의 프로세스 격리 기술을 활용해 앱 실행 환경을 컨dev-cloud.tistory.com1. ..

[설계의사결정] 리마인더 알림 구현 방식 선택 과정

PROJECT독서 리마인더 알림 구현 방식 선택 과정목차1. 배경2. 알림 구현 방식 비교3. WebSocket을 선택하지 않은 이유4. 결정 — @Scheduled + SSE1. 배경독서 리마인더 알림 기능을 처음 구현해보는 상황에서 어떤 방식으로 구현할지 고민이 있었다. 알림 구현 방법이 여러 가지 있다는 것은 알고 있었지만, SSE 외에는 익숙하지 않은 방식들이었다. 리마인더 알림은 사용자가 설정한 시간에 맞춰 서버가 알림을 보내주는 기능이다. 따라서 단순히 데이터를 조회하는 API와 달리, 서버가 특정 시점에 사용자를 확인하고 알림을 전달하는 구조가 필요했다.핵심 기준은 구현 난이도, 현재 서비스 규모, 그리고 알림 방향이었다. Booktine의 리마인더는 클라이언트가 서버로 실시간 메시지를 보내..

728x90