⚓ DATT 01 - 공통 응답, 예외 처리, Request Logging 기반 구축
개요 DATT v2 프로젝트를 새롭게 시작하면서 가장 먼저 고민한 것은 기능 구현이 아니었다. 오히려 먼저 고민한 것은: 응답 구조를 어떻게 통일할 것인가? 예외를 어떻게 처리할 것인가? 운영 시 로그를 어떻게 추적할 것인가? 였다. 많은 개인 프로젝트들이 기능 구현 자체에만 집중한다. 하지만 실제 운영 환경에서는 기능보다 더...
개요 DATT v2 프로젝트를 새롭게 시작하면서 가장 먼저 고민한 것은 기능 구현이 아니었다. 오히려 먼저 고민한 것은: 응답 구조를 어떻게 통일할 것인가? 예외를 어떻게 처리할 것인가? 운영 시 로그를 어떻게 추적할 것인가? 였다. 많은 개인 프로젝트들이 기능 구현 자체에만 집중한다. 하지만 실제 운영 환경에서는 기능보다 더...
DATT v2 패키지 구조 설계 설계 목표 DATT v2는 단순 CRUD 프로젝트가 아니라 다음 기능을 포함하는 위치 기반 기록 플랫폼이다. 회원가입 및 JWT 인증 공공데이터 기반 장소 관리 장소 그룹화 Anchor 기록 이미지 업로드 리뷰 및 평점 장소 컬렉션 공유 게임화 배치 처리 따라서 패키지 구조...
DATT v2 공통 예외 처리 설계 설계 목표 DATT v2에서는 기능 개발보다 먼저 공통 예외 처리 구조를 설계한다. 이유는 간단하다. 예외 처리가 흩어지면 API 응답 형식이 깨지고, 프론트엔드와 백엔드 모두 에러 상황을 일관되게 다루기 어려워진다. 따라서 모든 API 예외는 하나의 규칙으로 응답하도록 설계한다. 기존 문제 초기 ...
Java Collection Framework와 HashMap 내부 구조 학습 목표 이번 주제의 핵심은 단순히: “HashMap은 Key-Value 저장 자료구조” 수준이 아니다. 실무에서는 다음을 이해해야 한다. HashMap은 왜 빠른가? collision은 왜 발생하는가? res...
DATT v2 ERD 설계 및 도메인 관계 분석 설계 목표 DATT v2의 핵심 방향은 다음과 같다. 공공데이터 = 장소 기본 정보 DATT 내부 데이터 = 장소 가치 데이터 따라서 ERD 설계의 핵심은 단순한 장소 저장이 아니라 다음 기능들을 하나의 구조로 연결하는 것이다. 공공데이터 기반 장소 관리 장소 그룹화 사용자 Anc...
JVM GC와 메모리 관리 학습 목표 이번 주제의 핵심은 단순히: “GC는 안 쓰는 객체를 제거하는 기능” 수준이 아니다. 실무에서는 다음을 이해해야 한다. 왜 GC가 필요한가? JVM은 왜 Heap을 세대별로 나누는가? Minor GC와 Major GC 차이는 무엇인가? ...
DATT v2 아키텍처 설계 및 도메인 구조 분석 프로젝트 개요 DATT는: “공간에 기억을 남기는 위치 기반 기록 플랫폼” 을 목표로 하는 서비스다. 사용자는: 장소 검색 지도 탐색 Anchor 기록 이미지 업로드 리뷰 작성 장소...
DATT 프로젝트란? DATT는 단순 맛집 검색 서비스가 아니다. 핵심 목표는: "특정 장소를 기준으로 주변 경험을 탐색하고, 그 경험을 사용자들과 공유하는 플랫폼" 을 만드는 것이다. 즉: 장소 검색 → 주변 탐색 → Anchor 생성 → 공유 → 리뷰 → 사용자 활동 → 성장 흐름을 가진다. 예를 들어 사용자가: "성수에서 데이...
JVM ClassLoader와 Proxy 구조 학습 목표 이번 주제의 핵심은: JVM은 왜 Runtime Dynamic Loading 구조를 사용하는가? 부모 위임 모델은 왜 필요한가? 핵심 클래스를 왜 보호해야 하는가? Proxy는 왜 사용하는가? Spring은 왜 프록시 기반 프레임워크인가? Reflection과 Pro...
실무형 Java 백엔드 집중 성장 플랜 현재 목표: 중견 Java 백엔드 이직 실무형 개발자 포지셔닝 강화 Java/Spring 내부 동작 이해 운영/장애 대응 관점 강화 방향은 명확하다. “코테”보다 “실무 이해도” 에 집중한다. 즉: Java 내부 구조 Spring 동작 원리 DB/트랜잭션 운영...