⚓ DATT 04 - 패키지 구조 설계
DATT v2 패키지 구조 설계 설계 목표 DATT v2는 단순 CRUD 프로젝트가 아니라 다음 기능을 포함하는 위치 기반 기록 플랫폼이다. 회원가입 및 JWT 인증 공공데이터 기반 장소 관리 장소 그룹화 Anchor 기록 이미지 업로드 리뷰 및 평점 장소 컬렉션 공유 게임화 배치 처리 따라서 패키지 구조...
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 기록 이미지 업로드 리뷰 작성 장소...
JVM ClassLoader와 Proxy 구조 학습 목표 이번 주제의 핵심은: JVM은 왜 Runtime Dynamic Loading 구조를 사용하는가? 부모 위임 모델은 왜 필요한가? 핵심 클래스를 왜 보호해야 하는가? Proxy는 왜 사용하는가? Spring은 왜 프록시 기반 프레임워크인가? Reflection과 Pro...
실무형 Java 백엔드 집중 성장 플랜 현재 목표: 중견 Java 백엔드 이직 실무형 개발자 포지셔닝 강화 Java/Spring 내부 동작 이해 운영/장애 대응 관점 강화 방향은 명확하다. “코테”보다 “실무 이해도” 에 집중한다. 즉: Java 내부 구조 Spring 동작 원리 DB/트랜잭션 운영...
1주차 1일차 - 객체 생성 과정과 JVM 메모리 구조 심화 Java 백엔드 면접에서 굉장히 자주 등장하는 질문: “new 키워드로 객체 생성 시 어떤 일이 발생하나요?” 많은 경우: Heap에 객체 생성 Stack에 참조 저장 정도로 끝난다. 하지만 실제 중견 이상 면접에서는: 클래스 로딩 메모리 할당 객체...
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 ...