프로덕션 시스템을 만드는 백엔드 엔지니어입니다. 영화를 전공하다 엔지니어가 되었고, 지금은 Moba에서 백엔드를 리드하고 있어요. 이 블로그엔 그동안 배운 것들을 기록합니다.
- 동기화한 이벤트
- 7M
- 발행한 글
- 161
- 폴리글랏 서비스
- 6
- 이중 언어 기록
- EN/KR
프로젝트
Arch Calendar
레거시 백엔드를 퍼블릭 런칭까지 단독 유지보수 — 멀티 계정 캘린더 동기화, 결제, 실시간 업데이트로 700만 건의 이벤트 처리.
visit ↗3B 시스템
이 사이트 뒤의 3B 에이전트 하네스를 공개용으로 정제한 시스템 맵입니다. 레이어, 서브시스템, 결정 기록, 블로그 시리즈 진행 상황을 보여줍니다.
system map →Project Crucio
생성형 AI를 위한 Zero Trust 보안 — 6개 폴리글랏 마이크로서비스(Python + Go + Rust + TypeScript), Kafka 이벤트 스트리밍, 해시 체인 감사 로그, GCP + NAS 하이브리드 인프라 위 LGTM 풀 옵저버빌리티.
visit ↗
Claude Code Agent Teams를 실제 작업에 쓰며 배운 점
Agent Teams의 현재 동작과 version별 pane 문제, 작업 소유권, 결과 전달 실패를 구분해서 정리한 사용 기록이에요.

Multi-Agent 메시지 경쟁에서 HOLD를 안전하게 다루는 법
비동기 agent mailbox에서 명령과 완료 보고가 엇갈릴 때 target state, idempotent guard, live evidence로 중복 실행을 막는 방법이에요.

class-validator의 @IsHexColor는 alpha hex도 허용해요
@IsHexColor()가 허용하는 3, 4, 6, 8자리 형식과 normalizer의 범위가 어긋날 때 생기는 문제를 정리했어요.

사용자 단위 transaction으로 backfill 원자성 지키기
여러 row를 함께 옮겨야 하는 backfill에서 사용자별 transaction, prevalidation, idempotent update, keyset pagination을 조합한 방법이에요.

TypeORM migration:generate는 schema drift 전체를 감지해요
TypeORM migration 생성 결과에 현재 feature와 무관한 SQL이 섞이는 이유와 local DB drift, 이미 배포한 migration 수정까지 구분해서 다루는 방법이에요.

claude-code-action workflow를 설정하며 놓치기 쉬운 것들
Claude Code Action의 SHA 고정, job 권한, issue_comment branch 동작, model 선택을 서로 다른 설정 레이어로 나눠 점검한 기록이에요.

Claude Code: 공유 + 개인 AI 설정 패턴
AI 지시사항을 커밋되는 공유 레이어와 gitignore되는 개인 레이어로 분리해서 새 개발자는 즉시 AI 지시사항을 사용하고 기존 개발자는 개인 확장을 유지하는 패턴입니다.

LibreOffice headless로 DOCX 이력서를 PDF로 안정적으로 내보내기
macOS Pages에서 흔들린 layout과 text layer를 LibreOffice headless와 네 단계 artifact 검증으로 확인한 사례예요.

Lemon Squeezy 구독 lifecycle 관리
구독 취소, 유예 기간, 만료, 재활성화와 기존 구독의 가격 변경을 구현하며 확인한 lifecycle 경계예요.

ECR/ECS 배포 워크플로우
Amazon ECR과 ECS를 사용한 컨테이너 배포 전체 과정 — 인증부터 롤링 업데이트, 트러블슈팅까지 정리했어요.