-
포스트 삽입 반복 작업을 헬퍼 스크립트로 자동화한 경험
메타 정보를 포함한 포스트를 데이터베이스에 삽입하는 반복 작업을 자동화하기 위해 헬퍼 스크립트를 만들었다. 단순한 유틸리티 추가처럼 보이지만, 팀이 운영 효율과 개발 속도를 함께 챙기는 과정이 담겨있다.
읽기 → -
CMS 게시 스크립트에 리뷰 추적 메타 자동 삽입 기능 추가
publish.sh에 cms_post 메타 행을 자동 삽입하는 로직을 추가했다. review_loop과 직접 연결되도록 한 것인데, 이게 생각보다 중요한 변화다.
읽기 → -
재고 export에 git 레포 컬럼 추가로 디버깅 추적 강화
재고 내역 export 기능에 git 레포 컬럼을 추가하고 REPO_MAP을 보강했다. 언뜻 통계 시스템에 왜 코드 저장소 정보가 필요할까 싶겠지만, 이 작은 변경에는 팀의 데이터 추적 전략이 담겨 있다.
읽기 → -
재고 현황을 구글시트로 자동 동기화한 경험
구글시트를 팀 전체의 실시간 대시보드로 만들어야 한다는 요청이 들어왔다. 그동안 재고 현황은 관리 시스템 내부 페이지에만 있었는데, PM과 마케팅팀이 별도 분석이나 리포트 작성을 위해 매번 데이터를 받아가야 하는 문제가 있었다. 그래서 서버의 실제 재고 상태를 주기적으로 구글시트로 내보내는 inventory_export.py 스크립트를 만들게 됐다.
읽기 → -
페이지뷰 통계 레거시 코드를 삭제 대신 아카이브로 보관
이전에 쓰던 페이지뷰 통계 코드들을 archive로 옮기는 작업을 했다. site-pv.py, pv-period.py 같은 함수들이 더 이상 현재 시스템에서 쓰이지 않게 된 것인데, 그냥 지워 버리지 말고 폴더를 따로 만들어서 보관하기로 했다.
읽기 → -
Discord 통계 대시보드의 sites 필드 분할로 1024자 제한 해결
stats-dashboard 스크립트가 통계 정보를 Discord로 전송할 때, 특정 fields가 Discord의 1024자 제한에 걸리는 문제가 있었다. 이번엔 sites 필드를 분할해서 이 이슈를 해결했다.
읽기 → -
통계 대시보드에 신규 서비스 추적을 선제적으로 추가한 이유
통계 대시보드에 새로운 서비스 추적을 추가했다. 단순한 작업처럼 보이지만, 이 안에는 서비스 확장 과정에서 관측성(observability)을 어떻게 유지할 것인지에 대한 작은 결정이 담겨 있다.
읽기 → -
운영 서버 git 백업 자동화와 로또 발행 정책 평일·주말 기준 재조정
내부 운영 서버 관리를 좀 더 체계적으로 다루기 위해 git 백업을 자동화하고, 동시에 lotto 발행 정책의 목표치를 평일/주말 기준으로 재조정하는 작업을 했다.
읽기 → -
복권 추첨 발행목표를 요일별로 동적 분기해 진도 추적 신뢰도 개선
배치 작업으로 운영되는 복권 추첨 시스템의 발행 진도를 추적하는 스크립트에서, 요일에 따라 달라지는 목표값을 반영하도록 로직을 정비했다.
읽기 → -
결제 임베드 오버레이 너비 고정
결제 플랫폼 임베드 시스템에서 오버레이 컴포넌트의 너비를 720px로 고정하고, 시트 아이템들을 클릭 가능한 버튼으로 개선했다.
읽기 → -
통계 대시보드 불필요한 추상화 걷어내 유지보수 부담 줄인 리팩토링
통계 대시보드 리팩토링을 하면서 hourly lap 블록을 제거하고 설명을 간소화했다. 겉으로는 작은 변경이지만, 이런 결정이 코드 유지보수성과 팀의 인지 부하에 미치는 영향을 정리해본다.
읽기 → -
리스너 로깅의 유니코드 인코딩 에러 수정기
listener 모듈에서 부모 fetch 작업 예외를 로깅할 때 발생하는 ASCII 인코딩 에러를 수정했다. 단순한 로깅 버그처럼 보이지만, 이 문제를 통해 Python의 인코딩 처리와 예외 안전성에 대해 다시 생각해 본 부분이 있다.
읽기 → -
통계 대시보드 vhost 매칭·시간 경계·누락 사이트 버그 수정
통계 대시보드 스크립트에 누적된 버그 3가지를 한 번에 수정했다. 얼핏 서로 다른 문제처럼 보이지만, 자세히 들여다보니 모두 데이터 수집과 집계 로직의 경계 영역에서 발생한 전형적인 함정들이었다.
읽기 → -
Discord에서 시간별 누적 통계 대시보드 구현
시간별 누적 통계를 한눈에 추적할 수 있는 대시보드를 만들었다. Discord의 메시지 편집 기능을 활용해서 기존 메시지를 계속 업데이트하는 방식으로 구현했는데, 이게 생각보다 효과적인 패턴이었다.
읽기 → -
봇 워커 재학습 서브프로세스 타임아웃을 300초로 늘린 이유
scripts/bot-action-worker.py의 재학습 서브프로세스 타임아웃을 300초로 증가시켰다. 작은 변경처럼 보이지만, 이 fix를 통해 서브프로세스 타임아웃 관리의 난제들을 다시 한 번 정리할 수 있었다.
읽기 → -
자동화 봇 상태 관리를 디스코드 로그와 파일로 이원화해 신뢰성 확보
자동화 봇의 상태 추적 방식을 전면 개선했다. 기존 방식에서 discord_review_log와 review_state.json 기반으로 재설계하면서, 분산 시스템에서 단일 소스(source of truth)를 확보할 수 있게 됐다.
읽기 → -
Discord 봇 버튼 응답 지연을 큐 기반 워커로 해결
Discord 봇의 버튼 클릭 이벤트를 안정적으로 처리하기 위해 큐 기반의 워커 시스템을 만들었다. 처음에는 버튼 클릭이 들어오면 바로 처리했는데, 동시 요청이 많아지거나 각 작업에 시간이 걸리면서 문제가 생기기 시작했다. 그래서 액션을 큐에 넣고 별도 워커가 처리하는 구조로 변경했다.
읽기 → -
리뷰 판정을 피드백에 자동 기록해 학습 루프 지연 단축
리뷰 루프를 통해 모델이나 시스템이 학습하려면 판정 결과가 빠르게 피드백으로 흡수되어야 한다. 이번에는 리뷰 프로세스에서 나온 REJECT/WARN 같은 판정을 자동으로 user_feedback에 기록하는 기능을 추가했다.
읽기 → -
디스코드 알림 함수 책임 분리로 유지보수성 개선
discord 알림 시스템의 함수 구조를 정리했다. discord_notify() 안에서 알림 타입 처리를 discord_kind()에 위임하는 방식으로 리팩토링한 작업이다.
읽기 → -
미사용 임포트 제거로 줄이는 기술 부채
최근에 scripts/publish-progress.py에서 미사용되는 discord_embed import를 제거했다. 겨우 한 줄짜리 정리인데, 이 작업을 통해 팀 입장에서 "작은 정리"를 어떻게 봐야 하는지 정리해본다.
읽기 →