일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 부트캠프항해
- 그리디
- server component
- 항해99후기
- NextJS v13
- jQuery
- 항해99
- greedy
- 항해99솔직후기
- 중복카테고리
- 자바스크립트
- 실전프로젝트
- 서버 컴포넌트
- db수정
- 중복선택
- 항해99추천
- react
- 알고리즘
- 탐욕알고리즘
- 카테고리필터
- 숫자를 별점으로
- 배열 메소드
- JavaScript
- 백준
- 로딩 후 실행
- 동전 0
- 프로그래머스
- 클라이언트 컴포넌트
- 배열 중복 제거
- 날씨 api
- Today
- Total
목록프로젝트/오델로만들기 (3)
공부 및 일상기록

오델로 프로젝트에서 DB로 mySql을 사용하면서 sequelize라는 ORM을 사용하게 되었다. 사실 프로젝트 초기에 아주 잘 만들어 놓았다고 착각한 모델이 있었는데, 여러 블로그들과 지피티와, 지인들에게 물어보니 하나의 테이블 안에 너무 자주 불리는 자료가 있다면 목적에 맞게 분리시키고 1:1 관계를 맺어주는게 좋다고 하였다. 생각해 보니 나는 User라는 테이블안에 회원정보, 그리고 게임 상태, 게임 전적을 볼 수 있는데, 이 세가지는 각기 다른 상황에서 자주 이용될것 같아서 분리 하게 되었다. 그래서 User, GameStatus, Record 라는 이름으로 세 개의 모델을 만들고, sync를 시켜주는데.. 문제는 sync가 User만 되고 나머지가 일어나지 않는 것이였다. 분명 sequelize..
현재 백엔드에서 로그인 인증방식 및 소켓 방 입장의 처리 시점등의 문제들이 있어서 디비를 수정중이다. 내가 너무 더딘 속도로 개발중에 있고, 집중도 안되서 중간 내용을 정리 할 겸 블로그에 정리를 해야겠다는 생각에 쓰는 글이다. 서버를 뒤엎고 다시 만들어놓은 기능 - 회원가입, 로그인, 로그인 인증(JWT) 더 개선해야 하는 코드 - DB테이블 변경 (기존 User 테이블에 너무 많은 정보가 담김, User, GameStatus, Recoad 로 세분화) - socket에 접속 ➡️ GameStatus 디비조회 ➡️ 모델 업데이트 ➡️ 상태에 따른 처리 순서로 코드 변경해야함 - 기존 서버 메모리에서만 사용하던 User객체를 지우고 DB User모델에 비즈니스로직 옮기기 - 방 입장, 레디, 게임시작과..
오델로 프로젝트를 진행한지 거의 3주가 지났는데 너무 제자리 걸음이다. 그래서 오늘부터라도 하루마다 진행한 내용과 어떤 삽질이 있었는지 기록해둬야겠다는 생각이 들었다. 그래야 이전에 어떤 생각으로 이렇게 구현했고 저렇게 구현했고.. 이런걸 알 수 있을 것 같다. 일단.. 이전에 다음과 같은 방식으로 인증과 소켓연결을 시도했다. 로그인 ➡️ 서버에서 토큰 발급하여 리스폰스 ➡️ 액세스토큰과 간단한 유저 정보를 로컬스토리지에 저장 ➡️ 클라이언트에서 로컬스토리지에 토큰이 존재하면 바로 게임 로비로 리디렉션 ➡️ 로비페이지에 접속하면 자동으로 socket.io 연결 시도 ➡️ 서버에서 연결 이러한 과정을 구현했다. 그리고... 지금 문제가 되는 부분이 있다. 소켓에 연결된 로비페이지에는 방 목록 (다른 유저들..