Recently Updated · Blog
All posts →- Payment Platform Project 서로 다른 주문의 UPDATE가 충돌한 이유 — MySQL Index Merge 데드락 Oct 5, 2026 → 결제를 1분 넘게 지연시킨 Index Merge 데드락을 실행 계획과 잠금 덤프로 추적하고, 복합 인덱스 교체의 원리와 측정 결과를 분석한다.
- Payment Platform Project 결제 복구 상태 분리 — 부하 구간에서 안전장치가 만든 처리 정지 해소 Sep 6, 2026 → 성능 측정 중 드러난 처리 정지를 다룬다. 멈춘 결제를 되살리려 넣은 복구 배치가 부하 구간에서 확정 처리를 세우는 과정과, 되돌아간 결제가 놓이는 자리를 분리해 그 고리를 끊은 방법을 정리한다.
- Payment Platform Project 재고 선차감 캐시 분해 — Redis 샤딩을 전제로 원자성 경계 조정 Sep 5, 2026 → 주문 단위로 실행하던 재고 차감 스크립트를 상품 단위로 분리한 과정을 정리한다. 분산 환경에서 발생하는 원자성 상실과 동시성 문제를 애플리케이션 레벨에서 어떻게 보완했는지 다룬다.
- Payment Platform Project 결제 시스템 MSA 전환기 — 분산 환경의 제약조건과 아키텍처 의사결정 Aug 9, 2026 → 단일 JVM·단일 DB를 전제로 만든 비동기 결제 플랫폼을 4개 마이크로서비스로 분리하면서, DB 분리·서비스별 멱등성·재시도 방식·공통 모듈 배제를 어떤 근거로 결정했는지 다룬다.
- AI-Assisted Development AI 코드 생성의 통제 — 서브에이전트 기반 4단계 워크플로우 Jul 18, 2026 → AI가 임의로 작업 범위를 확장하지 않도록 검토와 구현만 서브에이전트로 격리하는 4단계 워크플로우. 6단계 9페르소나 체계에서 격리 범위를 줄인 개편 과정과, 운영하며 보강해 온 루프 가드까지 정리한다.
- Java System.out.println()의 동작 원리와 로깅 프레임워크 Jun 2, 2026 → System.out.println()이 느린 이유(autoFlush·전역 synchronized·블로킹 IO)를 PrintStream 내부 구현으로 분석하고, FileAppender·AsyncAppender의 버퍼링·비동기·락 차이를 실측으로 비교한다.
Recently Updated · Docs
All docs →- Large-Scale System OLTP (Online Transaction Processing) vs OLAP (Online Analytical Processing) Oct 30, 2026 → 주문 조회와 매출 집계의 접근 패턴을 비교하고, 운영 DB·읽기 레플리카·분석 저장소를 선택하는 기준을 정리한다.
- Large-Scale System Replication Lag and Read Consistency Oct 30, 2026 → 비동기 복제에서 자신의 쓰기가 보이지 않거나 읽기 상태가 후퇴하는 원인과, 자신의 쓰기 읽기·단조 읽기의 보장 방법을 정리한다.
- Secure Sensitive Data and Error Handling Oct 29, 2026 → 암호 알고리즘 선정, 키 길이, 솔트 해시, 중요정보 하드코딩 방지, 예외 처리 및 방어적 복사 기법을 정리한다.
- Secure Authentication and Access Control Oct 25, 2026 → 인증과 인가, 비밀번호 정책, 무차별 대입 방어, 쿠키 및 세션 관리 등 접근 통제 계층의 보안 취약점과 대응 방안을 설명한다.
- Secure Input Validation and Injection Oct 25, 2026 → SQL Injection, XSS, CSRF, SSRF, XXE, 역직렬화 등 외부 입력값 검증 부재로 인한 취약점의 공격 원리와 방어 기법을 정리한다.
- MySQL Index Merge Oct 7, 2026 → MySQL Index Merge의 병합 원리와 적용 조건을 설명하고, UNIQUE 인덱스가 있어도 병합을 선택하는 비용 추정과 잠금 영향을 분석한다.
- Kafka Topic & Partition Internals Sep 22, 2026 → Kafka 파티션의 로그 세그먼트 파일 구조와 순차 I/O·페이지 캐시·제로 카피를 활용한 고성능 원리, 로그 보존·압축 정책, 멱등 프로듀서 상태 추적 메커니즘을 분석한다.
- Large-Scale System Relational vs NoSQL Database Sep 14, 2026 → 분산 시스템 환경에서 RDBMS와 다양한 NoSQL 데이터베이스를 선택하기 위한 아키텍처 의사결정 기준과 트레이드오프를 딥다이브한다.
- Kafka Introduction Sep 13, 2026 → 분산 시스템에서 로그가 일관성의 핵심인 이유, 상태 기계 복제와 합의 알고리즘의 본질, 로그와 테이블의 이중성, 중앙 로그 허브를 통한 데이터 통합, 카프카의 설계 철학과 아키텍처 원칙을 설명한다.
- Kafka ZooKeeper & KRaft Sep 13, 2026 → Kafka의 메타데이터 관리를 담당하던 ZooKeeper의 역할과 한계를 설명하고 이를 대체하는 KRaft의 Raft 합의 기반 동작 방식과 성능 향상을 비교한다.
- Redis Basic Sep 5, 2026 → In-Memory 데이터 저장소인 Redis의 싱글 스레드 아키텍처, 다양한 자료구조 지원, Replication과 Sentinel·Cluster를 통한 고가용성 기능 등 핵심 특징을 정리한다.
- Redis Data Structure Sep 5, 2026 → Redis가 지원하는 String, List, Hash, Set, Sorted Set, Bitmaps, HyperLogLog, Geospatial, Stream 자료구조의 내부 동작 방식과 주요 명령어를 정리한다.
- Redis Key Management Sep 5, 2026 → Redis 키의 이름 규칙, 자동 생성 및 소멸 동작, 주요 키 관리 명령어를 정리하고 KEYS와 SCAN의 성능 차이를 비교한다.
- Node.js Execution Context & Closure Sep 4, 2026 → 실행 컨텍스트와 스코프 체인의 원리를 이해하고, 클로저가 장기 실행 프로세스에서 유발하는 가비지 컬렉터 방해 현상을 분석한다.
- Node.js this Binding Sep 4, 2026 → JavaScript의 호출 시점에 결정되는 동적 this 바인딩 메커니즘과 화살표 함수의 렉시컬 스코프 특성을 정리한다.
- Node.js Asynchronous Programming Sep 2, 2026 → Callback부터 Async/Await까지의 비동기 제어 흐름 진화와 Task Queue, Microtask Queue 간의 스케줄링 우선순위를 다룬다.
- Node.js Event Loop Sep 1, 2026 → 싱글 스레드의 한계를 극복하고 수많은 동시 요청을 처리하는 이벤트 루프의 동작 원리와 블로킹 방지 전략.
- Network Transport Layer - TCP/IP Layer 3 Sep 1, 2026 → TCP의 3-Way/4-Way Handshake, 흐름 제어, 혼잡 제어, ARQ 오류 제어 메커니즘과 UDP와의 차이를 분석한다.
- Node.js Thread Model Aug 28, 2026 → 이벤트 기반 논블로킹 아키텍처와 Thread-per-request 방식의 구조적 차이를 비교하고 워크로드별 적합성을 분석한다.
- Node.js V8 Memory Management Aug 27, 2026 → V8 엔진의 힙 구조와 Scavenger, Mark-Sweep 가비지 컬렉션 알고리즘을 분석하고 싱글 스레드 환경에서의 GC 최적화를 다룬다.
- Spring JPA (Java Persistence API) Aug 27, 2026 → JPA의 객체 중심 개발 이점과 EntityManagerFactory·EntityManager를 통한 엔티티 관리 방식, Spring Boot에서의 JPA 자동 구성을 정리한다.
- Large-Scale System Transactional Outbox Pattern Aug 26, 2026 → 마이크로서비스 환경에서 DB 상태 변경과 메시지 발행의 원자성을 보장하기 위한 Transactional Outbox 패턴을 설명한다.
- Spring Persistence Context Aug 26, 2026 → JPA 영속성 컨텍스트의 엔티티 생명주기와 1차 캐시, 변경 감지(Dirty Checking), 쓰기 지연 저장소의 동작 원리를 분석한다.
- MySQL Sub Query Aug 24, 2026 → MySQL 8.0 옵티마이저의 서브쿼리 최적화 방식과 스칼라·IN·EXISTS 서브쿼리의 JOIN 변환 전략을 분석한다.
- Computer Architecture Memory Aug 23, 2026 → 메모리 계층 구조와 논리/물리 주소 변환, MMU의 역할, 캐시 지역성 원리를 분석한다.
- Network Connection Aug 23, 2026 → HTTP 커넥션 관리 모델인 단기·지속·파이프라인 커넥션의 동작 방식과 성능 지연 원인을 비교 분석한다.
- Java CompletableFuture Aug 19, 2026 → 기존 Future의 한계를 극복하는 CompletableFuture의 논블로킹 콜백 구조와 주요 체이닝 기법 및 예외 처리 방식을 정리한다.
- Java Class Loader Aug 18, 2026 → 클래스로더의 위임 모델 메커니즘과 동작 원리, ClassNotFoundException 및 NoClassDefFoundError의 차이점과 트러블슈팅 방법을 정리한다.
- Java Collections Aug 17, 2026 → Java 컬렉션 프레임워크의 List·Set·Queue 계층 구조와 ArrayList·LinkedList·HashSet 등 주요 구현체의 특징을 비교한다.
- Java JVM Troubleshooting Aug 17, 2026 → 프로덕션 환경에서의 OOM 트러블슈팅, 힙 덤프 및 스레드 덤프 분석 기법, 데드락 추적 및 JVM 병목 진단 방법을 정리한다.
- Java Thread Aug 17, 2026 → Java 스레드의 생명주기와 상태 전이, ExecutorService 기반 스레드 풀 관리, Callable·Future를 통한 비동기 결과 수집을 정리한다.
- Operating System IO Models (Blocking/Non-blocking, Sync/Async) Aug 15, 2026 → 애플리케이션과 커널 간의 I/O 처리 방식인 Blocking/Non-blocking과 Sync/Async의 개념, 작업 단계별 차이점 및 내부 메커니즘을 깊이 있게 비교한다.
- Network Load Balancing Aug 14, 2026 → 로드밸런서의 개념과 L4/L7 구분, 역할(부하 분산·고가용성·확장성), 정적·동적 분산 알고리즘과 P2C·안정 해싱, 클라이언트 사이드 로드밸런싱까지 정리한다.
- AI AI Coding Agent Ecosystem & Open-Source Tools Aug 10, 2026 → AI 코딩 에이전트의 성능을 극대화하고 개발 워크플로우를 체계적으로 개선하기 위한 주요 오픈소스 프로젝트 8가지를 분석한다.
- Java Garbage Collection Aug 9, 2026 → JVM 가비지 컬렉션의 세대별 이동 단계와 Full GC 예방 전략, java.lang.ref 패키지를 활용한 객체 참조 제어 기법을 정리한다.
- Java Map Aug 9, 2026 → Java Map 인터페이스의 키-값 저장 구조와 HashMap·LinkedHashMap·TreeMap의 내부 구현 방식과 성능 특성을 비교한다.
- Network HTTPS (HyperText Transfer Protocol Secure) Aug 9, 2026 → HTTPS의 TLS 핸드셰이크 동작 원리, 대칭키·비대칭키 혼용 방식, CA 인증서 검증 절차를 분석한다.
- MySQL Isolation Level Aug 9, 2026 → 트랜잭션 격리 수준 4단계의 더티 리드·반복 불가능한 읽기·팬텀 리드 발생 조건과 MySQL MVCC 기반 동작 방식을 분석한다.
- Operating System Synchronization Aug 9, 2026 → 프로세스 동기화의 핵심 개념인 임계 구역과 경쟁 상태 문제를 설명하고 뮤텍스 락과 세마포의 동작 방식 및 차이점을 비교한다.
- Spring AOP (Aspect-Oriented Programming) Aug 9, 2026 → AOP의 핵심 용어와 JDK 동적 프록시·CGLIB의 차이점, @Aspect 어드바이스 종류, 자기 호출 문제의 원인과 해결 방법을 분석한다.
- Spring Dependency Injection Aug 9, 2026 → 스프링의 의존성 주입 매칭 우선순위와 컬렉션 주입 활용법, 생성자 주입의 순환 참조 조기 검출 및 불변성 보장 원리를 분석한다.
- Spring Filter & Interceptor Aug 9, 2026 → 서블릿 Filter와 Spring Interceptor의 동작 범위·실행 시점을 비교하고 preHandle·postHandle·afterCompletion의 활용 패턴을 정리한다.
- MySQL Partitioning Aug 8, 2026 → MySQL 파티셔닝의 동작 원리와 Range·Hash 파티셔닝의 트레이드오프, 그리고 샤딩과의 차이점을 면접 및 실무 관점에서 분석한다.
- MySQL B-Tree Index Aug 7, 2026 → B-Tree(B+ Tree) 인덱스의 리프 노드 구조와 인덱스 스캔 방식, 자료형이 트리에 미치는 영향을 분석한다.
- Java Virtual Thread Aug 6, 2026 → Java 21의 가상 스레드 경량 모델의 JVM 스케줄러 기반 동작 방식과 플랫폼 스레드와의 차이, 구조적 동시성을 설명한다.
- Spring Spring Boot Auto-Configuration, Instrumentation and Sampling Jul 1, 2026 → 스프링 부트가 의존성 추가만으로 Tracer·SpanExporter 빈을 자동 구성하고 ServerHttpObservationFilter·WebClient·DataSource·Kafka에 자동 계측 hook을 거는 방식, management.tracing 프로퍼티, @Observed 커스텀 Span, Head·Tail 샘플링과 ParentBased Sampler까지 발신 측 의사결정을 다룬다.
- Spring Distributed Tracing in Spring: Propagation and Stack Jun 29, 2026 → 서비스 경계를 넘는 추적 컨텍스트 전파를 위한 W3C Trace Context와 B3 헤더 규격, HTTP·gRPC·Kafka에서 inject·extract가 일어나는 지점, Micrometer Observation API와 Tracer Bridge(Brave·OpenTelemetry) 선택 기준, OpenTelemetry SDK 컴포넌트의 역할을 다룬다.
- Secure Digital Cryptography Basic Jun 19, 2026 → 대칭키·공개키 암호법과 RSA의 암호화·복호화 동작 원리, 하이브리드 암호화(TLS), 디지털 서명과 X.509 인증서까지 디지털 암호학의 기본 개념을 설명한다.