dohun.log

부스트캠프 멤버십 그룹 프로젝트 3주차 TMI 본문

회고/부스트캠프 7기

부스트캠프 멤버십 그룹 프로젝트 3주차 TMI

dohun31 2022. 11. 26. 23:32

그... CRDT를 아시나요?

Wabinar는 실시간 공동 편집 회의록을 유저에게 제공해주어야 한다. (이때까진 좋았지...)

실시간 공동 편집 뭔가 까리하지 않나요? 까리하다구요? 그럼 구현까지 해보세요...

 

매 스프린트 회의마다 태스크의 예상 시간을 산정하는데 이번주는 정말 정말 예상하기 어려웠다.

CRDT가 뭔지 알아야지.. 나원참..

봐세요. 구글도 모르는게 있는데 저도 모를 수 있죠

아무튼 겁도 없이 그 CRDT에 손을 댔다.

 

진짜 월요일, 화요일 이틀동안 CRDT 관련된 블로그, 동영상, 라이브러리, 논문 다 찾아봤는데 진짜 보면 볼수록 더 모르게 되는 매직.

 

그러다가 문득 이런 생각이 들었다.

 

아... 저런 라이브러리나 논문처럼 삐까뻔쩍하게 만들지 못하는건 당연하구나...! 이거때문에 스트레스 받을 필요가 없구나. 그냥 우리가 할 수 있는 만큼 하면 되구나!

 

그래서 그냥 세영님과 쌩구현을 시작했다.

그래도 얼렁뚱땅 빙빙 돌아가는 왜비나

 

정말 CRDT 구현하는게 너무너무 어려웠다. 세영님이 진짜 과장없이 너무 천재같이 잘해주셔서 이번주는 정말 많이 배웠다. 나는 생각도 못한 부분을 계속 캐치해내시고 문제를 해결하시고... 너무 멋있으셨다... 

 

처음 구현했을때 remote operation이 발생했을 때 innerText가 바뀌면서 커서가 제일 앞으로 이동하는 이슈가 있었는데 remote 작업이 생기는 와중에도 local의 커서를 고정시켜주는게 엄청 힘들었다.

 

그리고 한글의 input 이벤트를 다룰 때 안 하나 치는데도 ㅇ, ㅏ, ㄴ 이렇게 3번의 event가 발생해서 한글일 땐 input이벤트를 막아두고 onCompositionEnd 이벤트를 사용해서 핸들링했다. 이렇게 해도 아직 자잘한 이슈가 존재한다. onCompositionEnd 이벤트를 사용하기 때문에 이라는 문자를 다 치기 전에 remote operation이 발생하면 버벅거린다거나 제대로 반영이 안되는...

(이때 처음으로 onCompositionEnd 이벤트를 알게됐다.)

 

일단은 여기까지만 구현하고 완성을 위해서 다른 기능에 손을 대려고 한다. 그래야한다...

 

피어세션

진짜 정말 운명적으로 피어세션을 16팀이랑 같이 진행했다. 16팀도 공동 편집 기술을 사용하고 있고, 만나기 전날 저녁에 notion을 구경했는데 우리가 했던 고민을 또오오오오오오옥같이 하고 있었다. 알고보니 16팀 분들도 모두 ✅ 이모지를 눌러주셨다.

아무튼 피어세션동안 CRDT 하면서 힘들었던거 서로 계속 얘기했다. 서로 어떻게 했는지 얘기도 하고 문제 상황 공유도 하고 너무너무 유익한 시간이었다. 그런김에 WWDCRDT에 연사로 서달라고 졸랐다. 그래서 사다리타기를 해서 연사의 기회를 기석님이 가져가셨다!

 

그리고 이번주 CRDT 외에 주영님, 원희님은 WebRTC로 화상회의를 구현하셨는데 피어세션에서 자세한 설명을 들을 수 있어서 너무 좋았다. 이번주는 CRDT구현에 너무 빠져있어서 WebRTC에 대한 흐름은 대충 아는데 정확하게는 알지 못했는데 피어세션 시간을 빌어서 조금이나마 따라갈 수 있게 되었다. 아마 남은 주말동안 이 부분은 PR보면서 열심히 공부해야겠다.

 

WWDCRDT

월요일, 화요일동안 CRDT로 엄청나게 고생하고.... 괴로운 마음을 나누고(?) 싶어서 이런 엄청난 어그로를 끌었다.

우리끼리 1명이라도 오실까요? 라고 얘기했는데 생각보다 너무 많은 관심을 주셔서 깜짝 놀랬다.

저질렀다.
보이시나요?

WWDCRDT

 

아 그리고 함께 도와주신 Web16팀 사랑해요. Codocs 화이팅! Wabinar도 화이팅!


아무튼 정말 어려웠던 기능 어찌어찌 구현해냈다. 너무 뿌듯하다. 다른 팀들 데모영상 볼때마다 너무 너무 조바심이 났다.

 

그러고 금요일 저녁에 CRDT랑 WebRTC 합치고 다같이 테스트 해봤는데 너무너무...감동이었다.

우리도 잘하고 있구나... 여러분 너무 멋있어요... 너무 든든해요...

 

CRDT때문에 너무 어지러워서 이번주 열심히 못한거 같은데 다음주에는 저 더 열심히 할게요

 

Comments