실전 프로젝트 3주차. 금주 토요일에 중간 발표가 예정되어 있었기 때문에, 완성되지 않은 MVP에 집중하는 한 주였습니다. 채팅 기능 구현을 담당하지 않았으나, 프론트와 연결 테스트하는 과정에서 코드를 리뷰했고, 연결에 성공했습니다. WebSocket의 프로토콜이 HTTP와 달랐기 때문에, Security로 인증할 수 없었습니다. 이 부분을 알아보는데 시간을 많이 쏟았습니다. 덕분에 Security의 구조를 리마인딩하는 좋은 계기가 되었습니다.
다른 기능으로, Detail 페이지에서 로그인한 유저에 한해 해당 모임에 가입했는지 여부를 반환하기 위해, 코드 수정이 있었습니다. 지금은 @AuthenticationPrincipal에서 UserDetails의 null 여부를 Controller에서 검증하여 분기처리를 하고 있습니다. 이 방법이 유효한 것인지 검증이 필요할 것 같습니다.
더미 데이터를 5만 건 정도 넣고, DB 조회 성능을 테스트했습니다. 조회 속도가 현저히 떨어졌기 때문에, 해당 쿼리와 로직에 대한 검증을 진행했습니다. 문제가 되는 부분을 수정했지만, 여전히 메인 페이지의 리스트 쿼리가 약 2초 정도의 시간이 소요됩니다. <DB 성능 최적화 트러블 슈팅>
Redis를 프로젝트에 적용하기 위해, 강의와 포스팅을 찾아보았습니다. 적용은 정리된 글이 많아서, 어렵지 않았습니다. 다만, Redis의 기능을 온전히 이해하기 위해서, 강의를 많이 들었습니다. 현 프로젝트의 경우, 단일 서버에서 Redis와 WAS를 같이 돌릴 것 같습니다. Redis 서버를 따로 만들어서 관리하는 내용들이 많았는데, 해당 방법을 시도하려면 따로 토이 프로젝트를 진행해야 할 것 같습니다.
토요일에는 발표가 있었습니다. 발표를 맡게 되어, 발표 스크립트와 PPT를 만들었습니다. 발표에서 긴장을 많이 했더니, 멘토님의 질문에 답변할 때 어떤 질문을 주셨는지 기억이 안나는 바람에 답변이 서툴렀던 것 같습니다.