통합 검증과 신입 포트폴리오
센서 기록기 전체를 반복 검증하고 구성·통신·오류·측정 근거를 인계합니다.
진도 0%
레슨
- 오류 주입 시험표
센서 분리·NACK·시간 초과·큐 초과·시각 순환의 재현 조건과 기대 동작을 시험표로 제출합니다.
- 결정적 재생과 장시간 검증
고정 seed 입력과 가상 24시간 이벤트를 재생하고 sanitizer·버퍼 한계를 검사합니다.
- 측정 로그를 근거로 요약하기
센서 기록기 로그에서 오류 수·최대 지연·복구 성공 수를 정해진 형식으로 집계합니다.
- 구성과 면접 설명 인계
HAL 구성·통신 규격·전이도·실측 조건·신입 면접 답변을 연결한 인계 문서를 제출합니다.
통합 검증과 신입 포트폴리오 미션
m09-resource-measurement의 검증된 solution 전체 소스·HAL·회귀를 포함한 starter에서 release.c 두 함수와 evidence/ 인계 문서를 완성합니다. 제품 기록 용량을 늘리는 대신 검증된 프레임을 내보내는 시험 sink를 추가합니다.
요구사항
- release_next에서 uint32_t xorshift32 좌13·우17·좌5 XOR 연산과 seed 갱신을 구현하고 release_due에서 100ms 주기와 시각 순환을 보존합니다.
- make evidence로 seed20261009·가상24시간864000건을 재생합니다. UART decode·SPI 바이트 대조 후에만 시험 sink가 저장 공간을 반환합니다. 개별 로그가 아닌 시간당 관찰 집계임을 표시합니다.
- make test에 기존 누적 회귀·동일 seed2회·다른 seed·시각 순환·잘못된 인자·UBSan 검사를 유지합니다. 분리·NACK·20/21ms·큐16/20건·나이299/300ms·저장 한계 fixture를 대응표에 연결합니다.
- evidence/CONFIG.md·PROTOCOL.md·FAULTS.md·MEASUREMENTS.md·INTERVIEW.md에 구성·통신·실패 재현·실측 조건과 모델 가정·면접 답변 근거를 작성합니다. raw.csv·summary.json·environment.json과 실제 회귀 출력을 첨부합니다.
- C11 -Wall -Wextra -Werror -pthread로 빌드하며 Python은 표준 라이브러리만 사용합니다. 실행 증거를 실제 장치24시간·최악 실행 시간·전체 메모리·보드 전류 검증으로 소개하지 않습니다.
완료 기준
- make test 종료0, 기존 queue·pipeline·state-recovery·resource 회귀와 release 9조건 실패0, 정상864000건 errors0·dropped0·queue_high1·max_latency_ms2입니다.
- 동일 seed의 CSV가 바이트 단위로 일치하고 다른 seed30건은 달라집니다. 시작4294967246ms의20건 재생과 잘못된 인자 종료2 검사가 통과합니다.
- UBSan 빌드의864000건 및pipeline경계 검사가 진단 없이 종료0입니다. raw.csv가 실제재생과, summary.json이 원시집계와 일치합니다.
- 문서5개가 존재하고 TODO가 없으며 사람이 각 주장과 소스·명령·로그를 대조합니다. 기계 검사는 길이와 TODO 여부만 확인하므로 내용의 타당성은 rubric으로 검토합니다.
make test미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 요구사항과 테스트 fixture의 대응이 드러납니다.
- 하드웨어 의존 경계와 실패 처리의 선택 이유를 설명합니다.
- 미션별 측정·관찰 증거를 실제 실행한 결과로 남깁니다.