Recently Updated · Blog
All posts →- Java System.out.println()의 동작 원리와 로깅 프레임워크 Jun 2, 2026 → System.out.println()이 느린 이유(autoFlush·전역 synchronized·블로킹 IO)를 PrintStream 내부 구현으로 분석하고, FileAppender·AsyncAppender의 버퍼링·비동기·락 차이를 실측으로 비교한다.
- Payment Platform Project 전략 패턴을 통한 결제 게이트웨이 추상화 및 확장성 확보 Apr 14, 2026 → 특정 PG에 강결합된 구조를 전략 패턴과 포트-어댑터 패턴으로 분리하고, PG마다 다른 멱등성 처리를 구현체 내부에서 캡슐화하여 Application 레이어에는 동일한 결과만 노출하는 멀티 PG 아키텍처를 설계한다.
- AI-Assisted Development AI 코드 생성의 통제 — 서브에이전트 기반 6단계 워크플로우 Apr 13, 2026 → AI가 임의로 작업 범위를 확장하지 않도록, 전문 페르소나를 가진 서브에이전트를 격리 실행하는 상태 기반 6단계 워크플로우의 구조와 적용 사례를 소개한다.
- Payment Platform Project 비동기 결제 처리 플로우 구현 — Outbox 패턴부터 LinkedBlockingQueue Worker까지 Apr 11, 2026 → 토스 페이먼츠 결제 확인 API의 동기 호출이 유발하는 스레드 고갈 문제를 Outbox 패턴으로 해소하고, @Async 기반 구현의 숨겨진 블로킹 함정을 LinkedBlockingQueue + Worker 가상 스레드 아키텍처로 근본 해결하는 과정을 다룬다.
- Payment Platform Project 결제 복구 상태 모델 설계 — 장애 내성을 갖춘 상태 전이 Apr 11, 2026 → 비동기 결제 전환 후 상태 모델의 구조적 한계를 분석하고, RETRYING·RetryPolicy·RecoveryDecision·격리 전 최종 확인·QUARANTINED 도입으로 장애 내성을 갖춘 상태 전이 체계를 설계한 과정을 다룬다.
- Payment Platform Project Checkout API 멱등성 보장 — Caffeine 캐시와 TOCTOU 경쟁 조건 해결 Mar 25, 2026 → Caffeine 캐시로 결제 중복 생성을 방지하고, getOrCreate 패턴으로 TOCTOU 경쟁 조건을 해결한 과정을 공유한다.
Recently Updated · Docs
All docs →- 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 인증서까지 디지털 암호학의 기본 개념을 설명한다.
- Java Stack, Queue, Deque Jun 15, 2026 → 스택·큐·덱의 입출력 원칙과 활용을 비교하고, Java에서 레거시 Stack 대신 ArrayDeque를 권장하는 이유를 구현 원리로 설명한다.
- Network CORS (Cross-Origin Resource Sharing) Jun 10, 2026 → 동일 출처 정책(SOP)이 막는 위협과 CORS가 이를 안전하게 완화하는 원리를, 단순 요청·Preflight·인증 정보 요청 시나리오와 와일드카드 금지 이유까지 정리한다.
- Large-Scale System Deployment Strategies Jun 9, 2026 → Recreate, Rolling, Blue-Green, Canary 등 무중단 배포 전략의 동작 방식과 트레이드오프를 비교하고, 배포와 릴리스의 분리 및 스키마 호환 마이그레이션까지 다룬다.
- Large-Scale System Monolithic & Microservices Architecture Jun 9, 2026 → 모놀리식과 마이크로서비스(MSA) 아키텍처의 구조적 차이와 각각의 장단점을 비교하고, 전환 시 고려사항을 다룬다.
- Large-Scale System Inter-Service Communication Protocols Jun 9, 2026 → REST, gRPC, Message Queue 등 서비스 간 통신 프로토콜의 전송 방식과 직렬화 메커니즘을 비교하고, 각 방식의 선택 기준을 정리한다.
- Large-Scale System Timeout & Retry Jun 9, 2026 → 분산 환경에서 개별 호출의 실패에 대응하는 타임아웃과 재시도 전략을 다루고, 지수 백오프·지터·재시도 예산으로 재시도 폭풍을 제어하는 방법을 설명한다.
- Network Load Balancing Jun 5, 2026 → 로드밸런서의 개념과 L4/L7 구분, 역할(부하 분산·고가용성·확장성), 정적·동적 분산 알고리즘과 P2C·안정 해싱, 클라이언트 사이드 로드밸런싱까지 정리한다.
- Java Virtual Thread Jun 4, 2026 → Java 21의 가상 스레드 경량 모델의 JVM 스케줄러 기반 동작 방식과 플랫폼 스레드와의 차이, 구조적 동시성을 설명한다.
- Operating System Kernel May 28, 2026 → 운영체제의 핵심인 커널의 역할과 이중 모드 동작 원리를 설명하고 시스템 호출·시그널 처리 흐름을 분석한다.
- Operating System Virtual Memory May 28, 2026 → 가상 메모리의 페이징 기법과 페이지 테이블을 통한 주소 변환, 요구 페이징·페이지 폴트 처리와 그 다양한 활용까지 분석한다.
- Java JVM JIT Compiler May 26, 2026 → HotSpot JIT의 Mixed Mode와 Hot Method Detection, C1/C2 계층 컴파일, Code Cache, Deoptimization, 주요 최적화 기법, Warm-up 전략을 정리한다.
- Operating System Introduction May 23, 2026 → 운영체제의 본질적 역할인 자원 관리와 인터페이스 제공자로서의 기능을 분석하고 시스템 계층 구조를 정리한다.
- Spring Spring Logging Stack with MDC and Structured Logging May 20, 2026 → Spring Boot의 SLF4J + Logback 로깅 스택과 ThreadLocal 기반 MDC, TaskDecorator·Reactor Context·가상 스레드 환경에서의 컨텍스트 전파, LogstashEncoder JSON 인코딩과 OpenTelemetry semantic convention에 맞춘 키 표준화까지 운영 수준 로깅 구성을 정리한다.
- Spring Observability Foundations: Signals and End-to-End Pipeline May 19, 2026 → 관측성을 구성하는 Logs·Metrics·Traces 세 신호의 정의와 상호보완 관계, OpenTelemetry가 정의하는 시그널 데이터 모델, Trace·Span·Context·Baggage 구조, 그리고 신호 한 줄이 애플리케이션에서 시각화 도구까지 도달하는 End-to-End 파이프라인을 다룬다.
- Spring Spring Cloud Config Server May 18, 2026 → Git 저장소 기반의 중앙 집중식 설정 서버와 @RefreshScope의 CGLIB 프록시 메커니즘, Spring Cloud Bus를 활용한 팬아웃 브로드캐스팅으로 설정 변경을 무중단 전파하는 동적 리프레시 아키텍처를 분석한다.
- Spring Spring Cloud Resilience (Resilience4j) May 18, 2026 → Resilience4j의 데코레이터 기반 결함 내성 설계와 비트셋 슬라이딩 윈도우 기반 서킷 브레이커 내부 구현, Bulkhead·RateLimiter·Retry 등 고급 장애 격리 패턴의 동작 원리를 분석한다.
- Spring Beans May 17, 2026 → 스프링 빈의 BeanDefinition 메타데이터와 생명주기 관리 원리, @Configuration의 CGLIB 프록시 싱글톤 보장, 싱글톤과 프로토타입 간 스코프 불일치 문제 및 해결 방안을 분석한다.
- Java Annotation May 16, 2026 → Java 어노테이션의 동작 원리와 @Retention 정책별 생명주기, 런타임 리플렉션 및 컴파일 타임 어노테이션 프로세서 처리 방식, Lombok의 AST 조작 메커니즘과 @Data 사용 시 주의점을 분석한다.
- Spring Dependency Injection May 15, 2026 → 스프링의 의존성 주입 매칭 우선순위와 컬렉션 주입 활용법, 생성자 주입의 순환 참조 조기 검출 및 불변성 보장 원리를 분석한다.
- Spring Introduce May 15, 2026 → EJB의 복잡성을 극복하기 위해 등장한 스프링의 탄생 배경과 스프링 부트의 실행 환경 혁신, DI·IoC·AOP 핵심 개념을 정리한다.
- Gradle Testing and Coverage May 14, 2026 → JUnit 5 연동과 maxParallelForks 기반 병렬 테스트, JaCoCo 커버리지 검증을 빌드 파이프라인에 통합하여 빠르고 신뢰성 있는 품질 게이트를 구성하는 방법을 분석한다.
- Gradle Incremental Build and Cache May 12, 2026 → 변경된 코드만 다시 빌드하는 증분 빌드의 원리와 빌드 캐시 활성화 기법으로 로컬 개발 속도를 극대화하는 방법을 분석한다.
- Gradle Convention Plugins May 10, 2026 → 공통 빌드 로직을 플러그인으로 추출하여 복잡한 멀티 모듈 설정을 간결하고 직관적으로 관리하는 방법을 분석한다.
- Performance Engineering k6 Executors and Metrics May 6, 2026 → k6의 7가지 익스큐터로 부하 모델을 구현하고, 빌트인과 커스텀 메트릭으로 처리량과 사용자 경험을 분리 측정하는 방법을 분석한다.
- Kafka Offset Commit Internals May 5, 2026 → Kafka 컨슈머의 자동·수동 커밋 본질적 차이, 처리 유실·중복 시나리오, Spring Kafka AckMode 활용법을 분석한다.
- Kafka Message Delivery Semantics May 4, 2026 → Kafka의 전송 보장 수준별 내부 동작 원리와 멱등적 프로듀서, 트랜잭션 처리 및 메시지 순서 보장 메커니즘을 정리한다.
- Kafka Producer Internals May 4, 2026 → Kafka 프로듀서의 비동기 전송 구조, Sticky Partitioner 전략, 배치 처리 및 멱등성 보장 메커니즘을 분석한다.
- Kafka Topic & Partition Internals May 4, 2026 → Kafka 파티션의 로그 세그먼트 파일 구조와 순차 I/O·페이지 캐시·제로 카피를 활용한 고성능 원리, 로그 보존·압축 정책, 멱등 프로듀서 상태 추적 메커니즘을 분석한다.
- MySQL Clustering Index May 3, 2026 → InnoDB 클러스터형 인덱스의 PK 기반 물리적 정렬 방식과 비클러스터형 보조 인덱스와의 조회 경로 차이를 분석한다.
- Java Garbage Collection May 3, 2026 → JVM 가비지 컬렉션의 세대별 이동 단계와 Full GC 예방 전략, java.lang.ref 패키지를 활용한 객체 참조 제어 기법을 정리한다.
- Operating System Process May 3, 2026 → 프로세스의 메모리 영역 구조와 문맥 교환 원리, PCB의 역할, 프로세스 상태 변화, fork/exec 시스템 호출과 Copy-On-Write 메커니즘을 정리한다.
- Performance Engineering Bottleneck Identification May 3, 2026 → 부하 테스트 분석을 통해 시스템의 한계를 파악하고 DB 커넥션 풀 고갈, 락 경합, 가상 스레드 피닝 등 핵심 병목 지점을 진단하는 방법론을 다룬다.
- Redis Memory Management May 3, 2026 → Redis 메모리 사용량의 구성과 BigKey·HotKey 대응, 메모리 단편화 해소, 출력 버퍼와 영속성 작업의 메모리 위험까지 운영 관점에서 정리한다.
- Redis Lua Script May 1, 2026 → Redis가 Lua Script를 단일 스레드에서 원자적으로 실행하는 동작 원리와 EVAL/EVALSHA, KEYS/ARGV 인자 분리 규칙, 분산 락·Rate Limiter 같은 활용 패턴을 정리한다.
- Performance Engineering Capacity Planning Apr 30, 2026 → 운영 트래픽 데이터가 없을 때 사용자 행동·API 처리 시간·풀과 스레드 한계를 역산하여 시스템의 수용 인원을 산정하는 4단계 방법론을 다룬다.
- Performance Engineering Performance Physics Apr 30, 2026 → 리틀의 법칙(Little's Law)과 대기 행렬 이론을 통해 시스템 부하와 응답 시간 사이의 물리적 관계를 분석하고 성능 임계치(Knee Point)의 의미를 이해한다.
- Performance Engineering User Journey Design Apr 30, 2026 → 비즈니스 임팩트 중심의 시나리오 구성과 정교한 Think Time 설계를 통해 실제 사용자와 유사한 부하 생성 로직을 구축하는 방법을 다룬다.
- Performance Engineering Scripting and Thresholds Apr 30, 2026 → k6의 체크와 임계치를 활용하여 SLA를 정의하고 모듈화된 성능 테스트 코드를 작성하는 방법을 분석한다.
- Performance Engineering Workload Modeling Apr 30, 2026 → 로그 분석을 통한 트래픽 산정 방법과 Open vs Closed System 모델의 차이를 이해하고, 실제 서비스와 유사한 부하 모델을 설계하는 방법을 학습한다.
- Java JVM (Java Virtual Machine) Execution and Optimization Apr 29, 2026 → JVM 위에서 다양한 언어가 실행되는 생태계, JIT vs AOT 비교, GraalVM Native Image AOT 컴파일과 친화 프레임워크의 트레이드오프, 실행 전략 선택 가이드를 정리한다.
- Java JVM Runtime Model Apr 29, 2026 → JVM이 호스트 OS 위에서 단일 프로세스로 동작하는 방식, 자바·OS 스레드 매핑, JNI 네이티브 프레임, VM 추상화의 트레이드오프를 정리한다.
- Java Java Virtual Machine Apr 29, 2026 → JVM의 주요 특징과 Java 실행 흐름, 클래스 로더 동작, JDK/JRE/JVM 차이, Method Area·Heap·Stack 메모리 구조와 튜닝 옵션을 정리한다.
- MySQL Architecture Apr 26, 2026 → MySQL 서버의 MySQL 엔진과 스토리지 엔진 구조를 설명하고 InnoDB의 버퍼 풀·언두 로그·체인지 버퍼 역할을 분석한다.
- MySQL B-Tree Index Apr 26, 2026 → B-Tree 인덱스의 루트·브랜치·리프 노드 구조와 인덱스 스캔 방식, 데이터 읽기 원리를 분석한다.
- MySQL Isolation Level Apr 26, 2026 → 트랜잭션 격리 수준 4단계의 더티 리드·반복 불가능한 읽기·팬텀 리드 발생 조건과 MySQL MVCC 기반 동작 방식을 분석한다.