Published:
Updated:

오늘의 활동

  • 프론트와 알림 연동 테스트
  • 최종 연동 테스트
  • 최종 배포


느낀 점

  • 오늘은 하루종일 프론트와 연동 테스트하는 데에 시간을 거의 다 썼다. 하지만 결론은 아주 잘 작동해서 7주간의 고생이 싹 내려간 느낌이었다.
  • 알림 연동 테스트를 하려면 채팅을 먼저 연동을 해야 했는데, 아직 완성이 되지 않아서 프론트 로컬 테스트로 진행했다. 이 과정에서 자잘한 코드를 수정하게 됐다.
    • nginx HTTP 1.1
      • 원래는 nginx HTTP 1.0 버전이어서 프론트에서 오류 발생
      • nginx-release.conf 파일에서 proxy_http_version 1.1; 추가 후 해결
    • SseEmitter 반환
      • 이걸 반환하지 않으면 content-type이 잘못되었다는 에러가 계속 발생
      • 반환 타입을 void에서 SseEmitter로 변경 후 해결
    • 순환 참조 에러
      • chatMessageServiceisAnyoneInChatRoom() 메서드를 활용하기 위해 MessageSubscriber 안에 chatMessageService를 참조하게 되었는데, 이 과정에서 순환 참조가 발생
      • chatMessageRepository를 직접적으로 참조하게 변경 후 해결
    • 채팅방에 둘 다 들어와 있을 때는 알림을 보내지 않도록 수정
      • 위에서 언급한 isAnyoneInChatRoom() 메서드가 true라면 return 하게끔 함
    • 쿼리 수정
      • ChatRoom을 가져오는 ChatRoomRepositoryfindChatroomFetchById() 메서드에서 @Query문이 ChatRoom인 c를 참조해야 하는데 그것을 참조하지 않아서 생긴 문제
      • c.product, c.user로 수정 후 해결
    • Receiver에게는 알림이 안 가는 문제
      • ChatRoomgetReceiver() 메서드에서 User 객체인 sellersenderif (seller == sender)와 같은 형식으로 주솟값 비교를 했기 때문에 이 if문을 통과하지를 못 했었음
      • 이는 if (seller.getUserId().equals(sender.getUserId()))와 같이 userId를 가지고 비교하여 해결
  • 이제 정말로 내일 발표만 끝난다면, 코드스쿼드에서의 프로젝트는 4주짜리 프로젝트 하나만 남게 된다. 12월에 마스터즈 합격해서 좋아하던 게 저번주 같은데 시간이 정말 빠른 것 같다. 마지막 프로젝트는 짧긴 해도 더더욱 열심히 해서 앞으로의 공부에 도움이 될 수 있도록 하자.


내일 할 일

  • 약 7주간의 프로젝트의 마무리
  • 발표

Tags:

Categories:

Published:
Updated:

Leave a comment