Skip to content

3주차 피어세션

hodun edited this page Nov 25, 2022 · 2 revisions

진행상황 공유

🙋🏻, ⛺️: CRDT.. CRDT… 그리고 WebRTC


질의응답

⛺️ → 🙋🏻

Q. test code를 작성하셨나요?

아직 작성을 못했어요. 저희가 생각한 꼬이는 케이스는 여려명이 같은 clock, 같은 index에서 작업했을 때인데 이걸 테스트 하려고 해요.


Q. 화상 회의를 구현할 때 제일 어려웠던 부분이 어디인가요?

WebRTC를 구현할 때 시그널링이라는 부분이 있는데 이 부분이 생각했던것 보다 엄청 어려웠어요.

  • 시그널링

    P2P 연결을 할 때 연결하려는 대상의 IP를 알려주는 중간 서버가 필요해요. 그 서버를 시그널링 서버라고 해요.


Q. key는 어떤식으로 사용하시나요?

배열을 사용할 때 앞과 뒤 사이의 랜덤한 값으로 만들어 줬었는데 만약에 1, 2가 사이에 문자를 입력할 때 1.99999가 생기면 1.999992사이에 insert가 발생하면 숫자가 감당 못하는 문제가 생겨요. 그래서 LinkedList로 변경했어요.


Q. local과 remote가 있을 때(a, b, c) 상대가 b와 c사이에 d를 넣으면 어떻게 되나요?

b, c의 id로 d의 id를 만들고 remote에 알려요. remote는 $O(N)$ 시간으로 탐색을 하고 맞는 자리에 insert 해줘요


Q. 4, 5주차 계획이 어떻게 되나요?

백로그 상으론 에디터, 화상회의 성능 고도화를 해야하는데 아직 베이스가 부족해서 회의를 해봐야 할 것 같아요. 에디팅 기능을 제외하고도 실시간 투표나, 실시간 질문 블록같은 기능이 있어서 이 부분에 대한 기능 추가가 필요해요. WebRTC는 캠, 마이크 컨트롤 하는 작업이 필요해요.


Q. vite 어땠나요?

엄청 빨라요. 조금 불


Q. 예상시간이 잘 지켜지고 있나요?

아니요. 예상시간의 전제조건이 그 task를 위한 선수 작업들이 모두 완료되었다여서 그 시간안에는 절대 못해요.

⛺️: 저희는 그래서 due time을 정해요.


🙋🏻 → ⛺️

Q. 이번주에 작업을 어떻게 진행하셨나요?

🙋🏻: 저희는 CRDT, WebRTC 두 파트로 나눠서 진행중이에요.

분업을 하지 못했어요. 논문도 읽고 계속 찾아보는데 왭^^팀도 공감하실텐데 공부하면 할 수록 어려워져서 일단 밑바닥부터 구현해보자 하고 화~목 동안 진행했어요. 아직 여러글자랑, 한글은 지원이 안돼요.

🙋🏻: 저희도…☹️😢


Q. code mirror가 markdown 라이브러리인가요?

다른 라이브러리도 파보면 code mirror 베이스인 정도로 완전 밑바닥 에디터에요. from, to도 계산해줘요.


Q. cursor 계산은 어떻게 하셨나요?

이 부분은 code mirror가 알아서 해줘요.


Q. 성능개선을 해서 유의미한 비교를 해보는것이 목표이신가요?

네!


Q. DB에는 어떻게 저장하실 건가요?

structure를 그대로 저장하고 sync를 맞춰주는 방식으로 하려고 해요.


Q. insert, delete 이벤트가 많이 발생하는데 어떻게 최적화 하실건가요?

소켓 이벤트가 발생할땐 DB에 저장하지 않을거에요. Interval을 줘서 저장을 하려고 생각중이에요.


TMI

현빈님 슬랙 프사랑 똑같이 생기셨어요.

직접 그린거에요 🙌


번외

WWDCRDT 연사 사다리타기

스크린샷 2022-11-25 오후 1 55 42
스크린샷 2022-11-25 오후 2 58 07
Clone this wiki locally