이 글은 오픈데이 Openday 시리즈의 11번째 기록입니다. (총 11개)

오늘 한 일

  • 셔터를 내린 뒤 요약에 강아지를 한 번 더 세웠다
    • 이유: 셔터 그림은 아침에 열 때만 보인다. 닫고 나서 한 일이 있으면 가운데에 강아지를 두고 왼쪽에 한 일을 넣어 달라고 했다
    • 한 일이 있는 날만 그렇게 한다. 아무것도 못 한 날에 축하하는 그림이 뜨면 놀리는 말이 된다
  • 처음 온 사람이 막히던 자리를 치웠다
    • 이유: 적당한 선에서 마무리하되, 남도 쓸 수 있을 정도까지는 해 두고 멈추기로 했다. 열어 보면 걸리는 게 넷이었다
    • 안내 업무가 「구글 계정을 연결하세요」라고 시켰다. 그때는 등록된 계정만 되는 줄 알아서, 누구나 되는 「파일로 내보내기」를 가리키게 바꿨다
    • 닫힌 셔터에 CLOSED 말고는 아무 말도 없었다. 앱 설명 한 줄을 뒀다
    • 기록이 이 브라우저에만 있다는 경고를 관리 화면에 적었다
    • 배포하고 열어 보니 앱은 마을이 먼저인데 설명은 셔터에 있었다. 마을에도 한 줄을 세웠다 — 기록이 하나도 없을 때만 뜬다
  • 폰에서 안 무너지게만 잡았다
    • 이유: 선택지 중 「안 깨지게만」을 골랐다. 좁아서 불편한 것과 못 쓰는 것은 다르다
    • 사이드바에서 가게 이름을 빼고 아이콘만 60px로, 가게 폭을 화면 기준 계산으로, 탭은 옆으로 굴리게, 요약 카드 폭 상한
    • 거리 끄트머리는 마우스를 올려야 뜨는 자리라 손가락으로는 못 쓴다. 폰에서 숨기고 거리를 직접 밀게 뒀다
  • 주소를 openday.logstone.net으로 옮겼다
    • 이유: pages.devlogstone.net 중 어느 쪽이 나은지 따져 보고 옮기기로 했다. 요건이 아니라 신뢰도다. 방침·약관이 logstone.net인데 앱만 무료 호스팅 주소면 같은 주체인지 한 번 더 묻게 된다
    • 옛 주소는 못 보게 하든 못 쓰게 하든 막아야 한다고 했다. 두 주소가 다 살아 있으면 기록이 두 곳에 갈려 쌓인다
    • 막는 방식은 자동으로 튕기지 않고 안내 화면만 띄우는 쪽이다. 브라우저 저장소는 주소마다 따로라 튕기면 여기 있던 기록을 챙기지 못하고 떠난다. 나가는 길과 챙겨 가는 길을 나란히 뒀다
    • 색인 차단을 걷어내고 canonical로 정본 주소를 못 박았다
  • 광고단위를 새 주소 매체 것으로 갈았다
    • 이유: 애드핏은 매체에 등록된 주소에서 부를 때만 광고를 내보낸다
    • 새 매체의 PC·모바일 단위를 받아 같이 갈았다. 한쪽만 갈면 다른 쪽이 옛 단위를 새 주소에서 부르게 된다
  • 구글 연결에 state를 실어 보내고 돌아온 값을 대조한다
    • 이유: 콘솔 보안 항목을 보니 「상태 파라미터를 쓰지 않는다」고 떠 있었다
    • 창을 띄우는 방식이라 위험이 크지는 않지만 한 줄로 막을 수 있는 것을 열어 둘 이유가 없다
  • 개발을 마무리했다
    • 안 하기로 한 것 — 모바일 전면 재설계, 언어, 공휴일 처리, 계정·서버
    • 다시 열 조건과 멈춘 뒤에도 살아 있어야 하는 것을 문서에 적었다

막힌 부분

「검수를 받아야 남에게 열 수 있다」가 틀렸다

구글 검수를 어떻게 받느냐고 물었더니, drive.appdata가 민감 권한이라 검수 절차가 필요하다는 답이 돌아왔다. 그래서 계획에 넣었다 — 자체 도메인, 동의 화면, 권한 정당화 문구, 데모 영상, 심사 대기.

중간에 「확인하지 않은 앱」 안내가 안 뜨던데라고 말했다. Claude는 「이미 허용한 계정이라 그렇다」고 설명했고 그대로 넘어갔다.

며칠 뒤 콘솔의 데이터 액세스를 열어 보니 「민감하지 않은 범위」로 분류돼 있었다. 앱 데이터 폴더는 이용자 본인도 드라이브 화면에서 못 보는 숨은 자리이고 거기 이 앱의 파일만 있다. 이용자 콘텐츠에 아예 안 닿아서 그렇다.

  • 해결: 검수·데모 영상·정당화 문구를 통째로 걷어냈다. 절차 문서는 지우지 않고 접어 뒀다 — 권한을 넓히면 그때 그대로 필요해진다
  • 안내가 안 뜬다는 관찰이 먼저 있었다. 설명이 그럴듯해서 확인 없이 넘어간 것이 계획을 부풀렸다
  • 남은 한계: 게시 상태를 프로덕션으로 올린 것이 언제부터 그랬는지는 다시 안 봤다

같은 자리에서 오판을 한 번 더 했다

동의 화면의 「승인된 도메인」이 pages.dev를 거부한다고 문서에 적혀 있었다. 그 근거는 8월에 「최상위 비공개 도메인이어야 합니다」 오류를 한 번 본 것뿐이었다. 무엇을 넣었을 때 나온 오류인지는 안 적혀 있었다.

다른 프로젝트가 pages.dev로 구글 콘솔에 붙어 있다고 말했다. 콘솔을 열어 보니 todo-openday.pages.dev도 이미 등록돼 있었다.

  • 해결: 문서의 그 줄에 취소선을 긋고 왜 틀렸는지를 적었다
  • 오류 하나로 규칙을 세우면 이렇게 된다. 무엇을 넣었을 때 무엇이 나왔는지까지 적어야 나중에 다시 확인할 수 있다
  • 이 오판으로 도메인 이전을 한 번 계획했다 취소했다 다시 했다. 마지막에 옮기기로 한 근거는 「요건이라서」가 아니라 「신뢰도 때문에」다

앱 설명을 처음 보는 화면이 아닌 곳에 붙였다

닫힌 셔터에 한 줄을 뒀는데, 배포하고 열어 보니 첫 화면이 마을이라 바로 안 보였다. 그 줄은 가게에 들어가야 보인다.

  • 해결: 마을에도 한 줄을 세웠다. 기록이 하나도 없을 때만 뜬다
  • 무엇인지만 말하지 않고 다음에 뭘 눌러야 하는지까지 적었다. 카드가 눌리는 건지 모르고 닫는 경우가 있다

다음에 할 일

  • 언어 — 문구가 코드 곳곳에 박혀 있어 옮기려면 먼저 한곳으로 모아야 한다. 안 하기로 했다
  • 모바일 화면 재설계 — 「안 깨지게」까지만 하고 멈춘다. 폰으로 쓰는 사람이 실제로 생기면 다시 연다
  • 자정을 넘길 때 이월 훑기가 실제로 다시 도는지 — 계산은 확인됐고 화면에 붙는 부분만 남았다
  • 애드핏 새 매체 심사 상태 확인 — 「운영중」이 되어야 광고가 채워진다

Series: 오픈데이 Openday


Suggested Posts