クイズ: 系譜と再現
한국어 원문으로 표시합니다.
석 달 전 실행이 어떤 입력을 읽었는지 확인해야 한다. 근거로 삼을 수 있는 것은?
- 그때 남긴 입력 파일의 내용 해시
- 드롭 디렉터리에 있는 파일의 수정 시각
- 파일 이름에 박힌 날짜 문자열
- 스케줄러에 남은 실행 성공 기록
매니페스트에 실행마다 uuid 로 뽑은 run_id 를 넣었더니 생기는 문제는?
- 매니페스트가 커져 저장 비용이 오른다
- 같은 입력으로 다시 돌려도 매니페스트가 달라져 재현을 대조할 수 없다
- 산출물 파일의 해시가 실행마다 달라진다
- 입력 파일의 해시를 다시 계산해야 해서 느려진다
같은 입력으로 두 번 돌렸는데 산출물의 바이트가 다르다. 원인으로 가장 가능성이 낮은 것은?
- 집계 결과를 집합(set)으로 모아 그대로 순회했다
- 산출물 첫 줄에 생성 시각을 적어 넣었다
- 입력 파일을 os.listdir 순서 그대로 읽었다
- 입력 파일을 바이너리로 열어 해시를 계산했다
금액을 부동소수점으로 더하지 않고 정수 센트로 바꿔 더하는 이유는?
- 정수 연산이 부동소수점보다 훨씬 빠르기 때문이다
- 센트 단위가 회계 규정에서 요구되기 때문이다
- 더하는 순서가 달라져도 합계가 같아져 재현이 깨지지 않기 때문이다
- 부동소수점은 큰 금액을 담지 못해 넘치기 때문이다
출력 칼럼 하나가 어떤 입력 칼럼에 기대는지를 증명하는 방법으로 이 실습이 쓰는 것은?
- 코드에 적어 둔 계보 주석을 읽는다
- 위키의 계보 문서와 스키마를 대조한다
- 변환 코드에서 그 칼럼 이름이 나오는 자리를 검색한다
- 그 입력 칼럼을 흔들어 다시 돌리고 값이 바뀌는 출력 칼럼을 본다
verify 가 입력 파일이 없어진 경우와 내용이 바뀐 경우를 갈라서 보고해야 하는 이유는?
- 조사하는 사람에게 둘은 서로 다른 이야기이고 다음 행동이 다르기 때문이다
- 없어진 파일은 해시 계산에서 예외를 던지기 때문이다
- 매니페스트 형식이 두 목록을 요구하기 때문이다
- 바뀐 파일만 다시 내려받으면 되기 때문이다