-
Notifications
You must be signed in to change notification settings - Fork 0
1.0.1 (January, 17, 2025)
MinJi Ko edited this page Jan 17, 2025
·
13 revisions
-
채팅 컴포넌트 구조 개선 #5
- 컴포넌트 통합
- HostChatRoom과 ClientChatRoom을 ChatRoomContainer로 통합해 사용자 유형 추가 시 확장성을 확보.
- 사용자 타입(userType)에 따라 적절한 sessionKey를 패칭할 수 있도록 ChatSessionContext를 설계.
- 상태 관리 개선
- 기존에 ChatContext에 혼재되어있던 Reducer 코드를 chatUIReducer로 분리.
- 기존 액션 문자열을 직접 입력하던 dispatch 방식에서 명시적인 액션 핸들러 메서드로 전환하여 실수 방지 및 코드 가독성 향상.
- 컴포넌트 세분화
- ChatList와 ChatItem으로 분리하여 메세지 타입에 따른 컴포넌트를 명확히 구분
- switch 문을 사용해 채팅 메세지 타입별 로직과 렌더링 구조를 한눈에 파악할 수 있도록 구현
- 컴포넌트 통합
-
Suspense 사용자 경험 개선 #8
- 사용자 경험 개선
- 기본값으로 1초 이상 걸리는 작업에 대해서만 Suspense처리
- 사용자 경험 개선
-
검색 바 추가 #12
- AI 리팩토링을 위한 검색창 기능 추가
- 글자가 하나씩 타이핑될때마다 컴포넌트 전체 리렌더링되는 문제를 해결하기 위해 useState대신 useRef도입
- useDebounce (debounce 커스텀 훅) 추가
- 채팅 서버 유저 생성 로직, Redis Client 로직 분리
- 유저 생성 로직이 socket.io room 관련 로직과 묶여있어서 분리하여 모듈화하여 유지보수성 향상
- (학습, 진행중) Redis Cluster + Redis Pubsub 을 사용하게 되면, 불필요한 이벤트 전파가 발생할 수 있음.
- 해결 방법에 대한 고민 및 학습 : 채팅 서버 개선기
-
팀 개발 블로그 페이지 및 노션 자동화
- 노션에 작성하고 갱신 버튼을 통해 자동으로 깃허브 푸시 및 배포 되도록 자동화
- 문서 작성의 과정을 자동화해서 꾸준히 문서 작성을 할 수 있도록 개선