개발
코드 / 아키텍처 / 디버깅
-
두 앱을 하루에 심사 제출하면 생기는 일
오늘 가장 오래 걸린 건 Flutter 앱 두 개를 같은 날 스토어에 밀어 넣은 것이다. 스펙트럼 분석기(NoiseProof)랑 기도 시간 앱(Salat Light). 둘 다 심사 제출까지 끝냈는데, 그 과정에서 iOS 사인 지옥, iPad 스샷 언어 버그, 8개국어 리스팅 160장 스샷 업로드 자동화까지 뭐 하나 순탄한 게 없었다.
읽기 → -
양대 마켓 동시 제출하면서 데모 두 개 밀어넣은 아침
오전 여섯 시부터 시작한 작업이 어떻게 됐냐면, 플러터 앱의 iOS와 Android 제출을 동시에 돌리면서 데모 사이트 두 개를 배포하고, 거기다 백엔드 파이프라인 병렬화까지 밀어넣었다. 한 가지 작업이 끝나면 다음으로 넘어가는 식이 아니라, 세 개 레인이 동시에 달리는 구조였다. 스토어 제출은 특정 단계에서 사람이 멍하니 기다려야 하는 구간이 반드시 생기
읽기 → -
하루 저녁에 두 앱 파이프라인 완성하고 SEO 자동화 인프라를 전면 개편한
저녁 6시부터 자정까지 커밋 로그를 훑으면 Flutter 앱 코드, Python 스크립트, 감사 리포트, 콘솔 메모가 뒤섞여 있다. 겉으로는 산만해 보이지만 실제 흐름은 단순했다. 빌드 대기와 콘솔 응답 시간을 기다리는 사이에 SEO 인프라를 개편했고, NoiseProof의 스토어 파이프라인을 마무리하면서 Vidpress 초기 스캐폴드도 끊어뒀다. 7월 2
읽기 → -
오프라인 가계부 앱을 새벽 한 번에 양대 스토어까지 밀어붙이기
자정이 넘어 커밋 히스토리를 보면 그 시간대의 집중력이 그대로 드러난다. 이날 새벽은 크게 두 축이 동시에 돌아갔다. 하나는 Flutter 가계부 앱 Moneyleaf의 MVP부터 스토어 제출까지의 전 과정, 다른 하나는 GSC 리포트에서 실측된 사이트맵 로케일 절벽 수리였다. 둘 다 "오늘 끝내야 한다"는 압박이 있었고, 결국 해가 뜨기 전에 마무리됐다.
읽기 → -
사이트맵 301 리디렉션 URL 정리, GSC 위생 관리
사이트맵 파일 하나 손보는 게 뭐가 대수냐 싶을 수 있다. 근데 이게 생각보다 꽤 의미 있는 작업이었다. Google Search Console 위생 관리라는 맥락 안에서 보면, 작은 수정 하나가 크롤 예산과 색인 품질에 영향을 준다.
읽기 → -
9개 사이트 SEO 새벽 롤아웃과 자동발행 봇 런칭
자정을 넘기고 시작한 작업인데 결과적으로 새벽 6시까지 끌렸다. 처음엔 "푸터에 운영자 표기 하나 추가하면 되겠지" 싶었는데, 막상 건드리기 시작하자 연관 작업이 눈덩이처럼 불어났다. 총 9개 사이트에 Organization JSON-LD를 심고, 8개 국어 FAQ 섹션을 붙이고, 소셜 자동발행 봇까지 런칭했다. 오늘 그 흐름을 정리해두지 않으면 나중에 "
읽기 → -
부가세 관리 시스템을 하루 저녁에 밀어붙인 기록
6시에 Google Play 수익 수집봇을 붙이는 것부터 시작했는데, 자정이 되기 전에 부가세 전용 구글 시트 탭까지 완성해 있었다. 중간에 심링크 사고, 다운로드 버튼 버그, 구글 시트 OOM, 첫 탭 덮어쓰기 사고까지 연속으로 터지면서 "이거 오늘 다 될까" 싶었는데 결국 다 됐다. 이 세션을 회고해두지 않으면 나중에 왜 이런 구조가 됐는지 전혀 못 찾
읽기 → -
App Store 매출 파이프라인을 뿌리부터 고치고 드릴다운 페이지까지
대시보드 매출 카드 숫자가 뭔가 낮다 싶었다. 감으로 느끼는 게 아니라, 실제 앱스토어 콘솔에서 직접 확인한 숫자와 비교했을 때 차이가 났다. "혹시 환율 계산 오류인가?" 싶었는데, 그게 아니었다. 수집 자체가 문제였다.
읽기 → -
새벽 6시간, 데모 사이트를 대량으로 찍어낸 날
포트폴리오 쇼케이스 사이트에 카드가 하나씩 올라가는 건 보통 며칠에 걸쳐 천천히 이뤄지는 일인데, 이날 새벽은 달랐다. 0시 넘어서 키보드를 잡았고, 6시가 다 되어갈 무렵까지 commit이 끊이지 않았다. 총 10개 넘는 커밋, 그 중 대부분이 신규 데모 페이지 추가나 기존 데모 재구성이다. 단순히 양이 많았던 게 아니라 B2B 건축자재 데모 하나가 그날
읽기 → -
포트폴리오 라이브 데모 4개를 한 세션에 밀어넣은 날
오후 6시에 시작할 때 목표는 딱 하나였다. esign-pdf 데모 하나 마무리하고 썸네일 붙이고 끝. 근데 그게 안 됐다. 정확히는, esign-pdf 작업을 끝내고 나서 "어차피 데모 카드 틀이 잡혀있는데 나머지 것들도 다 올리자"는 생각이 들었고, 자정이 넘어서야 손을 놨다. 결과적으로 키워드 분석 대시보드, AS 접수·조회·관리자, 엑셀 업로드 조회
읽기 → -
봇 여러 개가 같은 이유로 죽는 걸 보고 공통 헬퍼를 만든 아침
managed MySQL 환경에서 커넥션이 조용히 끊기는 현상은 꽤 오래된 골칫거리였다. 특히 봇들은 대부분 스케줄러로 돌아가기 때문에 쿼리를 날리기 직전까지 커넥션 상태를 알 수 없다. 정상적으로 보이던 세션이 idle timeout이나 managed 환경 특유의 강제 drop으로 이미 끊겨 있고, 다음 쿼리에서 Lost connection to MySQ
읽기 → -
발행-번역 cron 분리, SSR 버그, 소셜 프루프까지
저녁 6시쯤 자리 잡고 앉았는데 결국 자정이 넘도록 키보드를 놨다. 이날 건드린 게 세 개 레포에 걸쳐 있었고, 서로 맥락이 달랐지만 결국 하나의 큰 흐름이었다. "배포 파이프라인 안정화" + "랜딩 전환율 끌어올리기". 둘 다 미뤄두면 안 되는 작업이었고, 마침 이날 시간이 생겼다.
읽기 → -
SEO 사이트맵 전면 재건과 홈 내부링크 강화
오늘 오후 6시간이 어떻게 흘렀냐면, 처음엔 콘텐츠 사이트맵에 lastmod 하나 추가하는 작업으로 시작했다가 어느새 GSC 거부 대응, 502 크래시 핫픽스, 홈 내부링크 구조 재편까지 번져버렸다. 이런 흐름이 생기는 이유는 항상 비슷하다. 하나를 손대면 숨어있던 다른 문제가 드러나는 것. 오늘이 딱 그 케이스였다.
읽기 → -
오발행 사고 수습부터 Admin 전면 리뉴얼까지
kpopdex에서 변형판/가짜컴백 기사가 그냥 나가버렸다. 저녁 작업은 그 수습으로 시작했고, 끝날 때는 admin 전체 동선이 바뀌어 있었다. 사고 하나가 반나절치 리팩터링의 도화선이 된 셈이다.
읽기 → -
688명 × 8개국어, 멤버 바이오 다국어 배선을 완성한 아침
오전 6시부터 정오까지의 작업 회고다. 이 시간대는 크게 두 갈래로 나뉘었다. 하나는 실제 사용자가 체감하는 버그 수정이고, 다른 하나는 그 버그를 파면서 드러난 데이터 규모를 정리하고 기록으로 남기는 작업이었다. 둘 다 결국 같은 맥락에서 출발했다. 멤버 페이지에서 비영어 언어를 선택해도 영어 바이오가 그대로 노출되는 문제였다.
읽기 → -
새벽 여섯 시간, 재방문 루프와 대시보드를 동시에 닫다
자정 직후, 무엇부터 잡을지 결정하는 순간
읽기 → -
신규 사이트 온보딩, 40번째를 채우기까지
어제 밤 9시부터 자정 언저리까지 한 일을 한마디로 요약하면 이렇다 — "사이트 하나 추가했다." 근데 그게 그렇게 단순하지 않다. 사이트 하나를 제대로 온보딩한다는 건, 우리 인프라 위에 얹혀 있는 파싱 파이프라인·PV 집계·대시보드·포트폴리오 쇼케이스까지 최소 네 군데를 일관되게 건드려야 한다는 뜻이다. 그리고 그 마지막 퍼즐 조각이 맞물렸을 때 카운터
읽기 → -
세 시간 안에 리텐션 인프라를 여러 사이트에 심다
오후 세 시쯤 슬랙을 닫고 에디터를 켰을 때 원래 계획은 딱 하나였다. 신규 사이트 하나를 뼈대만 세우고 마무리하는 것. 근데 그게 생각보다 빨리 끝나버렸고, 거기서 나온 "카운트다운 + 북마크 + 알림" 패턴을 다른 두 서비스에도 그대로 이식하고 싶다는 욕심이 생겼다. 결국 세 시간 동안 세 개의 레포를 오가며 공통 리텐션 도구를 박았다.
읽기 → -
API 없이도 데이터를 채우는 파이프라인, 그 가능성을 검증한 오후
이날 오후 세 시간은 두 개의 서비스를 오가며 흘렀다. 케이팝 팬 서비스(kpopdex)와 멀티스포츠 스코어 사이트, 얼핏 보면 도메인이 완전히 달라 보이지만 공통된 문제의식을 가지고 움직였다. 바로 **외부 API 의존도를 낮추면서도 데이터 정합성을 높이는 것**. 한쪽은 YouTube Data API v3 쿼터에 치여 있었고, 다른 쪽은 12개 종목 동
읽기 → -
포트폴리오 대청소, iframe 버그 삽질, SEO 자동화까지 한 오전
시작은 "카드가 너무 많다"는 한 줄 불만이었다
읽기 →