본문 바로가기

분류 전체보기

(3)
웹 채팅 프로그램 개발 프로젝트 후기 - 3 안녕하세요.채팅방 퇴장 기능, 성능 분석 등을 마지막으로 진행해보겠습니다. 3. 주요 기능 구현 방식5. 채팅방 퇴장 기능최초 트랜잭션은 아래의 흐름으로 구현했습니다.ChatRoom 존재여부 확인 : chatRoomRepository.findByIdMemberChatRoom 삭제 : memberChatRoomRepository.delete(memberId, roomId)ChatRoom에 참여 중인 Member 확인 : memberChatRoomRepository.findByRoomIdChatRoom 참여 중인 Member가 없으면 삭제 : chatRoomRepository.delete(roomId) 위 트랜잭션은 동시에 실행될 때 Isolation Level 때문에 문제가 발생함을 확인했습니다. MySQ..
웹 채팅 프로그램 개발 프로젝트 후기 - 2 안녕하세요.1편에서는 요구사항, 프로그램 구성, 그리고 유저 간 채팅 메세지 송수신 기능에 대해서 설명하였습니다.이어서 다른 주요 기능 구현 방식에 대해서도 진행해보겠습니다. 3. 주요 기능 구현 방식2. 채팅 메세지 저장 및 조회 기능 채팅 이력은 Spring Data Elastic Search를 통해 Elastic Search에 저장되도록 구현하였습니다. 채팅 메세지는 키워드, 저장 시간 등의 기준으로 조회되어야 하므로 Elastic Search에 저장하는 것을 선택했습니다. Spring Data Elastic Search에 대해 정리한 링크는 아래와 같습니다. [Github Link] https://github.com/chrismrkr/WIL/blob/main/infrastructure/elasti..
웹 채팅 프로그램 개발 프로젝트 후기 - 1 안녕하세요.웹 기반 채팅 프로그램을 개발한 사이드 프로젝트 과정과 후기를 남겨봅니다.회사에서 웹 소켓과 관련된 업무를 담당하며 해당 기술에 관심을 갖게 되었고, 해당 기술 관련 개발 역량을 기르고자 시작한 프로젝트입니다.Backend와 Infrastructure에 초점을 맞춘 글이며, 프로그램의 구성, 주요 기능 구현 방식, 그리고 성능 분석 및 트러블 슈팅 과정에 대해 구체적으로 설명했습니다.  프로젝트 진행 과정을 리마인드하고 해당 분야에 관심있는 다른 방문자님들께 내용 공유하기 위한 목적으로 작성했습니다. 특정 부분에 대해서 더 궁금하다, 내용 설명이 잘 이해가 안된다, 부연 설명이 필요하다, 보완이 필요한 설명이다, 등등 모든 피드백은 주시면 감사히 받겠습니다.  아래 링크에서 프로젝트의 전체 소..