WEBBOOK CHAPTER

반응형 웹을 진짜 앱으로: 36장. 충돌을 숨기지 않고 업무 규칙으로 푼다

36장. 충돌을 숨기지 않고 업무 규칙으로 푼다

같은 inspection을 두 기기가 offline에서 수정할 수 있다. server version과 base version을 command에 넣고 server가 달라졌으면 409와 최신 snapshot을 돌린다. 단순 last-write-wins는 안전 항목을 덮을 수 있다. field별 merge 가능 여부, supervisor 승인, append-only note, 사진 union, 완료 상태 잠금을 표로 만든다.

FieldMate에서 일반 메모는 사용자 선택 merge, 안전 체크는 supervisor review, 사진은 checksum 기준 합치기, 완료 서명 뒤 답 수정은 adjustment 기록으로 처리한다. conflict UI는 local·server 값과 작성자·시각을 보여 주고 어느 것을 선택해도 새 audit event를 만든다.

실습은 기기 A/B가 version 3에서 서로 다른 위험 답을 저장하고 B가 먼저 sync한 뒤 A가 sync하게 한다. A의 변경을 조용히 버리거나 덮지 않아야 한다. merge 후 server version, 두 기기 snapshot, audit와 queue가 일치하는지 확인한다. clock 시각만으로 winner를 정하지 않는다.