일기
회고 / 메모
-
iOS 앱 거절, 수정해서 재신청하기
앱 스토어 리뷰 거절을 받으면 뭔가 실패한 것 같은 기분이 드는데, 사실 이건 개발 사이클의 자연스러운 부분이다. 특히 iOS의 경우 Apple의 까다로운 심사 기준이 있기 때문에, "첫 제출 탈락 → 수정 → 재신청"은 거의 필수 코스다. 이번 작업도 그런 배경에서 시작됐다.
읽기 → -
앱 배포 키를 프라이빗 저장소로 안전히 분리
안드로이드 앱의 서명 파일(keystore, key.properties)을 공개 저장소에서 프라이빗 저장소로 옮기고, 공개 repo의 .gitignore를 정비하는 작업을 했다. 사소한 chore처럼 보이지만, 배포 보안과 팀의 온보딩 프로세스에 꽤 큰 영향을 주는 변화다.
읽기 → -
팀 개발 환경 표준화: Flutter 버전 고정
Flutter 버전을 3.44.2로 pinning하고, 빌드 signing secrets를 .gitignore에 추가했다. 한 줄짜리 변경처럼 보이지만, 이건 팀 개발 환경의 일관성과 보안을 동시에 강화하는 결정이었다.
읽기 → -
설정값 변경, 이틀 만에 원상복구
며칠 전 어떤 설정값을 바꿨다가 사용자 피드백을 받고 즉시 되돌렸다. 큰 기능 개발이나 버그 수정은 아니지만, 이런 작은 의사결정과 롤백이 반복되면서 배운 게 많아서 정리해 본다.
읽기 → -
새 도메인 LIVE, 팀 모두가 알도록 문서화
두 서비스의 운영 도메인이 변경되면서 팀 공용 문서를 업데이트했다. growthebutton.com과 own1second.com으로 각각 LIVE 되는 서비스들이, 기존 도메인에서 301 리다이렉트로 마이그레이션되면서 발생한 작업이다. 언듯 보면 간단한 문서 수정처럼 보이지만, 이건 사실 팀의 "컨텍스트 동기화"라는 더 큰 작업의 일부였다.
읽기 → -
론칭을 한 문서로 정리하다
LAUNCH.md 문서를 작성했다. Show HN, Reddit, X 같은 커뮤니티 플랫폼별 홍보 전략, 마일스톤 캘린더, 체크리스트를 한곳에 모았다.
읽기 → -
제품 런칭 가이드 문서 체계화
런칭 일정이 확정되면서 팀원들이 각자 다른 버전의 체크리스트를 들고 움직이더라. 누군가는 이메일로 받은 노트를 가지고, 누군가는 Slack 스레드를 파고 있고, 또 누군가는 공유받은 문서의 버전이 다른 거다. 그럼 늘 마지막 단계쯤에서 "어, 이건 누가 책임지지?"라는 혼란이 반복된다. 그래서 LAUNCH.md를 정리하기로 결정했다.
읽기 → -
인벤토리 항목 확장, 27개 항목으로 문서 정비
사내 설정과 구성 정보를 담는 docs/스튜디오-CLAUDE.md 파일의 인벤토리를 정리했다. 27번과 28번 두 개 항목(growthebutton.com, own1second.com)을 신규 등재하고, 전체 카운트를 27개로 업데이트하는 작업이었다.
읽기 → -
구매 도메인 변경으로 개발 환경 설정 최신화
APP_URL을 새 도메인으로 변경하고 .env.example 파일도 함께 업데이트했다.
읽기 → -
환경 설정부터 올바른 도메인으로
.env.example 파일의 APP_URL을 구매 도메인으로 변경하는 작은 작업을 했다. 환경 변수 파일의 한 줄 수정이지만, 새 팀원 온보딩부터 로컬 개발 환경까지 연쇄적으로 영향을 미치는 일이었다.
읽기 → -
반환금 실제 확정치로 정정
웰컴 관련 반환금 산정 기록을 팀 공유 문서에 정정하는 커밋이다. 기준 금액 6,995,000에서 실제 반환액 5,031,225로 조정했고, 위약금과 상품권 조정 사항을 함께 문서화했다.
읽기 → -
기능 삭제 취소 후 정상 동작 확인 반영
쿠폰 시스템의 외부 연동 로직에서 삭제 예정이던 기능(chlifes)을 취소하고, 정상 동작을 재확인한 후 이를 문서에 반영하는 작업을 했다. 단순한 코드 정리처럼 보일 수 있지만, 이 과정 속에는 팀의 의사결정 추적성과 기능 생명주기 관리라는 중요한 주제가 있다.
읽기 → -
분쟁 종결, 6,995,000원 전액 납부 확정
웰컴 오지급 분쟁이 최종 정산됐다. 상계 청구를 철회하고 6,995,000원 전액을 확정 수령하기로 합의했다는 기록을 .claude/CLAUDE.md에 남겼다.
읽기 → -
풀 리포트 기본값을 저가로 전환한 배경
이번에 풀 리포트 기능의 기본 가격을 $19에서 $3으로 변경했다. chore 커밋이라 단순 설정값 조정처럼 보이지만, 이 뒤에는 사용자 경험과 비즈니스 전략에 대한 깊은 고민이 담겨 있다.
읽기 → -
배포 일관성 확보해 팀 배포 사고 줄이기
배포 스크립트를 팀 표준으로 정의하는 작업을 했다. npm ci 필수 사용, 정적 병합, 그리고 실패 시 자동 재시작 방지라는 세 가지 원칙을 담은 것인데, 각각이 왜 필요했고 어떤 문제를 해결하는지 회고해본다.
읽기 → -
인프라 문서가 라이브 설정의 거울이 되다
도메인 자동화 구조를 라이브에 적용하고 문서화했다. 작은 변경처럼 보이지만, 인프라 문서가 실제 운영 상태를 정확히 반영하는 것이 얼마나 중요한지 다시 한 번 느낀 작업이다.
읽기 → -
팀 인벤토리 문서의 빈틈을 채우다
팀 기술 인벤토리 문서에 누락되었던 도메인을 보강했다. 이미 운영 중인 서비스의 www 섹션이 문서에 빠져 있었고, 신규 도메인도 추가해야 했다. 한 줄짜리 commit 처럼 보이지만, 팀 규모가 커질수록 이런 작은 누락들이 모여 온보딩 마찰과 커뮤니케이션 오버헤드를 만든다.
읽기 → -
검색 발행 기준 강화로 품질 전환, 751편 정리
검색 서비스의 콘텐츠 발행 정책을 대폭 개선했다. 그간 각 카테고리별로 상당한 발행량을 유지해오던 것을 엄격한 품질 기준으로 선별하는 방식으로 전환한 것인데, 이 과정이 단순한 "수치 조정"이 아니라 팀 전체의 콘텐츠 전략과 신뢰도 관리에 어떤 의미를 갖는지 정리해볼 만하다.
읽기 → -
모바일 광고가 화면을 넘어가던 레이아웃 버그 해결
모바일 환경에서 광고 영역이 콘텐츠 박스를 벗어나면서 전체 레이아웃이 깨지는 문제를 layout.tsx에 CSS 오버플로우 가드를 추가해서 처리했다. 간단한 한 줄의 변경이었지만, 이 과정에서 느낀 몇 가지 생각을 정리해본다.
읽기 → -
테스트 기기 13대로 정리한 CI/CD 최적화
안드로이드 가상 디바이스(AVD) 28개에서 필요한 것만 골라 13개로 축소했다. 데일리 테스트 러너의 효율성을 높이기 위한 정리 작업이었는데, 의외로 이 과정에서 배운 게 많았다.
읽기 →