📚

Learning

개발 공부 기록 및 학습 노트

지속 업데이트 스프링 · JPA · DB 운영 · 모니터링

🚀 백엔드 커리큘럼

STEP 7

7단계: 복습(Q&A)

학습하며 남긴 Q&A를 한 번에 모아 복습하는 단계

Backend Roadmap 12/16
STEP 8

8단계: 보안 (Security Specialist)

기능 구현을 넘어, 안전한 서비스를 만들기 위한 필수 보안 지식과 공격 방어 기법을 다룹니다.

Backend Roadmap 12/28
STEP 9

9단계: 컴퓨터 공학 심화 (Deep CS)

분산 시스템의 정합성 모델, DB 스토리지 엔진의 원리 등 시니어 레벨로 가기 위한 이론적 깊이를 다룹니다.

Backend Roadmap 12/28
STEP 11

11단계: 아키텍처 마스터리 (Architecture Mastery)

대규모 분산 시스템에서 발생하는 데이터 정합성 문제와 무한 확장을 위한 샤딩, 그리고 복잡한 도메인을 다루는 DDD까지 아키텍트 레벨의 난제를 다룹니다.

Backend Roadmap 12/28

🗺️ 학습 가이드

개발하면서 배우고 공부한 내용들을 주제별로 정리합니다. 백엔드 학습은 기초 → 스프링 → 데이터/설계 → 운영/모니터링 → 심화/시스템 설계 → 복습(Q&A) 모듈로 나누어 지속적으로 업데이트하며, 커리큘럼·주제 카드·최신 노트가 자동으로 정렬됩니다. 학습 순서는 타임라인 페이지에서 study_order 기준으로 확인할 수 있습니다.

  • 학습 타임라인: /learning/timeline/에서 study_order 순서대로 확인합니다.
  • 커리큘럼 카드: Backend Roadmap 토픽 글이 자동으로 순서대로 표시됩니다.
  • 주제 카드: Spring/Database/Kafka/DevOps 등 토픽별 최신 글을 한 번에 확인합니다.
  • 최근 학습 노트: 최신순 정렬, 더보기/토픽별 필터 지원.

학습 방법

  • 개념 → 실험 → 기록: 읽고 끝내지 말고, 작은 코드/재현으로 확인한 뒤 내 말로 정리합니다.
  • 선택 기준 만들기: “언제 A, 언제 B”를 한 줄이라도 남기면 실전에서 재사용됩니다.
  • 복습(Q&A): 막힌 포인트를 질문/답 형태로 쌓아두면 다시 꺼내보기 쉬워집니다.

📂 학습 주제

API

URL, Header, Query 기반 버전 관리와 Breaking Change 전략

3개 12/28

API Design

학습 노트 모음

1개 10/12

Algorithm

학습 노트 모음

1개 12/16

Architecture

학습 노트 모음

25개 03/18

Backend

학습 노트 모음

18개 03/05

Backend Architecture

학습 노트 모음

1개 03/03

Backend Deep Dive

학습 노트 모음

1개 12/28

Backend Roadmap

학습 노트 모음

14개 12/28

Build

학습 노트 모음

1개 12/16

CS

학습 노트 모음

2개 12/29

Caching

학습 노트 모음

2개 02/12

Cloud

S3 개념, Presigned URL, 대용량 업로드, 비용 최적화

1개 12/28

Code Quality

네이밍, 함수 설계, 주석, 리팩토링 원칙

1개 12/28

Data Architecture

학습 노트 모음

1개 03/17

Data Consistency

학습 노트 모음

1개 03/02

Data Engineering

학습 노트 모음

1개 03/10

Database

학습 노트 모음

25개 03/08

Database Internals

학습 노트 모음

1개 12/28

Design Patterns

학습 노트 모음

2개 10/09

DevOps

학습 노트 모음

23개 12/29

Distributed

Kafka, RabbitMQ, Redis Pub/Sub 비교와 선택 기준

1개 12/28

Distributed Systems

학습 노트 모음

4개 03/11

Frontend

React 성능 최적화, Virtual DOM, memo, useCallback 관련 핵심 개념과 실전 예제 정리

4개 12/01

Git

학습 노트 모음

1개 12/16

JPA

Lazy/Eager 로딩, Batch Size, QueryDSL, Hibernate 통계

4개 12/28

JVM

학습 노트 모음

4개 02/12

Java

학습 노트 모음

8개 12/29

Kafka

학습 노트 모음

6개 12/16

Messaging

학습 노트 모음

