📚

백엔드 심화 학습

백엔드 개발자가 알아야 할 핵심 개념을 깊이 있게 학습합니다

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

기초부터 실전 Q&A까지 순서형 로드맵

학습 노트 323개

모듈 소개를 제외한 실제 노트만 집계

주제 79개

Spring, Database, Kafka, DevOps 등으로 정리

최근 업데이트 2026.07.07

백엔드 커리큘럼 심화: PostgreSQL 인덱스 쓰기 증폭 예산 플레이북

🚀 백엔드 커리큘럼

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

🗺️ 학습 가이드

백엔드 개발의 핵심 개념을 심도 있게 다룹니다. JVM 내부 구조, GC 알고리즘, Spring AOP/Transaction/Security, JPA N+1 문제, Database 인덱싱, Redis 캐싱 전략처럼 기반 지식이 되는 주제부터, 배포 안정성·관측성·트래픽 전환·장애 대응처럼 운영에서 바로 쓰이는 주제까지 함께 정리합니다.

이 페이지는 단순 목록이 아니라 지금 어떤 문제를 풀고 있는지에 따라 바로 들어갈 수 있는 학습 허브로 쓰는 것을 목표로 합니다. 개념을 처음 잡을 때는 기초 설명을 먼저 보고, 이미 운영 이슈를 겪고 있다면 아래 추천 경로처럼 관련 글을 묶어서 읽어보세요.

복잡한 조회와 Export 운영 경로: QUERY에서 산출물 관리까지

검색 조건이 커지고 결과가 많아지면 “조회 API 하나"가 금방 운영 문제가 됩니다. URL에 담기 어려운 필터는 POST 검색 API로 밀려나고, 전체 다운로드는 긴 DB 쿼리와 대용량 파일 생성으로 번집니다. 이때 핵심은 GET, QUERY, export job을 유행처럼 고르는 것이 아니라 응답 시간, 결과 크기, 공유 필요성, 감사 필요성에 따라 경계를 나누는 것입니다.

아래 순서로 읽으면 복잡한 읽기 요청부터 대용량 파일 산출물까지 한 흐름으로 이어집니다.

  1. REST API 설계 원칙
  2. HTTP QUERY, 복잡한 읽기 API가 GET과 POST 사이의 빈칸을 메운다
  3. Cursor Pagination Consistency
  4. HTTP Caching과 ETag Revalidation
  5. 대용량 데이터 Export 파이프라인
  6. Object Storage와 파일 관리

이런 상황이면 이 경로부터 보세요

  • POST /search, POST /query가 많아졌지만 읽기 요청과 상태 변경 요청이 섞여 있는 경우
  • 관리자 검색 조건이 URL에 담기 어렵고, GET query string에 민감 값이 남는 것이 부담인 경우
  • cursor pagination에서 중복/누락, 정렬 흔들림, snapshot 기준이 계속 문제 되는 경우
  • 전체 다운로드가 타임아웃, replica lag, 반복 클릭, 중복 파일 생성으로 운영 부하가 되는 경우
  • 생성된 파일의 row count, checksum, 만료, 다운로드 권한, 감사 로그가 따로 관리되지 않는 경우

읽으면서 남길 운영 산출물

  • read-only POST inventory와 QUERY 후보 API 목록
  • GET, QUERY, POST /exports를 나누는 행 수, 응답 시간, 결과 크기 기준
  • query body canonicalization, cache key, 민감 필터 redaction 정책
  • export artifact metadata: filter_hash, snapshot_at, schema_version, row_count, checksum, expires_at
  • 다운로드 시점 권한 재검증, signed URL TTL, 파일 보관 기간, 민감 컬럼 마스킹 기준

이 경로의 목표는 “새 HTTP 메서드를 안다"가 아닙니다. 복잡한 읽기 요청을 안전하게 표현하고, 즉시 응답하기 어려운 조회는 운영 가능한 산출물 파이프라인으로 넘기는 판단 기준을 만드는 것입니다.

데이터 파이프라인 운영 경로: Outbox에서 CDC 복구까지

