240725 TIL_최종 프로젝트_ 실시간 채팅

미밍·2024년 7월 25일
1

우당탕탕 개발 일기

목록 보기
86/108

1) 라우트 핸들러 강의 보기
2) post 매서드 작성 CR로 인서트까지 완료 수파베이스 멀쩡한지 확인
3) 구독 관련 매서드 .... 도 좀 찾아보고 확인해보기 (서버)

마구잡이로 코드를 짜니 또 어지러워지는 현상 발생...

다시 정리

  1. 입력 가능한 함수 걍 setMessage (함수로 하지 말걸 그랬남)
  2. 서버에서 chat 가져오는 함수 + 이를 탄스택으로 관리하는 함수
  3. 서버에서 chat 입력하는 함수 + 이를 뮤테이션으로 관리하는 함수
  4. 유효성 검사 및 useMutation 실행하는 함수

실시간 채팅이다 보니 엔터 쳐도 되게 하려고 하는데 어쩐지 찾아보니까 인풋 1개면 그냥 된다는 소리가 있어서 일단 실험해볼 예정....


트러블? 슈팅?

1) 타입 오류
=> post에 들어가는 newMessage 에 생각 없이 Tables<''> 로 타입 쓰지 말자. 나머지 자동 생성되는 친구들이 있으니까 필요한 애들만 타입 넣어주자.

오케이 재밌어지기 시작했다.
지금 내가 가지고 있는 문제

  1. 영어가 안 써져.
  2. 지우는 게 안 돼.
  3. 특수문자가 한 번만 써져 이유가 뭘까?
  4. 엔터로 전송하면 2개가 들어가

event.preventDefault(); 위치 때문이었다. 잘 조절하니 됨.


의사 결정

data에서 user_id를 통해 → users 테이블을 대조할까, 아니면 애초에 chat 테이블에 이런 저런 정보를 저장할까 고민 중…. ^-^~!
⇒ user_id를 받아 users 테이블에서 찾기로 했다.

1) 데이터베이스에 두 번 저장하는 것은 일단 낭비라고 생각해서, 그때그때 반영하기로 함.

본래 있던 user api가 있어서 그걸 활용하려고 했더니, 조금 달라서 새로 만들어야 할 듯 하다.

get, post의 차이를 묻는 질문이 많아서 좀 찾아보는 중인데

GET 대신 POST를 사용하는 주요 이유는 다음과 같습니다:
데이터 크기 제한:GET 요청은 URL에 데이터를 포함시키는데, 이는 길이 제한이 있습니다. 많은 사용자 ID를 전송해야 할 경우, URL 길이 제한을 초과할 수 있습니다.
보안:POST 요청은 데이터를 요청 본문에 포함시키므로, URL에 민감한 정보가 노출되지 않습니다.
복잡한 데이터 구조:POST를 사용하면 JSON과 같은 복잡한 데이터 구조를 쉽게 전송할 수 있습니다.
관례:데이터를 서버로 보내 처리하는 작업은 일반적으로 POST를 사용합니다.


문제 또 발생
새로운 채팅을 칠 때 스크롤이 가장 밑으로 안 따라간다. 흐으으음'-'!!!!!! 추가 로직 발생~~


문제

피그마 아이콘 svg 로 넣은 친구는 className이 안 먹는담

아이콘에 직접 속성 내려줘서 해결 완료

<svg
  width={width}
  height={height}
>

이렇게 하고 속성으로 내려줬더니 된당.

profile
프론트앤드; Frontend

0개의 댓글