"선택 작업에는 오래 사는 정체성이 필요하지 원문을 지배할 권한이 필요한 게 아니야."
먼저 지킬 것
번역은 쓸모 있고 블라인드 리뷰는 더 낫게 만들 수 있고 음성은 읽기를 돕지. 그래도 원문은 아니야. 장식이라고 부르는 건 무시가 아니라 선택 가치가 문지기가 되지 못하게 하는 순서 규칙이야.
상태로 약속해
번역과 리뷰에는 kind와 language, status, error, timestamp를 가진 오래 사는 작업을 주고 실제 worker claim은 attempt 행으로 남겨. 번역 결과는 translation 행에 두고 저자 수정은 review note 뒤에 오며 따라 읽기 음성은 직렬 Bellows lane에서 필요할 때 요청해.
조용한 실패
거대한 장식 작업 하나는 부분 성공을 숨기고 재시도를 비싸게 해. HTTP 요청 안의 inline 호출도 일을 감춰. 독립 행은 무엇이 있는지 정확히 말하고 실패한 모서리만 다시 돌리게 해.
다섯 순간을 따라가
이 원칙이 진짜인지 알려면 생성 직전, 저장 직후, worker가 집어 든 순간, 결과가 돌아온 순간, 다음 날 다시 읽는 순간을 차례로 봐. 각 순간에 엔트리와 작업의 상태, 작업이 읽은 원문, 사용자가 보는 문구를 적어. 성공한 요청만 맞고 재시도나 취소에서 달라지면 원문 주권은 조건부였던 거야.
수행해
번역과 리뷰는 오래 남는 작업으로, 저자 수정은 리뷰의 저자 단계로, 음성은 별도 on-demand 경계로 모델링해. 정상 완료 하나만 그리지 말고 원문 수정, 엔트리 삭제, worker 재시작, 외부 서비스 실패도 같은 표에 넣어. 결과를 버리는 일이 데이터 손실이 아니라 무결성 보존이 되는 순간을 분명히 표시해.
마지막 질문
화면이 원문을 계속 보여주고 작업 상태를 솔직히 말하는가? 그렇다면 장식은 원문을 돕고 있어. spinner나 빈칸으로 실패를 숨기거나 늦은 결과가 최신 글을 덮으면 장식이 왕좌를 훔친 거야.
이 레슨의 착지 조건
번역과 리뷰를 한 행에 뭉치면 앞 단계 성공과 뒤 단계 실패를 구분할 수 없어. 작업과 attempt를 나누면 번역은 보이되 리뷰는 실패했다고 말하고, 음성 실패는 텍스트 상태와 별개로 다시 요청할 수 있어. 부분 상태를 정직하게 보여주는 게 독립 기록의 값이야.
응답 속도와 정확성은 서로 반대편에 있지 않아. 오래 남을 원문을 먼저 확정하고, 나중 결과에는 현재 상태를 다시 묻게 하면 둘 다 지킬 수 있어.