블로그
트러블슈팅 경험, 기능 개발 과정, 기술적 회고를 기록합니다.
Private 환경을 위한 DeepWiki 대안을 직접 설계한 이유
Public Repo만 지원하는 DeepWiki를 사내 레거시 환경에서 쓸 수 없어서 직접 만들었습니다. 코드베이스만 보는 것이 아니라 DB, GitHub, Jira, Confluence를 교차 검증해야 진짜 비즈니스 맥락을 잡을 수 있다는 게 핵심이었습니다.
읽는 시간 약 18분
디자인 시스템 없이 AI Agent로 프론트엔드 개발하기 — 실패와 해결의 기록
팀에 프론트엔드 경험자가 없는 상황에서, 공식 디자인 시스템조차 없는 환경에 AI Agent 기반 개발 워크플로우를 직접 설계하며 겪은 문제와 해결책을 기록합니다. Figma MCP, 퍼블리셔 HTML/CSS, Playwright를 엮은 4-Source 컨텍스트 전략과 QA 자동화 파이프라인까지.
읽는 시간 약 20분
Gmarket CPC 광고 전체 워크플로우 — 입찰에서 리포트까지
Gmarket 파워클릭(CPC 키워드광고)의 전체 워크플로우를 해부합니다. 광고주의 입찰가 설정부터 랭킹 계산, 광고 서빙, 클릭 추적, 과금, 그리고 최종 리포트 생성까지 — 이벤트 기반 파이프라인이 어떻게 유기적으로 맞물려 돌아가는지 상세히 기록합니다.
읽는 시간 약 18분
EDN+ 서버 재개발기 — Spring MVC로 다시 짓고, 당근마켓에 광고를 서빙하기까지
Gmarket의 외부 광고 네트워크 EDN+ 서버를 Node.js 레거시에서 Spring MVC(서블릿 컨테이너) 기반으로 재개발하고, 당근마켓·다나와 광고 지면에 상품+광고 데이터를 통합 서빙한 과정을 공유합니다.
읽는 시간 약 8분
.NET 레거시를 건드리지 않고 외부 VOD 솔루션을 연동한 방법
동영상 광고 타입을 고려하지 않은 레거시 .NET 광고 시스템에 Shoplive VOD 솔루션을 연동하면서, 레거시 안정성에 영향 없이 수십억 원 규모의 신규 광고 상품을 런칭한 과정을 공유합니다.
읽는 시간 약 8분
광고 정산 데이터 Databricks 이관기 — Hadoop 배치 실패 없는 파이프라인 만들기
새벽마다 반복되던 배치 실패와 수동 재실행. Hue/Hadoop 기반 광고 정산 파이프라인을 Databricks로 이관하면서 데이터 정확도와 운영 안정성을 동시에 확보한 과정을 공유합니다.
읽는 시간 약 10분
상용 CDC 없이 MS-SQL↔MongoDB 실시간 정합성을 보장한 3단계 동기화 파이프라인
예산 제약으로 상용 CDC 솔루션을 쓸 수 없었습니다. 대신 API 레벨 동기화 → Kafka 실패 복구 → Batch 최종 정합성 검증으로 이어지는 3단계 아키텍처를 자체 설계한 과정을 공유합니다.
읽는 시간 약 12분
RedisTemplate vs Lettuce, Kafka StickyPartitioner 버그 — 랭킹 시스템 개선 중 만난 두 가지 이슈
랭킹 시스템 개선 중 Kafka 메시지가 특정 파티션에만 몰리는 현상과, Redis 100만 건 처리에 4분이 걸리던 문제를 Datadog으로 발견하고 해결한 과정을 기록합니다.
읽는 시간 약 10분
레거시 광고 랭킹 시스템 성능 병목 현상 해결기 — .NET에서 Spring Webflux로
최대 4시간이 걸리던 광고 랭킹 갱신을 3분으로 줄이기까지, .NET & MS-SQL 레거시를 Spring Webflux + MongoDB 리액티브 아키텍처로 전면 재설계한 과정을 공유합니다.
읽는 시간 약 15분
Kafka StickyPartitioner 버그로 인한 메시지 분배 불균형 해결
Kafka Client 3.3 미만 버전에서 StickyPartitioner 버그로 특정 파티션에 메시지가 몰리는 현상이 발생했습니다. 원인 분석부터 해결까지의 과정을 정리합니다.
읽는 시간 약 8분
RedisTemplate에서 Lettuce 네이티브 API로 전환하여 처리 속도 4배 향상
RedisTemplate 사용 시 각 명령어마다 새 TCP 커넥션이 생성되는 문제를 발견하고, Lettuce 네이티브 API로 전환하여 100만 건 처리 시간을 240초에서 60초로 줄인 경험을 공유합니다.
읽는 시간 약 6분
SQS vs EventBridge — MSA 전환에서 이벤트 기반 아키텍처를 설계한 기준
모놀리식에서 MSA로 전환하면서 서비스 간 결합도를 제거하기 위해 AWS 이벤트 기반 아키텍처를 도입했습니다. SQS와 EventBridge를 어떤 기준으로 나눠 쓰는지, 멱등성과 DLQ를 어떻게 설계했는지 공유합니다.
읽는 시간 약 12분
YouTube·Facebook 동시 송출, 6단계 수동 설정을 1번 인증으로 — OAuth 자동화 구현기
라이브 스트리밍 플랫폼에서 소셜 미디어 동시 송출을 위한 6단계 수동 설정 과정을 OAuth 2.0 기반 자동화로 1회 인증으로 줄인 구현 과정을 공유합니다.
읽는 시간 약 11분
수 GB 파일 업로드, 타임아웃 없이 이어받기까지 — 청크 업로드 구현 완전 정리
단일 HTTP 요청으로 대용량 파일 업로드 시 발생하는 메모리 부족과 타임아웃 문제를 청크 분할 업로드와 이어받기로 해결한 전체 구현 과정을 클라이언트부터 서버까지 상세히 정리합니다.
읽는 시간 약 13분