데이터 변경을 이벤트, 검색 인덱스, read model, 웨어하우스로 흘려보내는 시스템은 처음에는 “비동기 처리"처럼 보이지만, 운영에 들어가면 누락·중복·지연·재처리를 다루는 복구 시스템이 됩니다. 특히 CDC를 붙이는 순간 애플리케이션 코드는 단순해질 수 있어도, 원본 DB 로그 보존, 커넥터 offset, schema compatibility, sink 멱등성이라는 새 책임이 생깁니다.

아래 순서로 읽으면 이벤트 발행 설계에서 CDC lag 대응까지 한 흐름으로 연결됩니다.

  1. Transactional Outbox + CDC, 이중 쓰기 없이 이벤트를 안전하게 내보내는 법
  2. Kafka 기본: 토픽, 파티션, Consumer Group
  3. Kafka Consumer Lag: 밀림을 해석하고 줄이는 법
  4. PostgreSQL WAL, Checkpoint, Replication Lag
  5. 백엔드 커리큘럼 심화: CDC Connector Lag와 Snapshot 복구 운영 플레이북
  6. Projection Lag와 Read Model Rebuild
  7. Reconciliation Ledger Pipeline

이런 상황이면 이 경로부터 보세요

  • DB 저장과 메시지 발행을 한 요청 안에서 처리하다가 유실/중복 복구 기준이 불명확한 경우
  • Kafka consumer lag는 보이지만 사용자 기능이 실제로 얼마나 늦는지 설명하기 어려운 경우
  • 초기 snapshot이나 backfill이 운영 DB, replica, sink worker를 흔드는 경우
  • CDC connector 재시작, offset reset, replication slot 삭제를 장애 중에 즉흥적으로 판단하고 있는 경우
  • 검색 인덱스나 read model은 맞지만 정산, 포인트, 권한 같은 부작용 시스템은 더 엄격한 재처리 기준이 필요한 경우

읽으면서 남길 운영 산출물

단순히 글을 읽고 끝내지 않으려면 아래 5가지를 문서나 런북에 숫자로 남기는 편이 좋습니다.

  • 이벤트 발행 경로별 event_id, aggregate key, ordering key, dedup 보존 기간
  • outbox backlog age, CDC source lag, connector lag, sink apply lag, business lag의 warning/critical 기준
  • snapshot chunk size, pause 조건, read replica 사용 여부, 재시작 checkpoint 기준
  • schema 변경 시 additive rollout, consumer fixture, breaking change 제거 시점
  • replay 가능 경로와 불가능 경로, full snapshot 대신 targeted backfill을 선택할 기준

이 경로의 목표는 CDC나 Kafka를 “쓸 줄 아는 것"이 아니라, 장애가 났을 때 어디까지 처리됐고, 무엇을 다시 돌려도 안전하며, 어떤 데이터는 사람 승인 없이 건드리면 안 되는지를 설명할 수 있게 만드는 것입니다.

사용자 접점 운영 경로: 알림을 보내기 전에 신뢰를 설계하기

알림은 기능 목록에서는 작게 보이지만, 실제 서비스에서는 사용자의 신뢰와 피로도를 동시에 건드립니다. 결제 실패, 보안 경고, 배송 변경처럼 놓치면 안 되는 알림도 있고, 추천·마케팅처럼 너무 많이 보내면 사용자가 채널 자체를 꺼버리는 알림도 있습니다. 그래서 알림 설계는 “메일 발송 코드"가 아니라 업무 이벤트, 사용자 선호, 큐 재시도, 중복 제거, 증거 로그를 함께 보는 운영 문제입니다.

아래 순서로 읽으면 업무 이벤트를 외부 효과로 바꾸는 경로를 안전하게 나눌 수 있습니다.

  1. Transactional Outbox + CDC, 이중 쓰기 없이 이벤트를 안전하게 내보내는 법
  2. Queue Visibility Timeout과 Ack/Nack
  3. Notification Preference와 Delivery Pipeline
  4. 멱등성 설계
  5. 구조화 로깅
  6. Webhook Delivery Reliability 플레이북

