자동화
n8n / 스크립트 / 봇
-
날조 없이 DB 팩트로 자동 설명 생성하기
새 피처가 나오거나 운영 데이터가 쌓이면, 그것을 설명하는 텍스트가 필요한 순간이 온다. 멤버의 소개글, 앨범의 분석 결과, 혹은 이벤트의 요약—이런 일들은 수작업으로 하면 비용이 크고 일관성도 떨어진다. 그래서 자동화를 생각하는데, 많은 팀이 바로 LLM 을 떠올린다. 빠르고 유연하고 그럴듯하니까. 하지만 이번에는 다르게 접근하기로 했다.
읽기 → -
그룹명 자동 수집 중 위키 disambiguation 오류 수정
위키 API로 음악 그룹 정보를 자동 수집하면서, 짧고 모호한 그룹명이 여러 검색 결과를 동시에 반환하는 문제를 만났다. 실제로는 한 음악 그룹만 필요한데도 disambiguation 페이지가 걸려서 원하지 않는 결과물들이 섞이곤 했는데, 이번에 정확히 타겟 article을 검증하고 disambiguation을 우회하는 로직을 추가했다.
읽기 → -
그룹 부분 갱신 시 기존 데이터 손상 막기
그룹 메타 갱신 스크립트를 자동화하면서 마주친 딜레마가 있었다. 메타데이터(이름, 설명, 썸네일)만 최신화하고 싶은데, 스크립트가 멤버나 출처 정보까지 밀어넣지 않도록 어떻게 할 것인가. 이번에 seed_groups에 --refresh 모드와 idempotent 가드를 추가해서 이 문제를 풀었다.
읽기 → -
생일·컴백·신곡을 한눈에
팬들이 자주 놓치는 정보들—생일 축하, 컴백 카운트다운, 최근 발매—을 한곳에서 보도록 /today 페이지를 새로 만들었다. "라이브 레이어"라고 부르는 이 기능은 단순한 정보 나열이 아니라, 자동화 봇이 지속적으로 데이터를 보강하고, 캘린더 구독(.ics)까지 지원하는 통합 대시보드다.
읽기 → -
신상 그룹 등록 프로세스 완전 자동화
신상 그룹을 만들 때마다 시스템 여러 곳을 손으로 거쳐야 했다. 초기 데이터 시드부터 스케줄 설정, 소식 발행, 다국어 번역까지 일관성 있게 처리하려면 수작업과 체크리스트가 필수였는데, 이번에 이 전체 흐름을 하나의 스크립트로 자동화했다.
읽기 → -
사이트맵 에러를 자동으로 잡고 고치는 모니터링 루프
Google Search Console 의 사이트맵 에러들을 자동으로 감시하고, 발견한 에러를 곧바로 개선하는 루프를 만들었다. 지금까지는 에러를 감시하기만 했다면, 이번엔 감시 다음의 액션까지 자동화했다. 팀 입장에서는 더 이상 사람이 개입할 필요 없이 시스템이 스스로 돌아가는 상태가 됐다는 뜻이다.
읽기 → -
실행 진척도 가시화로 다음 단계 우선순위 정하기
GSC 자동화 계획 문서에 단계별 실행 완료 체크리스트와 자동화 수준 메모를 정리했다. 단순 문서 정리처럼 보이지만, 이 작업은 팀의 의사결정 속도와 투명성을 크게 좌우한다.
읽기 → -
죽은 사이트맵 자동 감지해 GSC 제출 실패 줄임
사이트맵을 검색 엔진에 제출하는 작업을 자동화했을 때, 문제가 하나 있었다. 옛날에 삭제했거나 리다이렉트된 사이트맵을 여전히 제출 대상에 포함해서, 매번 제출 실패 로그가 쌓이는 거다. 이번에는 제출 전에 그 사이트맵이 정말 살아 있는지 미리 체크하고, 죽은 것들은 자동으로 건너뛰는 기능을 _lib/gsc_submit.py 에 추가했다.
읽기 → -
자동화 봇의 호스트와 데이터 소스를 문서화하기
오늘 README를 갱신해서 자동화 봇의 운영 정보 두 가지를 명시했다. 그건 호스팅 주소와 뉴스 소스였다.
읽기 → -
위키 데이터 자동 추출·정제·저장 파이프라인 구축
최근에 위키 같은 외부 소스에서 데이터를 수동으로 추출하고 정제해서 DB에 넣던 작업을 자동화했다. 위키에서 Claude Sonnet으로 콘텐츠를 처리하고, 출처를 함께 기록한 상태로 upsert하는 봇을 3회차에 걸쳐 다듬었다.
읽기 → -
콘텐츠 발행 때 이미지 URL 자동 처리로 작업 단순화
콘텐츠를 발행할 때마다 이미지 URL을 수동으로 옮기고 링크를 설정하는 반복 작업을 자동화했다. lib_publish.js에서 발행 로직을 개선하고 ui.html의 UI 부분을 손봐서 이미지별로 링크를 선택할 수 있게 만들었다.
읽기 → -
이미지 배치 자동화로 발행 파이프라인 단순화
캐릭터 섹션의 이미지들을 자동으로 배치하는 기능을 lib_publish.js에 구현했다. 소제목별로 균등하게(약 3개씩) 이미지를 분배하는 로직인데, 이렇게 하니까 발행 시 수동 배치에 들이던 시간이 확 줄었다.
읽기 → -
발행 전 드라이런으로 형식 오류 선제 차단
포스트 발행 시스템에서 마크다운 스타일링과 메타데이터 처리를 자동화하는 작업이었다. 단순하지만 꽤 중요한 개선인데, 여러 개의 기능 개선을 한 커밋에 묶은 이유부터 풀어보자.
읽기 → -
블로그 포스트 자동 발행 도구 완성
블로그 자동 발행기를 구축했다. 네이버 블로그에 포스트를 올리는 작업을 반복적으로 수행하던 수고를 덜기 위한 도구다. 새로운 기능 몇 개(capture, cat_explore, del, del_explore 등)를 추가하고 설정을 정비했다.
읽기 → -
대기 중인 결제가 중복 처리되던 버그 수정
결제 플랫폼에서 pending 상태의 주문이 새로운 checkout으로 덮어씌워지면서 같은 결제를 두 번 처리하려던 경합 조건을 발견하고 수정했다.
읽기 → -
은행 자동선택으로 가상계좌 발급 간소화
가상계좌 발급 시 사용자가 직접 은행을 선택하는 UI를 제거하고, 결제 플랫폼의 자동 결정 로직으로 통일했다. 결제 흐름 단순화와 UX 개선이 목표였고, 여러 선택지 관리에서 오는 복잡성을 한 번에 해결할 수 있는 좋은 타이밍이었다.
읽기 → -
송금 실패 시 파트너 잔액 복구 프로세스 개선
결제 플랫폼의 출금 송금이 실패했을 때 파트너 계정의 잔액을 제대로 복구하고, PG가 비활성화된 상태에서 배치가 즉시 실패하도록 처리를 보강했다. Codex 정적 검증 도구에서 6차 검증 시 지적한 사항들을 개선한 작업인데, 돌아보니 이 부분이 생각보다 많은 엣지 케이스를 감싸고 있더라.
읽기 → -
새 결제 경로 추가, 구 webhook 5개 정리
웰컴 카드 온보딩과 정기 결제 빌링 경로를 지원하면서, 동시에 기존 webhook 5개를 비활성화했다. 결제 플랫폼을 점진적으로 개선하는 과정에서 마주하는 전형적인 마이그레이션 작업이었다.
읽기 → -
특가 프로모션에 실시간 카운트다운 추가
오늘만 제공되는 특가 프로모션에 카운트다운 타이머를 추가했다. 사용자의 로컬 시간대 기준으로 자정까지 몇 시간 몇 분 몇 초가 남았는지 HH:MM:SS 형식으로 실시간 표시하고, 자정이 지나면 자동으로 리셋되는 기능이다.
읽기 → -
골든존 키워드 자동적재로 일일 리포트 완성도 높이기
Google Search Console(GSC)에서 골든존 키워드를 자동으로 수집해서 일일 리포트에 반영하는 기능을 추가했다. 두 개의 스크립트를 새로 만들고 데이터 파이프라인을 정렬하는 작업이었다.
읽기 →