1단계: 백엔드 기초 다지기 (언어/알고리즘/CS)
언어, 자료구조/알고리즘, 운영체제·네트워크 기본을 다지는 모듈
언어, 자료구조/알고리즘, 운영체제·네트워크 기본을 다지는 모듈
스프링 코어, 부트 자동설정, JPA, 테스트 전략을 집중적으로 다지는 모듈
인덱스/트랜잭션/락/캐시/메시징으로 데이터 시스템의 성능·정합성·확장성을 다지는 모듈
분산 트랜잭션, 일관성 모델, 샤딩, 이벤트 드리븐 아키텍처를 다루는 모듈
장애 전파 차단, 트래픽 제어, 고가용성 설계를 다루는 모듈
Docker, K8s, CI/CD, 모니터링, 트레이싱까지 운영 스택을 갖추는 모듈
학습하며 남긴 Q&A를 한 번에 모아 복습하는 단계
기능 구현을 넘어, 안전한 서비스를 만들기 위한 필수 보안 지식과 공격 방어 기법을 다룹니다.
분산 시스템의 정합성 모델, DB 스토리지 엔진의 원리 등 시니어 레벨로 가기 위한 이론적 깊이를 다룹니다.
AI 시대의 백엔드(Vector Search), 차세대 웹 프로토콜(HTTP/3), 그리고 Serverless/MicroVM 등 최신 기술의 '내부 원리'를 다룹니다.
대규모 분산 시스템에서 발생하는 데이터 정합성 문제와 무한 확장을 위한 샤딩, 그리고 복잡한 도메인을 다루는 DDD까지 아키텍트 레벨의 난제를 다룹니다.
개발하면서 배우고 공부한 내용들을 주제별로 정리합니다. 백엔드 학습은 기초 → 스프링 → 데이터/설계 → 운영/모니터링 → 심화/시스템 설계 → 복습(Q&A) 모듈로 나누어 지속적으로 업데이트하며, 커리큘럼·주제 카드·최신 노트가 자동으로 정렬됩니다. 학습 순서는 타임라인 페이지에서 study_order 기준으로 확인할 수 있습니다.
/learning/timeline/에서 study_order 순서대로 확인합니다.URL, Header, Query 기반 버전 관리와 Breaking Change 전략
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
S3 개념, Presigned URL, 대용량 업로드, 비용 최적화
네이밍, 함수 설계, 주석, 리팩토링 원칙
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
Kafka, RabbitMQ, Redis Pub/Sub 비교와 선택 기준
학습 노트 모음
React 성능 최적화, Virtual DOM, memo, useCallback 관련 핵심 개념과 실전 예제 정리
학습 노트 모음
Lazy/Eager 로딩, Batch Size, QueryDSL, Hibernate 통계
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
Traces, Metrics, Logs 통합, 분산 컨텍스트 전파
학습 노트 모음
학습 노트 모음
학습 노트 모음
학습 노트 모음
React 라이브러리 학습 노트
Reactive Programming, Publisher/Subscriber, Backpressure 관련 핵심 개념과 실전 예제 정리
학습 노트 모음
학습 노트 모음
ApplicationEvent, @EventListener, 비동기 이벤트, 트랜잭션 바인딩
학습 노트 모음
학습 노트 모음
테스트 피라미드, Mock vs Stub, 통합 테스트 격리 전략
모놀리식에서 MSA로 전환할 때 알아야 할 분해 전략, 서비스 간 통신, 데이터 일관성 패턴
백엔드 개발자가 알아야 할 실무 관점의 네트워크 계층 구조 (L4 vs L7 로드밸런서 차이점 포함)
OAuth 2.0 승인 코드 방식(Authorization Code Grant)의 흐름과 Spring Security OAuth2 Client 설정법
세션과 토큰(JWT)의 장단점 비교, Access/Refresh Token 전략, 그리고 보안 취약점(XSS, CSRF) 방어
원시 타입과 래퍼 클래스의 메모리 차이, 오토박싱의 함정, 그리고 String Pool의 동작 원리까지
개발 생산성을 2배로 올려주는 IntelliJ 단축키와 디버깅 기능 정복하기
HTTP 메시지 구조부터 GET/POST 차이, 2xx~5xx 상태 코드의 정확한 의미까지, 백엔드 개발자의 필수 상식
여러 컨테이너를 관리하는 Docker Compose의 원리와 Docker Network(Bridge, Host) 모드 완전 정복
주소창 입력부터 렌더링까지 전체 흐름과 DNS 구조(Recursor, Root, TLD, Authoritative) 완벽 정리
GitHub Actions의 Workflow, Job, Step 구조와 Spring Boot 프로젝트의 자동 빌드/테스트 파이프라인 구축
VPC, Security Group 기초부터 EC2 인스턴스 생성, RDS 연동, 그리고 Java 애플리케이션 배포까지
스프링조차도 도메인 로직에 침범하지 못하게 하라. Ports & Adapters 패턴의 구현.
classDi …시스템 설계 인터뷰의 단골 문제, URL 단축 서비스를 직접 설계하고 구현하며 인덱스와 캐시를 이해합니다.
DB 성능의 핵심인 스토리지 엔진. MySQL의 B-Tree와 Cassandra/RocksDB의 LSM-Tree 구조를 비교하고 장단점을 파헤칩니다.
마이크로서비스 환경에서 데이터 정합성을 어떻게 보장할까요? 강한 일관성(2PC)의 한계와 결과적 일관성(SAGA) 패턴의 구현 방법을 다룹니다.
분산 시스템에서 '최신 데이터'를 본다는 것의 의미와 비용. Linearizability, Sequential, Eventual Consistency의 차이를 명확히 구분합니다.
DB 데이터를 여러 서버에 나누는 샤딩 전략과, 서버 증설 시 데이터 이동을 최소화하는 Consistent Hashing 알고리즘 설명.
AI 서비스의 필수소인 Vector Search. 고차원 데이터를 빠르게 검색하는 HNSW(Hierarchical Navigable Small World) 알고리즘의 원리를 파헤칩 …
HTTPS 연결이 성립되는 과정을 Wireshark 패킷 관점에서 봅니다. TLS 1.2와 1.3의 차이, 그리고 성능 최적화 원리까지.
TCP 3-way Handshake의 비용, Sliding Window의 원리, 그리고 최신 TCP 성능 튜닝 기법.
MVC의 한계를 넘어서는 Event-Loop 기반 아키텍처와 Backpressure 메커니즘.
DelegatingFilterProxy부터 SecurityFilterChain까지, 스프링 시큐리티의 내부 동작을 해부한다.
서버리스는 정말 서버가 없을까? AWS Lambda가 수천 개의 함수를 격리하는 기술인 Firecracker와, 1초의 지연(Cold Start) …
Authorization Code Grant Flow부터 JWT, OIDC의 ID Token까지, 인증 프로세스의 모든 것.
Blocking vs Non-blocking, Synchronous vs Asynchronous의 정확한 구분과 고성능 서버(Nginx, Node.js, Kafka)의 기반 기술 …
Lombok 없이도 간결한 코드를 작성하고, 스레드 지옥에서 벗어나 코루틴의 세계로.
RSA와 AES의 조화, 그리고 TLS 1.3 핸드셰이크 과정을 시각적으로 이해한다.
웹의 속도를 제한하던 TCP의 구조적 한계(Head-of-Line Blocking)와 이를 UDP 기반의 QUIC으로 해결한 HTTP/3의 혁신을 다룹니다.
단순해 보이는 도메인 이름 풀이(Resolution) 과정에 숨겨진 재귀적 질의, 캐싱 전략, 그리고 GSLB의 원리를 다룹니다.
도메인 주도 설계의 핵심 빌딩 블록을 이해하고, 왜 불변 객체(VO)가 중요한지 파헤칩니다.
도메인 주도 설계(DDD)에서 가장 어려운 Aggregate 개념. 트랜잭션의 범위를 정의하고 데이터 무결성을 지키는 원칙을 다룹니다.
대규모 분산 시스템에서 발생하는 데이터 정합성 문제와 무한 확장을 위한 샤딩, 그리고 복잡한 도메인을 다루는 DDD까지 아키텍트 레벨의 난제를 다룹니다.
AI 시대의 백엔드(Vector Search), 차세대 웹 프로토콜(HTTP/3), 그리고 Serverless/MicroVM 등 최신 기술의 '내부 원리'를 다룹니다.
분산 시스템의 정합성 모델, DB 스토리지 엔진의 원리 등 시니어 레벨로 가기 위한 이론적 깊이를 다룹니다.
기능 구현을 넘어, 안전한 서비스를 만들기 위한 필수 보안 지식과 공격 방어 기법을 다룹니다.
점진적 트래픽 전환, 데이터 동기화, 롤백 전략을 설계하는 방법
UTC 저장/표시 변환, Locale별 메시지/포맷, 스케줄·마감 처리 시 주의점
오토스케일, 캐시/스토리지 티어링, 예약/세이빙 플랜, 모니터링을 통한 비용 최적화
VPC, 서브넷, 라우팅, 보안그룹/네트워크 ACL 개념과 설계 포인트
주요 자료구조의 삽입/삭제/탐색 시간복잡도와 사용 시 주의점 정리
인덱스가 왜 빨라지는지(B-Tree/선택도/커버링), 복합 인덱스 설계와 쿼리 튜닝의 기본 감각
CORS 설정, CSRF 방어, 보안 헤더(HSTS, X-Content-Type-Options 등) 적용 가이드
프로세스/스레드 차이, 컨텍스트 스위칭, 스케줄링 알고리즘, 동기화 기본
알람 설계 원칙, 임계치/증분 알람, 온콜 운영 가이드
동기/비동기 vs 블로킹/논블로킹을 명확히 구분하고, 스레드풀·이벤트 루프·MVC/WebFlux 선택 기준까지 연결
실시간/준실시간 요구에 따라 WebSocket, SSE, Webhook을 선택하는 기준과 설계 패턴
Presigned URL, 멀티파트 업로드, CDN 캐싱 전략으로 파일을 안전하게 업로드/서빙하는 방법
Fan-out on write/read, 캐시/타임라인 테이블 설계, 지연/일관성 트레이드오프 정리
Key 생성, 충돌 방지, 캐시/DB 설계, 확장성·가용성 고려사항 정리
의존성 해석/버전 충돌, 빌드·테스트 파이프라인, 멀티모듈 분리의 기준을 잡는 글
애플리케이션 설정과 비밀을 분리하고, Vault/Secrets Manager를 통해 주입하는 방법
부하 시나리오 설계, 목표 지표(SLI/SLO), 병목 파악과 튜닝 루틴
모듈형 커리큘럼 구조, 학습 루틴, 자료 모음을 한 번에 정리한 학습 개요
RPO/RTO 정의, 백업/복구, DR 리전 설계와 주기적 복구 테스트 가이드
배포 전/중/후 판단 기준과 롤백/완화 절차를 런북 형태로 정리
Layered vs Modular, 패키지 의존성 최소화, 멀티모듈 분리 전략
모놀리스 코드베이스를 단계적으로 모듈러/서비스로 분리하는 전략
스키마/데이터베이스 분리, 테넌트 격리/보안, 마이그레이션·운영 고려사항
프로세스/리소스/로그/네트워크를 ps/top/journalctl/ss/curl/dig로 확인하며 장애 범위를 좁히는 방법
ALB/NLB 선택 기준, 헬스체크 실패 시 트래픽 흐름, 타임아웃/리트라이로 인한 장애 전파 차단
대규모 레거시 개선을 위한 우선순위, 단계별 접근, 위험 관리
도메인 모델링 기본 개념과 애그리게이트 경계를 잡는 방법
TCP 3-way, 흐름/혼잡 제어, HTTP/2 멀티플렉싱·HPACK·헤더 압축 핵심
로그/메트릭/트레이스 3대 기둥과 Spring Boot 기반 기본 설정 가이드
Reactive 필요성 판단 기준, 스레드 모델 차이, 적용/비적용 시나리오 정리
WebClient로 외부 API 호출 시 타임아웃/재시도/서킷 브레이커/백프레셔 설정 가이드
레드-그린-리팩터 사이클, 단위/슬라이스 테스트 작성과 Mock 활용 패턴
SQL 실행 순서와 조인/집계 성능 함정, 인덱스가 타는 조건을 감각으로 잡는 기본기
dev/stage/prod 설정 분리, @ConfigurationProperties, Secret 관리 전략 정리
MySQL/Redis/Kafka를 Testcontainers로 올려 실제 환경과 유사한 통합 테스트를 구성하는 방법
Bean Validation 적용, 공통 응답/에러 코드 규약, 필드 에러 처리 패턴 정리
전파/격리/롤백 규칙과 프록시 동작, self-invocation/checked exception 같은 실무 함정을 한 번에 정리
어렵게만 느껴지는 Security의 내부 작동 원리(DelegatingFilterProxy, FilterChain)와 커스텀 필터
Authorization Server 없이 외부 프로바이더(Google 등) 연동하는 OAuth2 로그인 흐름 정리
JWT 기반 인증 필터, 토큰 발급/검증, Stateless 세션 구성을 코드로 정리
요청이 들어와서 응답이 나가기까지: Filter/DispatcherServlet/Interceptor/예외 처리 흐름과 디버깅 포인트
@Cacheable/@CachePut/@CacheEvict 사용법과 Redis/Caffeine 연동 패턴
자동 설정 동작 원리, 조건부 빈 등록, 커스터마이징 포인트 정리
대량 배치 처리와 스케줄링 설계, Spring Batch/Quartz/스케줄러 기본
프록시 기반 AOP, @Transactional 적용 시점, self-invocation 주의사항 정리
Spring AOP의 동작(프록시)과 포인트컷/어드바이스를 이해하고, self-invocation 같은 실전 함정을 피하는 방법
표준 에러 응답 포맷, 글로벌 예외 처리, 검증 에러 응답 설계
Cache-Aside/Write-through/Write-behind 선택, 무효화/스탬피드/핫키 같은 실전 문제와 운영 지표까지 정리
Cache-Aside, Write-Through, Write-Behind, 분산락 패턴을 코드 예시와 함께 정리
Redis Streams 기본 개념부터 Consumer Group/PEL, 멱등 처리와 재처리(복구)까지: 작은 이벤트 파이프라인 설계
Pending 리스트 관리, 장애 시 재처리, 대량 backlog를 제어하는 Streams 운영 패턴
DDoS 방어부터 유료 API 사용량 제한까지. Token Bucket 알고리즘과 Redis 분산 처리
기본 문법, 동적 where, 페이징/정렬 패턴을 예제로 정리
CI/CD, 모니터링/알람, 네트워크, CORS/CSRF/OWASP 등 운영/보안 관련 20문항 Q&A
JVM/GC, 동시성, 스프링 빈/트랜잭션/보안 등 자주 묻는 50문항 Q&A
인덱스/격리/락, Redis 캐시/락, Kafka 파티션·정렬·리밸런스 등 30문항 Q&A
OWASP Top 10 주요 취약점을 백엔드 관점에서 점검하기 위한 체크리스트
Outbox 패턴, Saga(Choreography/Orchestration)로 데이터 일관성을 유지하는 방법
READ COMMITTED/REPEATABLE READ 차이, Gap/Next-Key Lock과 데드락 예방법
B-Tree/컴포지트 인덱스 설계, EXPLAIN으로 실행 계획을 해석하고 튜닝하는 방법
슬로우 쿼리 로그, 커넥션 풀(HikariCP) 파라미터, 실행 계획 튜닝 포인트
RollingUpdate, Canary, Blue/Green 전략과 실습 체크리스트
재시도 토픽, DLQ, 멱등 처리로 Kafka 소비 실패를 다루는 패턴
멱등 프로듀서, 정렬 보장 패턴, Exactly-once 처리를 위한 설정과 설계
Kafka 핵심 개념과 메시지 흐름, Ordering/스루풋 설계를 위한 기초
Lag 모니터링, 리밸런스 원인, 처리량/중복/손실 사이 트레이드오프 정리
JVM 메모리 영역과 GC Root, OOM/Metaspace/StackOverflow 같은 장애를 빠르게 진단하는 기본기
GC 로그 해석, Young/Old 튜닝 포인트, GC 선택(G1/ZGC) 가이드
트랜잭션 경계, flush 시점, 지연 쓰기와 N+1 예방을 정리
로그에 쿼리 100개가 찍히는 공포. 원인 분석부터 Fetch Join, Batch Size, EntityGraph 해결법 비교
ArrayList/LinkedList/HashMap/ConcurrentHashMap 등 주요 컬렉션의 성능 특성과 튜닝 포인트
체크예외 vs 런타임예외, Optional/Stream에서 흔한 함정과 안전한 사용 패턴 정리
Race condition부터 JMM, 스레드풀/락 선택, 디버깅까지: 백엔드에서 필요한 자바 동시성 기본기
할당/생존/승격 관점으로 GC를 이해하고, STW/메모리 문제를 로그로 진단하는 기본기
메서드/상태코드/헤더/캐시/HTTPS 기본을 빠르게 복습
메서드/상태코드 복습 후 캐시 제어, ETag 조건부 요청, TLS 핸드셰이크를 실무 관점에서 정리
프로토 정의, 일방향/양방향 스트리밍, gRPC-Gateway 연계 등 gRPC 설계 핵심
스키마 정의, 리졸버 구조, N+1 방지(DataLoader), 버전 관리 베스트 프랙티스
테스트·빌드·린트·아티팩트 업로드를 포함한 백엔드 CI 파이프라인 예시와 베스트 프랙티스
좋은 커밋 단위, rebase/merge 선택, revert/reset 차이까지: 팀 개발에서 사고를 줄이는 Git 루틴
이벤트 소싱과 CQRS 기본 개념, 장단점, 적용 시 고려사항
멀티스테이지 Dockerfile과 GitHub Actions로 테스트/빌드/이미지 푸시 자동화
내 코드는 안전해도 빌드 도구가 해킹당하면? 소스부터 배포까지 신뢰 루프 만들기
스펙 우선 vs 코드 기반 문서화 비교, REST Docs/Swagger 설정과 적용 패턴
API Gateway 레이트 리밋, 애플리케이션 레벨 백프레셔, 큐/서킷 브레이커 연계
학습하며 남긴 Q&A를 한 번에 모아 복습하는 단계
Docker, K8s, CI/CD, 모니터링, 트레이싱까지 운영 스택을 갖추는 모듈
장애 전파 차단, 트래픽 제어, 고가용성 설계를 다루는 모듈
분산 트랜잭션, 일관성 모델, 샤딩, 이벤트 드리븐 아키텍처를 다루는 모듈
인덱스/트랜잭션/락/캐시/메시징으로 데이터 시스템의 성능·정합성·확장성을 다지는 모듈
스프링 코어, 부트 자동설정, JPA, 테스트 전략을 집중적으로 다지는 모듈
언어, 자료구조/알고리즘, 운영체제·네트워크 기본을 다지는 모듈
Raft와 Paxos 같은 Consensus 알고리즘으로 분산 시스템의 일관성을 보장하는 원리
왜 Gateway를 써야 하는가? 인증/라우팅/공통 관심사의 분리
Chaos Engineering으로 의도적으로 장애를 발생시켜 시스템의 회복력을 테스트하는 방법
분산 추적으로 마이크로서비스 간 요청 흐름을 추적하고 병목을 찾는 방법
Prometheus로 메트릭을 수집하고 Grafana로 시각화하는 모니터링 시스템 구축
APM 핵심 개념과 Spring Boot Actuator로 애플리케이션 성능 모니터링 구현
ELK Stack (Elasticsearch, Logstash, Kibana)으로 로그 수집, 저장, 분석 시스템 구축
단순 텍스트 로그가 아니라 '검색 가능한' JSON 로그를 남겨야 하는 이유와 MDC 활용법
Istio Service Mesh로 마이크로서비스 간 통신을 관리하고 보안을 강화하는 방법
컨테이너 오케스트레이션이 필요한 이유. Pod/Deployment/Service의 관계와 자가 치유(Self-Healing)
**캐싱(Caching)** …
@ControllerAdvice는 Spring …
Redux와 Context API는 모두 전역 상태 관리를 위한 도구이지만, …
동시성 제어는 여러 트랜잭션이 동시에 같은 …
Mono: 0개 또는 1개의 데이터를 비동기로 처리하는 Publisher
Flux: 0개 이상 N개의 데이터를 비동기로 처리하 …
**Execution Plan (실행 계획)**은 DB 옵티마이저가 쿼리를 어떻게 실 …
@Transactional은 Spring AOP를 이용한 선언적 트랜잭션 …
Spring Bean은 컨테이너 시작 → 생성 → 의존성 주입 → 초기화 → 사용 → 소멸 단계를 거칩니다.
상세 생명 …
Reactive Programming은 비동기 데이 …
Virtual DOM은 실제 DOM의 가벼운 복사본으로, React가 UI …
OAuth2는 인증(Authentication)이 아닌 인 …
Partition 분배 방식은 메시지의 Key에 따라 결정됩니다. …
Consumer Group은 여러 Consumer가 협력 …
JVM은 크게 Class Loader, Runtime Data Area, Execution Engine으로 구성됩니다. …
Java 메모리는 크게 Heap, Stack, Method Area, PC …
VM과 컨테이너의 아키텍처 차이, 이미지 레이어 구조(Copy-on-Write)의 원리
**Docker (Container)**와 **VM (Virtual …
DispatcherServlet은 Spring MVC의 Front Controller로, 모든 HTTP 요 …
**B-Tree (Balanced Tree)**는 대부분의 RDBMS에서 사용하는 균형 잡힌 트리 구 …
CI/CD는 **지속적 통합(Continuous Integration)**과 **지속적 배 …
Thread Dump는 특정 시점의 모든 스레드 상태 스냅샷으로, 성능 문제 진단에 핵심적입니 …
서버가 여러 대일 때 synchronized는 무용지물입니다. Redis와 Redisson을 활용한 안전한 락 구현
Flyway를 이용한 데이터베이스 스키마 버전 관리와 안전한 마이그레이션 전략
Elasticsearch로 전문 검색을 구현하고 검색 성능을 최적화하는 실전 가이드
Redis의 고급 데이터 구조로 메모리 효율적인 솔루션 구현하기
MySQL 파티셔닝과 샤딩으로 대용량 데이터를 효율적으로 처리하는 방법
NoSQL의 종류와 특징을 이해하고, RDBMS vs NoSQL 선택 기준을 실무 관점에서 정리
커넥션 풀의 동작 원리와 HikariCP 설정으로 데이터베이스 성능을 최적화하는 실무 가이드
PK/UK/FK, 제약조건, 정규화/비정규화, 변경에 강한 스키마 설계 기준을 실무 관점으로 정리
서브쿼리, GROUP BY/HAVING 집계, 윈도우 함수로 복잡한 데이터 분석 쿼리 작성
SQL의 기본 CRUD 작업과 WHERE/ORDER BY/LIMIT 조건을 실전 예제로 마스터
외부 API/DB 장애가 내 서비스까지 번지지 않게 막는 Resilience4j 패턴과 설정값 가이드
@Async로 비동기 처리를 구현하고 CompletableFuture로 효율적인 병렬 처리하기
Spring의 핵심 개념인 IoC(Inversion of Control)와 DI(Dependency Injection) 정리
React Hooks의 기본 개념과 사용법 정리
JpaRepository 인터페이스, 쿼리 메서드, @Query, Specification으로 데이터 접근 계층을 간결하게 구현
JPA 연관관계 매핑(1:N, N:1, N:M)과 양방향 관계, 연관관계 주인, Cascade/OrphanRemoval을 실무 관점으로 정리
JPA의 핵심 개념인 엔티티와 영속성 컨텍스트를 이해하고, 기본 CRUD 작업과 상태 전이를 실무 관점으로 정리
@ControllerAdvice와 @ExceptionHandler로 전역 예외를 처리하고 일관된 에러 응답 설계
Spring 빈의 생명주기 스코프(Singleton/Prototype/Request/Session)와 프록시 모드를 실무 관점으로 정리
Spring의 핵심인 IoC 컨테이너와 DI(의존성 주입) 원리를 이해하고, 빈 생명주기와 스코프를 실무 관점으로 정리
메모리 누수를 진단하고 힙 덤프를 분석하여 원인을 찾는 실전 가이드
RESTful API 설계 원칙과 HTTP 메서드, 상태코드, URL 설계 패턴을 실전 예제로 마스터
백엔드 개발에서 가장 많이 쓰이는 3가지 패턴을 실전 예제로 마스터
SOLID 5가지 원칙(SRP/OCP/LSP/ISP/DIP)을 실전 코드 예제로 이해하고, 좋은 설계와 나쁜 설계를 구분하는 감각 기르기
Stream API로 컬렉션 처리를 선언적으로 작성하고, Optional로 null 안전성을 확보하는 실전 기법
ArrayList vs LinkedList, HashMap vs TreeMap, 언제 어떤 컬렉션을 선택할지 성능과 특성 기준으로 정리
가장 많이 사용하는 @Transactional 패턴과 실수하기 쉬운 포인트 정리
WHERE, ORDER BY, JOIN에서 인덱스가 어떻게 사용되는지 간단한 예제로 정리