Instagram-Clone-Coding / Spring_instagram-clone

Instagram Clone Coding - Backend using Spring Framework
http://ec2-52-79-71-191.ap-northeast-2.compute.amazonaws.com
MIT License
80 stars 23 forks source link

멤버의 최근 게시물 6개 조회 API 추가, MemberPostService 메서드 리팩토링 #242

Closed vectorch9 closed 1 year ago

vectorch9 commented 1 year ago

📌Linked Issues

✏Change Details

MemberPostService 리팩토링

✅Check List

seonpilKim commented 1 year ago

요즘 뒤늦게 기록을 작성하기 시작했는데, 선필님은 프로젝트 진행하면서 어떤 점이 가장 어려우셨나요..? 저는 프론트와 처음 API 연결할 때랑(특히 쿠키 도메인 관련) 로그인 인증을 위해 시큐리티 필터 인터페이스 뜯어보고 구현한거 밖에 떠오르질 않네요 사실 원래 공부하면서 기록을 잘안하는 스타일이었는데 진작에 시작할걸 그랬네요 😥 계속 하다보면 옛날에 공부한게 가물가물 해지네요..

저는 인증 처리와 채팅 기능 부분이 가장 기억에 남아요. 인증 처리는 Spring Security의 내부 구조를 파악하고, 이를 이용하여 구현하는 것이 쉬운 편은 아니었던 것 같고, 세션 방식 대신 토큰 방식으로 인증 처리를 하는 과정에서 생길 수 있는 보안적인 이슈를 어떻게 해결하는 게 좋을지 고민하던 것도 기억에 남네요.

TMI로 지금 회사에서도 최근에 인증 처리에서 보안적인 이슈로 고민하고 있더라구요. 저희가 고민했던 부분들과 비슷한 이야기가 많이 나와서 신기했었어요 ㅋㅋ

채팅 기능은 어찌저찌 WebSocket, STOMP으로 구현했지만, 애매했던 부분이 많았던 것 같아요. 지금 떠오르는 건 인증 처리를 소켓 통신 과정에서도 적용해야 하는지? 등등.. 소켓 통신 기반으로 개발하는 것도 처음이라 이해하는데 애먹었던 기억도 있어요.

이 외에도 JPA N+1 문제가 발생하지 않게 고민하던 내용이나, MySQL의 기본키 채번 전략 이슈로 jpa로는 batch insert가 불가능하다는 점을 다른 방식으로 해결하거나.. 프로젝트 패키지 구조를 고민하던 내용(이 부분은 클린 아키텍처 관점에서 생각해보면 앞으로도 리팩토링할 부분이 많이 보이는 것 같아요) 등등..?

다훈님도 저와 비슷한 고민들도 하셨겠지만, 다른 고민들도 많이 하셨을거라 생각해요. 시간 되시면 한 번 PR이력이나 커밋 이력 되돌아보면서 상기해보는 것도 좋을 것 같네요 ㅎㅎ

사실 저는 지금까지 겪은 어려움보다는, 앞으로 겪어볼 수 있는 다양한 어려움들이 보여서 이런 부분들에 더 집중해보려고 해요. 이번 주는 회사 적응이랑 여러 고민들이 많아서 여유가 없었는데, 다음 주 부터는 개인 시간도 확보해서 생각나는대로 하나씩 다훈님이랑 이야기해보면 좋을 것 같네요!