쇼핑몰 프로젝트 회고

2024. 3. 5. 16:50
728x90

 

처음 프로젝트를 시작할 때 세운 목표이다.

최대한 목표를 고려하며 프로젝트를 진행하려 했다.  

프로젝트를 진행하며 배운 것들을 정리해보려 한다.

 

1. Spring Security와 JWT 이해하기

: 나에겐 너무너무 어렵고 두려웠던 스프링 시큐리티와 JWT를 직접 사용하여 프로젝트 전체에 적용해봄으로써 점점 이해하게 되었다. 어떤 구조로 어떻게 구현해야할지 시행착오를 겪으며 이해해왔다. 물론 모든것이 착착 머릿속에 존재하지는 않지만, 계속 여러번 정리하고, 반복하고, 공부하면서 조금 더 이해에 가까워졌다. 특히 필터가 작용하는 흐름을 이해하게 되어 속시원해졌다. 다음 인터셉터 이해해보기..

 

2. 오류에 대한 기록: 오류가 수없이 많이 찾아왔다. 그때마다 기록하기 정말 귀찮게 느껴졌지만, 기록하지 않으면 다시 또 겪게될 오류라고 생각하며 중요한 것들을, 그리고 내가 생각한 과정을 정리하려고 했다.오류 하나하나가 나를 시험하는 느낌이었다. 어렵지만 하나씩 해결해가는 과정이 너무 즐거웠다.

 

https://hehesim.tistory.com/217

 

쇼핑몰 프로젝트 고민거리들 및 오류 해결 과정

1. UserDetailsManager와 UserEntity - UserDetailsManager의 구현체인 CustomUserDetailsManager를 만들어주었고, 여기서 UserEntityRepository와의 연결점이 되었다. 고민은 UserDetails의 구현체인 CustomUserDetails 자체를 UserEnti

hehesim.tistory.com

 

3. DTO에 대한 이해

: 인간은 역시 반복하며 배운달까. DTO를 왜쓸까 언제쓸까 어떤식으로 써야할까에 대한 고민을 계속 해왔는데, 드디어 왜 API명세서를 쓰며, 왜 DTO를 쓰는지 깨닫게 되었다.  바구니라는 묘사를 많이 들었는데 정말 말그대로 바구니!였다. 엔티티 상점에서 바구니에 딱 쓸것만 담아서 클라이언트로 보내주기! 였다. 그래서 어떤 기능인지, 그리고 클라이언트 측에서 어떤 부분을 필요로 하는지를 보고, DTO에 담아서 보내주면 되는 것이다. 

 

4. 처음으로 혼자서 직접 프론트 없이 모든 백엔드 파트를 구현해본 경험

: 누군가의 도움 없이 혼자 힘으로 처음부터 백엔드 파트를 구현해보았다. 이때 프론트엔드 쪽에선 어떤 부분을 필요로 할까? 생각하며 DTO를 만들어 보내고, 또 어떤 방식으로 입력을 받아 과정을 진행할까? 생각하며 DTO로 받아왔다. 또, 로그인과 회원가입부터 CRUD모두 해보고, 어떤 부분은 인증파트로, 어떤 부분은 그냥 엔티티 형태로 저장하고 활용하며 비즈니스 로직은 어떻게 짤까 등등 아주 많은 고민들을 해보며 구현했다. 

 

5. API 사용경험: 토스페이먼츠를 직접 내 서비스에 붙이는 과정에서 애를 많이 먹었다. 이 또한 API의 정확한 구현 흐름과 로직을 이해해야만 내 서비스에 적절하게 붙일 수가 있었다. 그래서 API도 열심히 붙여보는 경험이 필요함을 깨달았다.

 

+ 리팩토링의 필요성.처음 한다고 모두 다 완벽한 구현이 있을수가 없다. 계속 내가 쓴 코드를 지켜보고 고치고 오류를 해결하려는 과정이 필요하다. 이것이 더 중요한 부분이고, 더 원활하고 사용성 좋은 시스템으로 만들기를 도전해봐야겠다.!!

728x90

BELATED ARTICLES

more