이런 상황이면 이 경로부터 보세요

  • 주문, 결제, 보안, 구독 변경 알림을 API 트랜잭션 안에서 바로 보내고 있는 경우
  • 큐 재시도 때문에 같은 메일·푸시·문자가 두 번 이상 가는 사고가 있었던 경우
  • 사용자가 수신 거부했는데 이미 쌓인 큐 작업을 어떻게 처리할지 기준이 없는 경우
  • provider dashboard에는 성공으로 보이지만 실제 bounce, invalid token, complaint가 suppression에 반영되지 않는 경우
  • “왜 이 알림이 갔는가"를 CS나 보안 담당자가 template, policy, source event 기준으로 추적하기 어려운 경우

읽으면서 남길 운영 산출물

  • 알림 유형표: security, transactional, operational, digest, marketing
  • 유형별 지연 SLO, 수신 거부 가능 여부, quiet hours 예외 기준
  • event_id, notification_id, dedup_key, delivery_attempt_id, provider_message_id의 의미와 보존 기간
  • preference snapshot과 발송 시점 최신 preference 재조회 중 어떤 방식을 쓸지에 대한 기준
  • delivery evidence schema: template key, policy version, source event, provider response, final status

이 경로의 목표는 알림을 더 많이 보내는 것이 아닙니다. 중요한 알림은 잃지 않고, 중요하지 않은 알림은 사용자의 집중과 신뢰를 해치지 않게 줄이는 것입니다. 알림은 한 번 보내면 되돌리기 어렵기 때문에, 중복 방지와 감사 증거를 코드보다 먼저 설계하는 편이 안전합니다.

외부 통합 운영 경로: Webhook을 보내고 받는 양쪽 설계

Webhook은 단순한 HTTP callback처럼 보이지만, 실제 운영에서는 외부 시스템과 내부 상태를 맞추는 계약입니다. 우리가 이벤트를 보내는 쪽이면 재시도, 서명, delivery log, 수신자 장애 대응이 중요하고, 받는 쪽이면 raw body 서명 검증, replay 방지, inbox 저장, 상태 전이, quarantine이 중요합니다. 한쪽만 설계하면 장애 때 “상대가 다시 보내겠지” 또는 “우리가 이미 처리했겠지” 같은 추측에 기대게 됩니다.

아래 순서로 읽으면 실시간 통신 선택 기준에서 webhook 발신/수신 안정성까지 이어집니다.

  1. 실시간 통신: WebSocket vs SSE vs Webhook
  2. Webhook Delivery Reliability 플레이북
  3. Inbound Webhook Receiver 플레이북
  4. 멱등성 설계
  5. Transactional Inbox와 멱등 Consumer
  6. Operational State Machine 설계

이런 상황이면 이 경로부터 보세요

  • 결제사, 인증 SaaS, 마켓플레이스, 파트너 API와 webhook으로 상태를 맞추고 있는 경우
  • 같은 이벤트가 중복 도착하거나, 늦게 도착한 이벤트가 현재 상태를 되돌리는 경우
  • 서명 검증은 있지만 raw body, timestamp 허용 오차, key rotation 기준이 문서화되어 있지 않은 경우
  • provider에게 2xx를 돌려주는 시점과 내부 비즈니스 처리가 완료되는 시점을 구분하지 못하는 경우
  • delivery success, accepted, processed, replayed, quarantined 지표가 한 대시보드에 섞여 있는 경우

읽으면서 남길 운영 산출물

  • provider별 endpoint, account mapping key, secret version, rotation window
  • event id, payload hash, replay window, dedup 보존 기간
  • 발신 측 delivery log와 수신 측 inbox schema
  • 상태 전이표: 정상 전이, stale event, manual review, quarantine 기준
  • 지표 분리: delivered, accepted, processed, replayed, rejected, quarantined

이 경로의 목표는 webhook을 “비동기 알림"으로만 보는 관점에서 벗어나, 외부 이벤트를 검증 가능한 ingestion pipeline으로 운영하는 것입니다. 특히 결제·권한·구독·정산처럼 되돌리기 어려운 도메인은 빠른 처리보다 위조 차단, 유실 방지, 중복 효과 방지, 상태 전이 정확성이 먼저입니다.