1개 12/16

Modern Tech

학습 노트 모음

5개 12/28

Network

학습 노트 모음

8개 12/29

Networking

학습 노트 모음

2개 12/16

OOP

학습 노트 모음

1개 10/06

OS

학습 노트 모음

1개 12/28

Observability

학습 노트 모음

5개 02/12

Ops

학습 노트 모음

4개 12/16

Performance

학습 노트 모음

2개 03/20

Practical Project

학습 노트 모음

1개 12/28

Q&A

학습 노트 모음

3개 12/16

React

React 라이브러리 학습 노트

1개 11/03

Reactive

Reactive Programming, Publisher/Subscriber, Backpressure 관련 핵심 개념과 실전 예제 정리

1개 12/01

Redis

학습 노트 모음

2개 12/16

Resilience

학습 노트 모음

2개 03/19

Security

학습 노트 모음

15개 03/04

Spring

ApplicationEvent, @EventListener, 비동기 이벤트, 트랜잭션 바인딩

36개 12/28

Spring Data JPA

학습 노트 모음

1개 11/02

System Design

학습 노트 모음

4개 12/16

Testing

테스트 피라미드, Mock vs Stub, 통합 테스트 격리 전략

3개 12/28

Testing Strategy

학습 노트 모음

1개 03/03

최근 학습 노트

Security

Spring Security OAuth2 + JWT 실전 구현

Authorization Code 흐름과 JWT 발급/검증을 Spring Security 구성으로 연결하고, 실무에서 흔한 함정까지 정리

Spring Security OAuth2 JWT +2
CS

OSI 7계층과 TCP/IP 이해

백엔드 개발자가 알아야 할 실무 관점의 네트워크 계층 구조 (L4 vs L7 로드밸런서 차이점 포함)

Network OSI 7 Layer TCP/IP +1
Database Internals

스토리지 엔진 내부: B-Tree vs LSM-Tree

DB 성능의 핵심인 스토리지 엔진. MySQL의 B-Tree와 Cassandra/RocksDB의 LSM-Tree 구조를 비교하고 장단점을 파헤칩니다.

Database B-Tree LSM-Tree +2
Distributed Systems

분산 트랜잭션: 2PC에서 SAGA까지

마이크로서비스 환경에서 데이터 정합성을 어떻게 보장할까요? 강한 일관성(2PC)의 한계와 결과적 일관성(SAGA) 패턴의 구현 방법을 다룹니다.

Distributed Transaction SAGA 2PC +1
Distributed Systems

데이터 정합성 모델: Strong부터 Eventual까지

분산 시스템에서 '최신 데이터'를 본다는 것의 의미와 비용. Linearizability, Sequential, Eventual Consistency의 차이를 명확히 구분합니다.

Consistency Distributed Systems Linearizability +1
Database

데이터 샤딩과 Consistent Hashing

DB 데이터를 여러 서버에 나누는 샤딩 전략과, 서버 증설 시 데이터 이동을 최소화하는 Consistent Hashing 알고리즘 설명.

Sharding Consistent Hashing Database Scaling +3
Network

WebSocket과 실시간 통신

WebSocket 프로토콜 동작 원리, STOMP 기반 실시간 통신과 Spring 적용

WebSocket STOMP Real-time +1
Modern Tech

Vector DB 내부: HNSW 인덱스와 RAG 백엔드

AI 서비스의 필수 인프라인 Vector Search. ANN 알고리즘(HNSW, IVF, PQ) 원리, 파라미터 튜닝, RAG 파이프라인 설계, 그리고 운영 체크리스트까지.

AI Vector DB HNSW +5
Security

TLS Handshake 1.3: HTTPS는 어떻게 연결될까?

HTTPS 연결이 성립되는 과정을 Wireshark 패킷 관점에서 봅니다. TLS 1.2와 1.3의 차이, Cipher Suite 선택, 인증서 체인 검증, 0-RTT의 위험, 그 …

Security TLS HTTPS +4
Observability

OpenTelemetry: 통합 관측 표준

OpenTelemetry의 Trace/Metric/Log 통합 관측 표준과 Spring Boot 적용 가이드

OpenTelemetry Observability Tracing +2
Network

DNS 내부: 주소창에 google.com을 치면?

재귀적 질의, 레코드 타입, 캐싱 전략, DNSSEC/DoH 보안, 컨테이너 DNS, GSLB, 실전 트러블슈팅까지 DNS 내부를 완전히 파헤칩니다.

DNS Network Infra +3
Architecture

