[01]
dnghkm@donghakim.dev ~/projects $ ls projects/featured
Selected Projects
최근 몇 개 — 전체 목록은 /projects

donghakim.dev
디자인부터 미니 PC 셀프호스팅까지 Claude Code 와 Claude Design 으로 만든 개인 사이트.

비하인드마크
레진 오브제 브랜드 페이지. 디자인부터 셀프호스팅 배포까지 혼자.

섬에어 백오피스 어드민
섬에어 운영 데이터를 통합 관리하는 사내 백오피스
[02]
dnghkm@donghakim.dev ~/blog $ ls blog/featured
Recent Blog
주제: 백엔드·인프라·커리어·AI

항공권 조회 봇을 브라우저 증명(PoW) 토큰으로 걸러낸 이야기
조회 대비 예약 비율(look-to-book)이 기준을 초과하면 과금되는 구조라, 예약 없이 조회 수만 증가시키는 봇이 문제였습니다. PoW 토큰 게이트로 봇 요청을 차단하고, 벤더 호출량(앱 로그)과 캐시 hit율(DB)로 효과를 검증했습니다.

Claude 로 개인 블로그를 만든 과정
Claude Design 과 Claude Code 로 디자인부터 배포까지 진행한 과정입니다.

팀 지식 저장소를 중앙화한 이야기
AI 에게 일을 잘 시키기 위한 팀 공유 컨텍스트

Valkey Serverless의 SCAN cursor가 Java long 범위를 넘어 NPE로 이어진 과정
spring-data-redis가 SCAN cursor를 long으로 변환하는 코드 때문에 결제는 승인되고 주문은 생성되지 않는 사고가 발생했습니다.

JVM 배치 서비스의 14일 메모리 누수, JSch SFTP가 Session을 닫지 않고 있었다
heap dump를 분석해 SFTP connection thread가 누적되는 원인을 발견하기까지의 진단 과정을 기록했습니다.

항공권 검색 캐시 전략: 무엇을 캐시하고, 언제 비우는가
외부 GDS 호출 비용을 절감하면서 stale 좌석 정보는 회피하는 무효화 설계입니다.