내가 가장 사랑하는 앱은 당근마켓이다.
당근마켓의 기획 의도 뭐 이런게 다 너무 신선하고 좋아서 ERD 설계 처음부터 끝까지 내가 만들어보자! 생각으로 시작했었다 약 1달 전에 ..

이렇게 초기 ERD 설계를 하고(몇번 대대적으로 갈아엎지 않을까..) 나름 패키지명도

이렇게 구현해두었다.
1. 일단 저번 프로젝트떄 웹소켓 stomp로 채팅을 구현해본적이 있어서 이번에는 redis로 채팅 기록을 관리해보고자 했다.

멘토링할때 들었었는데 실무에서는 fk를 잘 안건다고 했었던 것 같다. 지금까지 모든 설계를 RDBSM로 fk를 엔티티마다 아주 착실히 걸어줬었는데 nosql 설계를 지향해보도록 하겠다. 뭔가 저런식으로 채팅 redis를 활용해보긴 했는데 거의 어떤 블로그 코드 따라친거라 아직도 잘 이해가 안간다.
저번 메인 프로젝트 때도 eventlistener -> sessiondisconnectevent로 유저 퇴장을 확인했었는데

여기서 문제가

프론트측이 서버 끄면 예를 들면 뭐 다른 창으로 옮겨간다거나 (sessiondisconnectevent에 안잡히는거) 이걸 서버 측에서 어떻게 핸들링할지 몰라서

log 찍힌거 보면 stompHeaderAccessor에 simpSessionId가 찍히길래 아예 세션 관리를 redis로 해볼까..?하는 생각이 들었지만 redis를 한번도 구현해본적도 없고 시간이 촉박했기 때문에 그냥 MessageMapping api하나 더 만들어서 핸들링했었다. 이 부분을 redis 웹소켓으로 리팩토링해보면 좋을 것 같다.
2. querydsl을 적극 활용해서 저번 프로젝트때 무분별하고 쓸데없이 나가는 쿼리문을 효율적으로 짜보고자 했다.
일단 저번 프로젝트때 querydsl을 구현하지 않아서 간단한 test코드를 짜봤다.
내가 김영한님 querydsl 인프런 강의를 들으면서 제일 인상깊었던 부분이 search를 진짜 간단하게 할 수 있다는 점이라

별 거 없는 로직이지만 저번 프로젝트 코드에 살짝 넣어봤다. querydsl.. 진짜 잘 활용해보고 싶다 !!
3. 프리 프로젝트떄 인증 부분을 맡았지만 refreshtoken까지 구현 못하고 accesstoken만 구현을 해봤고 oauth를 이용해서 소셜로그인을 구현하고자 했다.
4. tdd 테스트 주도 개발 ~ spring rest docs를 활용하고자

나름 초기 설정도 마쳐두었다.

responseFields에 딱 필요한 필드값들만 호출하도록 하고 그렇게 설계하는게 실무에서도 더 좋을 것 같아서 이 부분을 참고하려고 했다.
5. ERD 설계 해놓은거 보면 picture는 연관관계도 없고 필드도 없다. picture가 그 당근마켓 올릴 물품 사진 그거라 보통 이미지는 S3에 따로 저장한다고 알고 있어서 그렇게 하려고 하는데 이것도 해본적이 없어서 그냥 picture 테이블만 외딴섬처럼 해놓았다
이런 포부로 한달전쯤 시작해서 인증 부분을 막 구현하고 있었는데 무슨짓을 해도 포스트맨에 바디값이 안날라오는 거였다.. 200ok만 뜨고 return 해줘야 할 파라미터 값들이 전혀 !! 날아오지 않고 DB에도 저장이 안돼서 h2에 수동으로 insert해보고 했는데 문제는 password encode쪽인것 같았다.


여기 오류보면 There is no PasswordEncoder mapped for the id "null"
findByEmail, findByUsername 여기 서비스 로직 쪽인지 정확히 어디서 오류인지 알아보려고 log를 찍어봐도 log가 안찍히는 불상사가 발생 !
몇날몇일 이 오류로 인증쪽 코드 엎고 디스코드로 인증 잘 아시는 분께 개인 dm도 보내봤지만 해결이 안되었다 ㅠㅠ
그래서 이번에는 진짜 20일동안 매일매일 작업해서 aws로 배포하고 github 자동화까지 해보려고 한다.
'project' 카테고리의 다른 글
| Querydsl 동적쿼리 실행계획 살펴보기 join(nested loop join, hash join)문과 인덱스 (0) | 2024.02.23 |
|---|---|
| [spring] Websocket Stomp 두번의 프로젝트 회고 (0) | 2023.09.15 |
| [main-project] 회고 (0) | 2022.12.13 |
| [pre-project] 1일차 (0) | 2022.10.24 |