본문 바로가기
반응형

개발 기초 다지기71

socket io 1:1 채팅 구현 (2)jwt 토큰 전달 1:1 채팅을 구현하며 두번째로 생각이 많이 되었던 부분은 jwt를 통한 토큰 전달 부분이었다. 기존 공통 jwt strategy와 guard를 이용해 채팅을 하나씩 구현해나가는 중 jwt쪽에서 계속적으로 에러가 발생했다. 처음에는 원인을 찾지 못했는데, 하나 둘 찾아보던 중 socket 같은 경우 jwt를 전달하는 방식이 다르다는 것을 알게 되었다.  HTTP와 WebSocket의 차이점HTTP : 요청-응답 방식으로 동작. 클라이언트가 서버에 요청을 보내고, 서버는 요청에 대한 응답을 반환. 이 과정에서 클라이언트는 요청 헤더에 JWT 토큰을 포함시킬 수 있으며, 서버는 이 토큰을 검증하여 사용자의 인증 상태를 확인할 수 있다.WebSocket :  클라이언트와 서버 간에 지속적인 연결을 유지하는 프.. 2024. 8. 2.
socket io 1:1 채팅 구현 (1)채팅방 DB 저장 socket.io를 통한 1:1 채팅을 구현했다. 이 과정을 진행하며 여러 부분에서 고민이 되었는데, 그 중 고민되었던 부분들을 정리해보려 한다.1. 채팅방 각 유저 id 에 대해 각자의 DB 칼럼에 어떻게 알맞게 넣을 것인가?문제이번에 구현하는 채팅 기능의 경우 2가지 도메인에서 접근이 가능하다. 1. 서비스 유저 2.CP(Content Provider) 그렇다보니 chat 테이블의 칼럼도 userId와 cpId로 나눠져있다. 채팅방에 입장할시 서비스 유저 입장에서는 CP의 ID를 입력하고 들어올 것이고, CP의 입장에서는 서비스 유저의 ID를 입력하고 들어올 것이다. 이 상황에서 데이터베이스에 채팅방을 저장할 때 cpId와 userId가 어떻게 적절히 분류되어서 들어가게 만들 수 있을 것인가?해결과정.. 2024. 8. 1.
소켓 1:1 채팅 기능(구현했던 알림 기능과 다른점은?) 이전 팀프로젝트에서 socket.io를 통해 서비스 알림 기능을 구현했다. 이번 최종프로젝트에서는 운좋게 socket.io를 통해 1:1 채팅을 구현할 수 있게 됐다. 그래서 오늘 해당 기능을 위해 약간의 공부와 기본 구성을 만들었다. 비슷한듯하면서도 응용이 필요한 1:1 채팅기능을 정리해보겠다.  알림 기능과 1:1 채팅의 차이점은 무엇이 될까?데이터 구조 및 저장알림: 보통 단방향 데이터 흐름으로, 서버에서 클라이언트로 짧은 메시지 전송.채팅: 양방향 데이터 흐름으로, 메시지의 송수신이 빈번하며, 메시지 기록을 저장하고 조회할 필요가 있음.실시간 통신알림: 특정 이벤트 발생 시 알림을 푸시.채팅: 지속적인 연결을 유지하며, 메시지 송수신을 실시간으로 처리.유저 인터페이스알림: 간단한 UI로 알림 리스.. 2024. 7. 29.
Linux 명령어 정리 github 및 터미널에서 배포 등을 진행하며 간단한 Linux를 사용해 왔다. Linux 명령어를 잘 알면 개발하는 데 있어 훨씬 효율적이고 편리하다는 것을 알고 있지만, 항상 과제와 프로젝트를 끝내기 위한 급한 마음으로 사용하다 보니 막상 제대로 정리해 본 적은 한 번도 없다. 캠프도 끝이 얼마 남지 않았으니, 이번 기회에 그동안 필요한 것만 쏙쏙 빼서 사용하던 Linux의 명령어들을 정리해보려 한다. 1. 파일 및 디렉토리 관리- ls : 현재 디렉토리의 파일 목록을 출력. 옵션 추가해 파일의 자세한 정보 확인 가능ls -l - cd : 디렉토리 이동 명령어. 경로를 입력해 원하는 위치로 이동 가능cd /home/user/Documents - mkdir : 새로운 디렉토리 생성mkdir new_di.. 2024. 7. 24.
반응형