-
Notifications
You must be signed in to change notification settings - Fork 3
텍스트 충돌 병합 알고리즘
jjeonghak edited this page Dec 5, 2024
·
3 revisions
중앙 서버가 필요없고, 문서 편집하는 유저들끼리 데이터를 교환
각 문자에 고유한 id를 부여하고 이를 기반으로 보정
고유한 id 값을 저장하는 메모리와 이를 관리하기 위핸 트리구조 메모리가 필요
Peer-to-Peer 통신이 항상 가능하지 않음
실시간성이 모호해지며 동기화 결과 문자열이 섞여 의도하지 않은 결과물이 나올 가능성 존재
index 대신 unique id(timestamp, actor id) 사용
-
Optimistic Replication(local first, sync later)
- 다수의 복제본을 가지고 있고 복제본의 내용이 달라지는 것을 허용
-
Eventual Consistency(convergence)
- 최종적으로 문서의 상태 동일
- operaction의 교촨 법칙이 성립해야함
-
Text.Stylce Operation
- 스타일이 추가될 때는 두 문자 사이에 있는 모든 범위에 있는 텍스트에 적용되어야 한다
- 텍스트가 삽입될 때는 기존에 있던 문자 스타일을 이어받는다
편집 시간과 인덱스를 기반으로 변경사항 보정
중앙 집중 처리 방식
변경사항을 서버에서 모두 받고 알맞게 변경하여 각 클라이언트에게 변경사항 전달
- 1. 1주차 팀 빌딩 및 기획 회의
- 2. 1주차 두 번째 기획 회의
- 3. 1주차 세 번째 기획 회의
- 4. 1주차 기획 공유 발표 전 회의
- 5. 2주차 라이브러리, 개발 환경 관련 회의
- 6. 2주차 모노레포 관련 회의
- 7. 2주차 실시간 통신 기술 회의
- 8. 2주차 실시간 목표치, 발표 준비 회의
- 9. 3주차 주간 계획 회의
- 10. 4주차 주간 계획 회의
- 11. 4주차 팀 목표 재설정 회의
- 12. 4주차 기능 추가 회의
- 13. 4주차 플래닝 포커 회의
- 14. 5주차 주간 계획 회의
- 15. 5주차 이미지 업로드 관련 회의
- 16. 5주차 칸반 보드 회의
- 17. 5주차 데모 및 최종 발표 회의
🧾 회고 캘린더