Skip to content

4주차 주간 계획 회의

HeeChul Yang edited this page Nov 29, 2024 · 11 revisions

이번 주 목표

  • [ALL] 타이틀 실시간 편집이 가능하도록 → 리팩토링 (소켓/롱폴링)

    • OT 적용
    • 소켓 / 롱폴링 둘다 해보기
  • [FE] 칸반보드 까지의 모든 유저 플로우 완료

    • 리팩토링

이번 주 To Do

  • [FE] 프로젝트 생성 기능 구현

  • [FE] 프로젝트 멤버 초대 기능 구현

  • [FE] 프로젝트 멤버 수락/거절 기능 구현

  • [FE] 태스크 생성/삭제 기능 구현

  • [FE] 태스크 드래그 앤 드랍 적용

  • [FE] 태스크 변경사항 감지 및 적용 기능 구현

  • [FE] 사용자 로그아웃 기능 구현

  • [FE] 리팩토링 (목요일)

  • [BE] 스냅샷 기반에서 부분변경사항으로 변경

  • [BE] 이벤트 기반 통신 방식으로 변경

  • [BE] OT 적용

  • [BE] 소켓 방식 추가 구현

  • [BE] 리팩토링 (목요일)


소켓과 롱폴링은 이벤트를 전달하기 위한 방법

결국 HTTP 로 변경사항을 다시 불러와서 업데이트 한다.


  1. 소켓 방식 (하이브리드) (선택)
  • 편집 요청을 소켓으로 날린다.
  • 다른 클라이언트들은 소켓으로 이벤트(수정됐다라는 정보만)를 받는다.
  • HTTP 요청으로 갱신한다.
  1. 롱폴링 방식 (선택)
  • HTTP 요청으로 수정요청 날린다.

    // 삽입
    "Hello **world**"
    
    {
      id: 1,
      title: {
        position : 7,
    	content: " world",
    	contentLength: 5
      },
    }
    
    // 삭제
    "Hello **~~world~~** OK"
    
    {
      id: 1,
      title: {
        position : 12,
    	content: "world",
    	contentLength: 5
      },
    }
    • 지금은 fullText 로 받아오고 있음.
    • 두 클라이언트가 동시에 하나를 편집할 때,
    • 두 명의 작업을 보장해줄거냐 아니면 마지막 작업을 우선해서 덮어쓸거냐.
      • 두 명 이상의 작업을 보장해주려면 → 서버단의 OT가 필요하다.
      • 그게 아니라면 지금 방식을 그대로 사용해도 된다.
  • 다른 클라이언트들은 롱 폴링으로 이벤트를 수신한다. ("수정됐다"라는 정보만)

    {
      event: "updated",
      taskId: 1,
    }
  • HTTP 요청으로 갱신한다.

  • task/1/details

    • 태스크 1번 다시가져올게
    • 있던거 재탕 가능

image


남은 To Do

  • 라벨, 마일스톤, 담당자, 예상치
    • CRUD 및 이벤트 관리
  • 플래닝 포커
    • 아마 웹소켓
Clone this wiki locally