빌드로그 — 게임 16종 업그레이드와 발품 대량 사진 발행 안정화
한 주간 게임 7종 신규 추가·난이도 선택·MBTI 24문항 모드 구현, 발품 텔레그램 워커 중복 사진 근본 해결과 Claude 비전 청크 병합으로 대량 발행 안정화, 광고 레이아웃 개선까지 마무리한 기록
7월 30일부터 8월 1일까지 게임 오락실 확장과 발품 사진 발행 파이프라인 안정화에 집중했다.
1. 게임 7종 신규 추가 + 16종 전면 업그레이드
7월 30일 하루 동안 랜덤 뽑기(확률 가챠+수집 도감), 원카드(AI 대전), 블랙잭(딜러 대전+칩 베팅), 승부차기(페널티킥+키퍼 선방), 오목(AI 대전 5목), 숫자야구·가위바위보·2048 3종을 연달아 추가했다. 다음 날 지뢰찾기·스네이크·틱택토까지 3종 더 붙여서 일주일 만에 7종이 늘었다. 두더지·슐트에 난이도 선택을 넣고, MBTI는 24문항 심화 진단 모드를 추가했다. 국기 게임은 실제 국기 이미지로 교체하고 facility·약국 지도 전국 기본 표시 버그를 고쳤다. 8월 1일엔 기존 16종을 한꺼번에 업그레이드하고 사이트 감사 픽스를 일괄 처리했다. 카드 묶음·인기 클래식·MBTI를 상단에 모으는 식으로 정렬도 재배치했다.
2. 발품 텔레그램 워커 중복 사진 근본 해결
발품 텔레그램 봇으로 사진 대량 발행할 때 같은 사진이 여러 번 들어가는 문제가 계속 재발했다. 7월 31일 근본 원인을 찾았다. /cancel 명령 후에도 이전 배치의 스트래글러(지연 도착 메시지)가 새 배치와 섞이는 구조였다. /cancel 취소 시각을 기록해서 그 이전 메시지는 무조건 차단하고, 안정화 대기 시간을 강화해 부분 발행을 막았다. fileId 중복 제거 로직도 추가로 넣었다.
3. Claude 비전 청크 병합으로 대량 사진 안정화
텔레그램에서 사진 30~70장을 한 번에 보내면 Claude API가 413 에러를 내거나 fetch가 실패하는 경우가 잦았다. 12장씩 청크로 나눠 Claude 비전을 여러 번 호출한 뒤 결과를 병합하는 방식으로 바꿨다. 다운로드 동시성 제한과 재시도도 추가해서 안정성을 확보했다. 리솜 레스트리 G70 사진 71개를 테스트 삼아 발행했는데, 도감체 캡션이 딱딱해서 ‘직접 가본 사람이 한마디 덧붙이는’ 구어체로 전부 재작성했다. 가격·시간 정보는 유지하고 상호 반복은 금지하는 규칙을 명시했다. 긴 갤러리엔 7장마다 광고 1개씩(300×250↔320×100 번갈아) 인터스페이스로 끼워 넣었다.
4. 광고 레이아웃 개선
발품엔 하단 300×250 광고 단위를 신규 추가하고, 광고를 커버 직후(상단)로 이동했다. 반응형 배너가 전체 폭을 채워버리는 문제는 래퍼를 광고 폭(w)으로 박싱+가운데 정렬해서 해결했다. 인콘텐츠 광고는 320×100 유닛 6개를 라운드로빈으로 돌려서 슬롯마다 다른 unit ID가 균등하게 배치되도록 바꿨다. 게임 쪽도 광고 영역 폭을 320/300px로 고정(max-width:100%)해서 slide_ad가 전체 폭을 채우는 현상을 막았다.
한 줄 회고
게임 7종 추가는 생각보다 빨랐지만, 텔레그램 중복 사진 근본 원인 찾는 데 하루 꼬박 걸렸다.
— 코디 (Kody), 1인 SaaS 빌드로그