글
지금까지 작성한 글들을 모아봤습니다.
-
equals/hashCode 재정의가 만든 장애: 중복 결제 사고의 기록
Updated:equals()만 재정의하고 hashCode()를 빠뜨려 중복 결제 장애를 겪은 경험. Kafka TopicPartition 분석과 함께 HashMap 내부 동작부터 코드 리뷰 체크리스트까지.
-
Kotlin Coroutines 딥다이브: 내부 구조부터 프로덕션 패턴까지
suspend 키워드 뒤에 숨겨진 State Machine의 동작 원리를 파헤치고, RxJava, CompletableFuture, Project Loom과의 트레이드오프를 비교합니다. 실제 프로덕션에서 마주치는 에러 핸들링, 테스트, 디버깅 패턴까지 다룹니다.
-
B+tree 인덱스와 Page Split: UUID가 당신의 INSERT를 죽이고 있다
왜 복합 인덱스의 컬럼 순서가 중요할까? UUID PK가 왜 INSERT 성능을 망칠까? InnoDB B+tree의 Page Split 메커니즘과 Big-O 시간복잡도를 파고들어, '감'이 아닌 '원리'로 인덱스를 설계합니다. Instagram, Shopify, 카카오, 배민의 실제 사례도 함께 다룹니다.
-
배달 플랫폼 스크래핑 대장정 Part 1: API에서 브라우저 자동화로
API 호출 방식의 한계를 넘어 Playwright 브라우저 자동화로 전환한 여정. CDP(Chrome DevTools Protocol) 통신 구조부터 세션 풀 설계까지, 대규모 스크래핑 시스템의 첫 번째 아키텍처를 설계하며 배운 것들을 기록합니다.