본문 바로가기

project

[main-project] 회고

3~4주간 진행했던 플레이리스트 공유 채탕방 메인 프로젝트가 끝났다 

 

 

우리는 이런 서비스 목적을 가지고 프로젝트를 진행했다.

 

나는 백엔드 포지션에서 채팅방 CRUD와 웹소켓 STOMP를 적용해서 실시간 채팅이 가능하게끔 했다.

 

1차적으로 어려운 점을 겪었던 부분 -> dto를 mapper로 controller에서 변환해주는 부분이었다. 

 

채팅방 CRUD에서 return해주는 데이터들은 playlist 정보와 member정보를 다 가져와야 했고,

playlist는 채팅방을 만들때 한개만 들고 올 수 있게끔 해야 해서

처음에는 member mypage에 저장되어 있는 playlist를 들고와야 하나 걱정했는데

playlistresponsedto에서 그냥 id를 픽해서 가져오면 될 것 같아서 쉽게 해결했다.

 

 

 

그리고 프론트 분들이랑 소통이 너무너무 중요하다는 걸 알았다.

 

 

프론트 분도 그렇고 나도 웹소켓이 처음이라 이 url을 어떻게 설정해줘야

프론트 쪽에서 메세지를 보내고 받을 수 있는지가 모호했다.

 

결론적으로 코드 수정이 필요하진 않았고 잘 해결되어 프로젝트는 마무리되었지만 나는 너무 백엔드 포지션에서 치중된 커뮤니케이션을 한 것 같아 나중에는 내 태도를 반성하게 되었다.

 

 

그리고 초반에 aws 프리티어 한계 때문에 너무 애먹었다.

 

t2.micro로 할당된 메모리 때문에 자꾸 서버 꺼지고 그런 문제들을 swap 메모리로 2GB정도 할당해줘서 해결해줬다.

 

 

기능 추가될때마다 전버전들 카피해놓은 폴더들인데 정상적으로 테스트되던 메서드들이 안되는 경우가 있었다.

이제 돌아보니 테스트 코드의 중요성을 느꼈다.

 

그리고 웹소켓 부분에서 채팅방에서 아무것도 하지 않고 있으면 DisconnectEvent에 반영되어서 로그에 엄청 찍히는 것이다. 이럴때는 이 이벤트에 반영되게 설정 아무것도 안만졌는데 의문이었다.

 

https://scshim.tistory.com/170

 

[WebSocket] 웹소켓 연결이 금방 끊어질 때 확인할 사항 (Websocket Closed)

웹소켓 연결이 금방 끊어질 때 확인할 사항 (Websocket Closed) 회사 서비스에서 예약이 들어오면 웹소켓을 통해 메세지를 전달받고 있다. 그런데 IE를 제외한 브라우저에서 메세지 전달이 어느 순간

scshim.tistory.com

 

프론트 팀원분이 링크 올려주셔서 확인해봤는데 로드밸런서 유휴 제한 시간을 늘려주니까 해결되었다.

혹시나 해서 controller에 time 세팅해주는 코드도 올려놓았다. 

ip port timeout은 각자 aws 세팅에 맞춰서 쓰시면 된다.

아마 timeout은 4000초가 최대인 것 같다.

 

 

이건 프로젝트 끝나면 작업했던 레포를 부트캠프 측에서 가져간다고 해서 git commit한것들 다 사라져서 내 레포로 가져온 흔적이다.

여기 블로그 참조했다.

https://bekangkyung.tistory.com/entry/clone%EC%9C%BC%EB%A1%9C-%EA%B0%80%EC%A0%B8%EC%99%94%EB%8D%98-git-repository-%EB%82%B4-%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A1%9C-%ED%95%A9%EC%B9%98%EA%B8%B0git-%EC%9E%94%EB%94%94%F0%9F%8C%B3-%EC%82%AC%EC%88%98%ED%95%98%EA%B8%B0

 

JPA 랑 알고리즘 조금만 더 공부하고 개인 사이드 프로젝트 빨리 진행해보고 싶다.

-> 외부 API 가져와서 사용해보기

-> TDD 기능 하나 추가될때마다 테스트 코드 짜기

-> QUERY DSL 적극적으로 활용하기 안나가도 될 쿼리까지 왕창 쓰는 느낌이 있다.

-> redis 활용 이번에도 세션 관리 redis로 해보고 싶었는데 너무 일이 많아져서 보류했는데 이 부분도 리팩토링 해봐야겠다.

-> Spring Batch 개념 잡기 

-> Jenkins 활용해서 CI/CD 구축해보기