온실 GreenHouse 2
이 글은 온실 GreenHouse 시리즈의 3번째 기록입니다. (총 3개)
오늘 한 일
- Cloudflare Pages에 실배포 — 주소를 kimlog-greenhouse.pages.dev로 확정
- 이유: 이 주소는 앱들에 하드코딩되는 계약이라, 한 번 정하면 바꾸지 않는 전제로 신중히 정함. greenhouse는 이미 있어서 ‘kimlog-‘를 붙임
- 검색엔진 비노출 처리, 루트 접속은 편집기로 리다이렉트
- 이유: 관리 도구라 검색에 나올 이유가 없고, 루트가 404면 고장으로 보임
- 편집기 다듬기 — 노출 시작일 기본값을 오늘로, ID는 8자리 소문자+숫자 자동 생성으로
- 이유: ID는 사람이 신경 쓸 필요 없는 값이라 자동이 맞음
- 운영 흐름 첫 가동 — 편집기에서 만든 광고 JSON을 붙여넣으면 검증·배너 제작·배포까지 처리되는 흐름으로 여둘까·PokeWalk를 등록
- 배너 제작 파이프라인 확립 — 250×250 HTML 카드를 헤드리스 브라우저로 찍어 PNG로. 앱마다 정체성 색(크림·블루·레드…)을 입힘
- 이유: 처음엔 전부 온실 그린이라 단조로웠음. 디자인 수정이 CSS 편집이라 재생산이 쉬움
- 연동 방식을 SDK 서빙으로 전환 — 규약 문서 대신 온실이 스크립트(houseAd.js) 한 줄을 주고, 앱은 광고 자리와 링크 여는 함수만 제공
- 이유: 규약을 앱마다 구현하게 하면 질문과 편차가 생김. AdFit이 하는 방식 그대로, 로테이션·필터·렌더 정책이 온실 코드에 들어가 온실 배포만으로 전 앱에 반영됨
- KeyBloom 담당의 보안 검토에 회신 — 원격 코드 실행 신뢰 표면을 문서화하고, SDK의 init 호출 규격을 하위호환 계약으로 고정
- 블로그의 finished 앱 6종을 광고로 일괄 등록 — 총 9건 운영
- 앞으로 광고를 붙일 툴을 위한 온보딩 가이드 문서화
- 실사용 확인 후 로테이션 주기를 60초로 조정
막힌 부분
- 배포 직후 확인할 때마다 신·구 버전이 섞여 응답됐다
- 원인: Cloudflare 엣지 전파(최종 일관성) — 서버마다 새 배포가 도는 시점이 다름
- 해결: 한 번 성공으로 판정하지 않고 연속 여러 번 새 버전이 나올 때까지 기다린 뒤 완료 처리
- 편집기에서 배너를 선택하지 않았는데 편집 폼이 보였다
- 원인: CSS의 display 지정이 HTML의 hidden 속성을 이겨버림
- 해결: 숨김 상태를 CSS에서 명시적으로 복원
- 배너를 WebP로 저장하려 했는데 이 PC에 변환 도구가 없었다
- 해결: 250×250 소형 그래픽은 용량 차이가 미미해 PNG 허용으로 규칙 완화
- 한글이 든 PowerShell 스크립트가 실행하자마자 문법 오류를 쏟아냈다
- 원인: BOM 없는 UTF-8 파일을 PowerShell 5.1이 CP949로 읽어 한글이 깨짐
- 해결: 파일 앞에 BOM을 붙여 재실행
다음에 할 일
- 광고 추가·수정은 편집기 → 붙여넣기 흐름으로 수시 운영
- 새 앱에 광고 자리를 달 때 온보딩 가이드 절 전달
- 편집기에 진짜 저장 버튼을 다는 레벨 2(서버 저장 + 인증)는 지금 흐름이 불편해지면 착수