본문 바로가기

TIL(Today I Learned)90

TLI 75일 (23. 8. 25. 금) 최종프, TCP, UDP, 채팅방 종료 알림 구현 모두 네트워크 계층 중 전송계층에서 사용하는 프로토콜입니다. TCP는 3-Way handshaking과정을 통해 연결을 설정해서 신뢰도를 확보해서 순서를 보장하는 대신 속도가 느립니다. UDP는 순서를 보장하지 않고, 신뢰도가 낮은 데이터 전송을 하는 대신, 단방향 데이터 전송으로 속도가 빠르다는 차이가 있습니다. 따라서 TCP는 신뢰도가 필요한 HTTP통신, 이메일 등에 사용되고, UDP는 빠른 속도가 중요한 스트리밍 서비스에 사용됩니다. 채팅창을 사용자가 닫았을 때 아래와 방식으로 채팅방에 사용자가 떠났음을 알릴 수 있습니다. // 사용자가 최초 접속시 사용됨 주소는 chatUrl에 따라 달라짐 @MessageMapping("/chat.addUser/{chatUrl}") @SendTo("/topic/.. 2023. 8. 25.
TLI 74일 (23. 8. 24. 목) 최종프, 쿠키 세션, 채팅방 생성 초대 쿠키, 세션 쿠키와 세션 모두 인증방식 중 하나입니다. 쿠키와 세션의 가장 큰 차이점은 정보가 저장되는 위치입니다. 쿠키는 클라이언트 측에서, 세션은 서버 측에 저장되고 관리됩니다. 정보의 특성에 따라, 사용자의 편의를 위하되 지워지거나 가로채거나 했을 때 큰 문제가 생기지 않을 만한 정보들은 쿠키에, 사용자나 다른 누군가에게 노출되어서는 안 되고 서비스 제공자가 직접 관리해야 하는 정보는 세션에 저장하게 됩니다. 모두 세션에 저장하게 된다면 접속자가 많을 때 서버에 부담이 커지므로 개발자의 판단하게 적절하게 분배해야 합니다. 유저 - 채팅방 - 채팅그룹 다대다 연관관계를 풀어서 1대다 다대1로 작성했습니다. 2023. 8. 24.
TLI 73일 (23. 8. 23. 수) 최종프, 채팅 기능 구현 진행 상황 정리 기능 전체 채팅 : 같은 관심사(예 : 개발자 취업 준비)를 가진 사람들이 같은 카테고리 안에서, 자유롭게 대화를 나눌 수 있다. 실시간 정보 나눔 : 예) 자바 책 추천(자바의 정석이 좋아요? 이것이 자바다가 좋나요?), 예) 스프링 공부하려는데 내배캠 강의 괜찮나요? 잡담 : 공부하다가 힘들면 잡담도 나눔. 프로세스 닉네임 설정 → 주제 별 방 접속 → 접속 알림 → 채팅 → 다른 사람이 접속하면 접속 알림 → 채팅 나가면 접속 종료 알림 친구 채팅 : 내가 그룹을 만들고 초대 또는 참여를 해서, 친구랑 개인적인 이야기를 주고 받을 수 있다. 구현 난이도에 따른 개발 분리 전체 채팅 기능이 친구 채팅 기능 보다 쉽다고 생각함(이유는 아래 서술) 친구를 채팅방에 초대 또는 접속하는 코드 구현 대화 내용.. 2023. 8. 23.