DDD 심화: Aggregate Root와 트랜잭션 경계

도메인 주도 설계(DDD)에서 가장 어려운 Aggregate 개념. 트랜잭션의 범위를 정의하고 데이터 무결성을 지키는 원칙을 다룹니다.

DDD Aggregate Transaction +1
Architecture

CQRS: 명령과 조회의 분리

CQRS 패턴의 개념, 읽기/쓰기 모델 분리, Event Sourcing과의 조합 가이드

CQRS Architecture DDD +1
Backend Roadmap

11단계: 아키텍처 마스터리 (Architecture Mastery)

대규모 분산 시스템에서 발생하는 데이터 정합성 문제와 무한 확장을 위한 샤딩, 그리고 복잡한 도메인을 다루는 DDD까지 아키텍트 레벨의 난제를 다룹니다.

Distributed Transactions Sharding DDD +1
Backend Roadmap

9단계: 컴퓨터 공학 심화 (Deep CS)

분산 시스템의 정합성 모델, DB 스토리지 엔진의 원리 등 시니어 레벨로 가기 위한 이론적 깊이를 다룹니다.

CS Distributed Systems Database Internals +1
Backend Roadmap

8단계: 보안 (Security Specialist)

기능 구현을 넘어, 안전한 서비스를 만들기 위한 필수 보안 지식과 공격 방어 기법을 다룹니다.

Security Auth Cryptography +1
Ops

클라우드 비용 최적화 전략

FinOps 프레임워크, Compute/DB/Network/Storage 영역별 최적화, Kubernetes 비용 관리, Spot/RI 전략, …

Cost Optimization Autoscaling FinOps +3
Architecture

실시간 통신: WebSocket vs SSE vs Webhook

실시간/준실시간 요구에 따라 WebSocket, SSE, Webhook을 선택하는 기준과 설계 패턴 — Spring Boot 구현 코드, 스케일 아웃 전략, 운영 체크리스트 포함

WebSocket SSE Webhook +3
System Design

시스템 설계: 뉴스피드

Fan-out on write/read, 캐시/타임라인 테이블 설계, 지연/일관성 트레이드오프 정리

System Design Newsfeed Fanout +1
System Design

시스템 설계: URL Shortener

Key 생성, 충돌 방지, 캐시/DB 설계, 확장성·가용성 고려사항 정리

System Design URL Shortener Hash +2
Architecture

멀티테넌시 설계 전략

스키마/데이터베이스 분리, 테넌트 격리/보안, 마이그레이션·운영 고려사항과 실전 구현

Multitenancy Schema Isolation +3
Architecture

레거시 리팩터링 전략

대규모 레거시 개선을 위한 우선순위, 단계별 접근, 위험 관리

Legacy Refactoring Strangler +1
Spring

WebFlux vs MVC 선택 가이드

Spring MVC와 WebFlux를 실행 모델·병목 유형·운영 난이도로 비교하고, 안전한 전환 전략과 실전 체크리스트를 정리합니다.

WebFlux Spring MVC Reactive +1
Spring

Spring 프로필과 설정 분리 전략

dev/stage/prod 설정 분리, @ConfigurationProperties, Secret 관리, Kubernetes 환경변수 주입, Vault 연동, …

Spring Profile Configuration +3
Testing

Spring 통합 테스트와 Testcontainers

MySQL/Redis/Kafka를 Testcontainers로 올려 실제 환경과 유사한 통합 테스트를 구성하는 방법

Testcontainers Spring Boot Integration Test +2
Security

Spring Security: 필터 체인의 미학

어렵게만 느껴지는 Security의 내부 작동 원리(DelegatingFilterProxy, FilterChain)와 커스텀 필터

Spring Security Filter Chain JWT +1
Spring

Spring Security + JWT 인증 흐름

JWT 기반 인증 필터, 토큰 발급/검증, Stateless 세션 구성을 코드로 정리

Spring Security JWT Authentication +1
Spring

Spring Boot 자동 설정 해부

자동 설정 동작 원리, 조건부 빈 등록, 커스터마이징 포인트 정리

Spring Boot AutoConfiguration Condition +1
Spring

Spring Batch와 스케줄링 기초

대량 배치 처리와 스케줄링 설계, Spring Batch/Quartz/스케줄러 기본부터 운영 안정성까지

Spring Batch Scheduling Quartz +2
Spring

Spring AOP (Part 1: 개념과 기초)

Spring AOP의 동작(프록시)과 포인트컷/어드바이스를 이해하고, self-invocation 같은 실전 함정을 피하는 방법