오늘 추천 학습 경로: 안전한 릴리스와 운영 검증

최근 백엔드 시스템은 기능을 “한 번에 배포하고 끝"내기보다, 작은 단위로 노출하고 관측한 뒤 점진적으로 확대하는 방향으로 움직입니다. 배포 자체보다 중요한 것은 새 경로가 실제 트래픽을 만났을 때 어떤 비용·지연·정합성 리스크를 만들지 미리 확인하는 것입니다. 그래서 오늘은 기능 플래그, 트래픽 전환, Shadow Traffic, Drain-aware 배포, 분산 트레이싱을 하나의 릴리스 검증 흐름으로 묶었습니다.

  1. Feature Flag: 배포와 릴리스를 분리하는 운영 패턴
  2. Feature Flag Lifecycle Cleanup: 오래된 플래그가 운영 부채가 되지 않게 하는 법
  3. Traffic Cutover & Migration: 트래픽 전환을 안전하게 설계하는 법
  4. 백엔드 커리큘럼 심화: Shadow Traffic과 Dark Launch 운영 플레이북
  5. Drain-aware Deployment: 연결을 끊지 않는 배포 전략
  6. 분산 트레이싱 도입 플레이북

이런 분에게 특히 추천

  • 새 기능을 배포할 때마다 “문제 생기면 바로 롤백” 말고 더 구체적인 사전 검증 절차가 필요한 경우
  • 카나리, blue/green, feature flag, shadow traffic의 차이가 머릿속에서 섞이는 경우
  • p95/p99 지연, 에러율, diff rate, queue lag처럼 릴리스 중단 기준을 숫자로 잡고 싶은 경우
  • 배포 중 커넥션 드레인, 캐시 워밍, downstream 부하, 추적 ID 전파가 자주 빠지는 경우

읽는 순서 팁

  • 릴리스 제어가 약하면 Feature Flag부터 읽고, 배포와 기능 노출을 분리하는 기준을 먼저 잡습니다.
  • 플래그가 오래 남는다면 Feature Flag Lifecycle Cleanup 글에서 owner, 만료일, cleanup trigger를 먼저 고정합니다.
  • 트래픽을 옮겨야 한다면 Traffic Cutover 글에서 전환 단위, rollback window, 성공 기준을 확인합니다.
  • 사용자 영향 없이 검증하고 싶다면 Shadow Traffic 글로 넘어가 복제 금지 요청, PII 마스킹, diff checker 기준을 정합니다.
  • 배포 중 연결 끊김이 문제라면 Drain-aware Deployment로 readiness, preStop, connection draining 순서를 점검합니다.
  • 원인 추적이 어렵다면 분산 트레이싱 글을 마지막에 붙여 trace/span/log correlation을 보강합니다.

실무 적용 체크리스트

아래 항목을 릴리스 리뷰 템플릿에 붙여두면 글을 읽고 끝나는 것을 줄일 수 있습니다.

  • 기능 플래그 이름, owner, 기본값, 만료 예정일이 정해져 있는가?
  • 새 경로로 보낼 트래픽 비율과 증가 간격이 문서화되어 있는가?
  • shadow 대상에서 결제·주문·포인트·알림처럼 부작용이 있는 요청을 차단했는가?
  • 신규/기존 응답 diff에서 정확히 일치해야 하는 필드와 허용 오차가 있는 필드를 나눴는가?
  • p95/p99, error rate, timeout, queue lag, downstream QPS의 중단 기준이 숫자로 적혀 있는가?
  • 배포 종료 전 readiness false, connection drain, background worker stop 순서가 검증되었는가?
  • 문제가 생겼을 때 flag off, traffic shift back, rollback deploy 중 무엇을 먼저 할지 정했는가?
  • 장애 분석을 위해 trace id, request id, feature flag variant, shadow run id가 로그에 남는가?

이 경로를 다 읽고 나면 특정 배포 기법 이름을 아는 수준을 넘어, 릴리스 전 검증 → 제한 노출 → 관측 → 중단/확대 판단 → 롤백까지 하나의 운영 루프로 설계할 수 있습니다. 블로그에 흩어진 심화 글도 이 흐름 안에서 다시 연결되므로, 최신 글을 읽은 뒤 관련 개념으로 자연스럽게 이동하기 좋아집니다.

