<aside> 📋 CRDT 시리즈
이제 CRDT가 무엇인지 알게 되었어요.
저희가 프로젝트에서 CRDT를 만들고 적용한 과정을 소개할게요.
기획 상 왜비나의 회의록은 노션처럼 블럭 단위의 사용자 인터페이스를 제공하는데요.
Week3에 CRDT 팀이 세웠던 목표는 공동 편집이 가능한 블럭 한개를 만드는거에요.
우선 p 태그 하나를 블럭으로 사용하기로 했어요.
HTML의 contentEditable 속성을 사용해 input이나 textarea 태그처럼 내용을 수정할 수 있어요.
사용자의 입력에 따른 내용 변경은 리액트가 아닌 HTML 단에서 일어나고, input 이벤트로 변경을 감지합니다.
어플리케이션 쪽에서는 CRDT 인스턴스를 하나 가지고 사용자로부터 발생하는 local operation과 소켓을 통해 들어오는 remote operation을 반영해요.