Spring AOP Proxy +2
Redis

Redis 캐시 패턴 모음

Cache-Aside, Write-Through, Write-Behind, 분산락 패턴을 코드 예시와 함께 정리

Redis Cache Aside Write Through +2
Q&A

Q&A 모음: 운영/보안 20제

CI/CD, 모니터링/알람, 네트워크, CORS/CSRF/OWASP 등 운영/보안 관련 20문항 Q&A

Ops Security DevOps +1
Kafka

Kafka 재시도/DLQ 설계

재시도 토픽, DLQ, 멱등 처리로 Kafka 소비 실패를 다루는 패턴

Kafka Retry DLQ +1
Architecture

gRPC 서비스 설계 기초

프로토 정의, 일방향/양방향 스트리밍, gRPC-Gateway 연계 등 gRPC 설계 핵심

gRPC Protobuf Streaming +1
Architecture

GraphQL 스키마 설계 가이드

스키마 정의, 리졸버 구조, N+1 방지(DataLoader), 버전 관리 베스트 프랙티스

GraphQL Schema Resolver +1
Architecture

Event Sourcing과 CQRS 입문

이벤트 소싱과 CQRS 기본 개념, 장단점, 적용 시 고려사항

Event Sourcing CQRS Command +1
Security

CI/CD 보안: 공급망 공격 막기

내 코드는 안전해도 빌드 도구가 해킹당하면? 소스부터 배포까지 신뢰 루프 만들기

CI/CD Supply Chain SBOM +1
Architecture

API 레이트 리밋과 백프레셔 심화

API Gateway 레이트 리밋, 애플리케이션 레벨 백프레셔, 큐/서킷 브레이커 연계 — 알고리즘 선택부터 Redis 분산 구현, Spring Cloud Gateway 설정까지

Rate Limit Backpressure API Gateway +2
Backend Roadmap

7단계: 복습(Q&A)

학습하며 남긴 Q&A를 한 번에 모아 복습하는 단계

Q&A 백엔드 정리 +1
DevOps

Service Mesh (Istio): 마이크로서비스 통신 관리

Istio Service Mesh로 마이크로서비스 간 통신을 관리하고 보안을 강화하는 방법 — 도입 판단 기준부터 트래픽 관리, mTLS, 관측성, 장애 주입까지 실무 설계 포인트 …

Service Mesh Istio Microservices +2
Spring

WebFlux 구조 정리

WebFlux 내부 구조, Reactor 패턴, 이벤트 루프와 스레드 모델 Q&A

Spring WebFlux Reactor Reactive +2
Database

SQL 성능 튜닝 정리

SQL 실행 계획 분석, Join 전략 선택, 쿼리 튜닝 체크리스트 Q&A

SQL Performance Join +1
Spring

Spring Bean Lifecycle 정리

Spring Bean 생성 순서, 초기화/소멸 콜백, Proxy 객체와 @Configuration 동작 Q&A

Spring Bean Lifecycle +1
Reactive

Reactive Programming 개념 정리

Reactive Programming 핵심 개념, Publisher/Subscriber 패턴, Backpressure 전략 Q&A

Reactive Backpressure Publisher +1
Kafka

Kafka Partition 설계 정리

Kafka Partition 설계 전략, Key 기반 분배, 순서 보장과 리밸런싱 Q&A

Kafka Partition Ordering +1
Kafka

Kafka Consumer Group 정리

Kafka Consumer Group 동작 원리, 리밸런싱, 오프셋 관리 전략 Q&A

Kafka Consumer Group Rebalance +1
Java

JVM 내부 구조 정리

JVM 내부 구조, ClassLoader 계층, JIT 컴파일러, Safepoint 동작 원리 Q&A

Java JVM ClassLoader +1
DevOps

Docker & Kubernetes 정리

Docker 컨테이너 기초, Kubernetes Pod/Service/Deployment 개념과 운영 Q&A

Docker Kubernetes DevOps +1
Database

DB 인덱스 최적화 정리

B-Tree 인덱스, 복합 인덱스 설계, Index Scan 종류별 차이와 실전 최적화 전략 Q&A

Database Index B-Tree +1
React

React Hooks 기초

React Hooks의 기본 개념과 사용법 정리

React Hooks Frontend
Database

MySQL 인덱스 기초 예제

WHERE, ORDER BY, JOIN에서 인덱스가 어떻게 사용되는지 간단한 예제로 정리

MySQL Index Explain +1