성능·비용 보호 학습 경로: 요청 하나의 리소스 예산 잡기

장애는 항상 전체 트래픽이 폭증할 때만 오지 않습니다. QPS는 낮지만 DB aggregation, 외부 API fan-out, 큰 응답 payload, 재시도가 붙은 요청 하나가 pool을 오래 잡고 있으면 평범한 조회까지 같이 느려집니다. 그래서 성능 튜닝을 평균 latency 개선으로만 보면 부족하고, 요청 하나가 어떤 리소스를 얼마나 쓰는지를 먼저 드러내야 합니다.

아래 순서로 읽으면 capacity planning에서 시작해 admission control, API별 resource budget, tail latency, graceful degradation까지 한 흐름으로 이어집니다.

  1. Capacity Planning과 Little’s Law
  2. Admission Control과 Concurrency Limits
  3. API Resource Budgeting, 요청 하나의 CPU·DB·외부 호출 비용을 설계하는 법
  4. API 레이트 리밋과 백프레셔
  5. Tail Latency 엔지니어링 플레이북
  6. Graceful Degradation과 Brownout

이런 상황이면 이 경로부터 보세요

  • 트래픽은 많지 않은데 특정 리포트, 검색, export API가 DB pool wait을 키우는 경우
  • rate limit은 있지만 가벼운 요청과 무거운 요청을 같은 1건으로 취급하는 경우
  • tenant 한 곳의 batch나 관리자 조회가 interactive API의 p95/p99를 흔드는 경우
  • timeout, retry, pagination, cache fallback 기준이 API마다 제각각인 경우
  • 429와 503을 섞어 쓰고 있어 클라이언트 재시도 정책이 서버 부하를 더 키우는 경우

읽으면서 남길 운영 산출물

  • 핵심 API 10개의 p95 latency, DB query count, external call count, response size, retry count
  • endpoint별 request cost unit과 interactive/admin/batch request class 구분
  • tenant budget, system-wide admission control, degraded path의 적용 순서
  • budget 초과 시 429, 시스템 포화 시 503, 큰 payload 제한 시 413/422를 나누는 응답 기준
  • budget decision 로그 필드: endpoint, request class, tenant hash, budget units, used units, decision

이 경로의 목표는 서버를 무조건 아끼는 것이 아닙니다. 사용자가 바로 기다리는 요청, 데이터 정합성이 중요한 요청, 나중에 처리해도 되는 batch를 구분해서 바쁠 때 무엇을 먼저 살릴지 결정하는 기준을 만드는 것입니다. 평균 지표가 멀쩡한데 p99와 비용만 계속 튀는 서비스라면 이 경로가 특히 잘 맞습니다.

기존 설계 학습 경로: DDD와 헥사고날 아키텍처

구조 설계 주제가 필요하다면 아래 경로를 이어서 보면 좋습니다. 운영 안정화가 “릴리스 후 시스템을 지키는 기술"이라면, DDD와 헥사고날 아키텍처는 “변경이 잦아도 도메인 규칙을 잃지 않는 구조"에 가깝습니다.

  1. DDD 전술적 설계: Entity, VO, 그리고 Aggregate
  2. 육각형 아키텍처 (Hexagonal): 도메인을 프레임워크로부터 격리하라
  3. DDD 심화: Aggregate Root와 트랜잭션 경계

개념이 약하면 DDD 전술적 설계부터 시작하고, 현재 구조 개선이 급하면 육각형 아키텍처를 먼저 읽은 뒤, 운영 관점의 경계 설정이 궁금하면 Aggregate Root와 트랜잭션 경계까지 이어서 보세요. 이 경로를 다 읽고 나면 단순히 패턴 이름을 아는 수준이 아니라, 도메인 규칙을 어디에 두고 어떤 경계로 보호할지를 더 분명하게 판단할 수 있습니다.

장애 대응 학습 경로: 감지에서 종료까지

