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