운영 글을 읽을 때는 “문제가 생기면 알람이 울린다"에서 멈추지 말고, 누가 지휘하고, 어떤 숫자로 심각도를 정하고, 언제 닫을지까지 이어서 봐야 합니다. 아래 경로는 알람 감지부터 인시던트 커맨드, 데이터 보정, 회고 액션까지 하나의 흐름으로 묶습니다.

  1. 알람 전략: 에러율/레이턴시/자원지표 설계
  2. SLO/SLI/Error Budget
  3. 인시던트 커맨드와 Severity 운영 플레이북
  4. Reconciliation Ledger Pipeline
  5. Poison Message Quarantine

처음에는 알람과 SLO로 “언제 깨울지"를 잡고, 그다음 인시던트 커맨드 글에서 IC/Tech Lead/Comms Owner 역할과 15분 업데이트 리듬을 정리하세요. 결제, 포인트, 권한, 메시지 발송처럼 부작용이 남는 시스템이라면 마지막 두 글까지 이어서 읽어야 합니다. API가 다시 200을 반환해도 데이터 보정과 재처리 기준이 없으면 장애는 실제로 끝난 것이 아닙니다.

📂 학습 주제

최근 학습 노트

Operations

백엔드 커리큘럼 심화: Drain-aware 배포 플레이북

무중단 배포에서 SIGTERM 처리만으로 부족한 이유를 짚고, 로드밸런서·readiness·커넥션 풀·큐 컨슈머를 함께 drain하는 실무 기준을 정리합니다.

Deployment Connection Draining Graceful Shutdown +2
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
DevOps

CI/CD with GitHub Actions: 배포 자동화의 시작

GitHub Actions의 Workflow 구조부터 Matrix 전략, 보안 하드닝, Docker 빌드, 배포 파이프라인, 비용 최적화까지 — 운영 수준의 CI/CD 설계

CI/CD GitHub Actions Automation +5
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
Ops

클라우드 비용 최적화 전략

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

Cost Optimization Autoscaling FinOps +3
Security

웹 보안 기본: CORS/CSRF와 헤더 보안

SOP/CORS 동작 원리, CSRF 공격 시나리오와 4가지 방어 전략, 보안 헤더(HSTS/CSP/Permissions-Policy) 실전 적용 가이드

CORS CSRF Security Headers +4
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
Security

비밀 관리: Vault/Secrets Manager와 Spring 연동

애플리케이션 비밀을 분리·주입·회전하는 설계 — Vault/AWS SM 비교, Spring 연동 코드, 회전 자동화, 유출 대응, 운영 체크리스트까지

Secrets Vault AWS Secrets Manager +4
Ops

배포 런북: 안전한 배포와 롤백

배포 전/중/후 판단 기준과 실전 명령어, K8s 매니페스트, ArgoCD Rollout, DB 마이그레이션 SQL까지 — 바로 복사해서 쓰는 런북

Deployment Rollback Runbook +4
Architecture

모놀리스를 모듈러/서비스로 나누기

모놀리스 코드베이스를 단계적으로 모듈러/서비스로 분리하는 전략 — 판별 기준, 실무 코드, 데이터 분리, Strangler 구현, 운영 체크리스트까지

Monolith Modularization Service Split +3
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 보안: 공급망 공격 막기

SLSA 프레임워크부터 SBOM 생성, Sigstore/Cosign 이미지 서명, OIDC 인증, GitHub Actions 하드닝, 취약점 스캔 파이프라인까지 — 공급망 보안 완 …

CI/CD Supply Chain SBOM +4
Architecture

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

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

Rate Limit Backpressure API Gateway +2
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
Database

Elasticsearch (Part 1: 개념과 구조)

Elasticsearch의 역인덱스 구조, 분석기 파이프라인(Nori 한국어 포함), 매핑 설계, 쿼리 유형별 실전 코드, BM25 스코어링, 집계, 클러스터 운영 가이드

Elasticsearch Search Full-text Search +3
React

React Hooks 기초

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

React Hooks Frontend
Database

MySQL 인덱스 기초 예제

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

MySQL Index Explain +1