URL 디자인 수정을 했다.
BEFORE
AFTER
수정 시 중점적으로 생각한 부분은 다음과 같다.
- 메소드와 URL 두 개 요소로 어떤 기능을 수행하는지 쉽게 파악할 수 있도록 한다.
- URL을 통해 자원(resource)의 흐름을 명확히 파악할 수 있도록 한다.
로그인 페이지에서 아이디/비밀번호 찾기로 흘러가는 부분의 URL은 네이버(Naver)에게 힌트를 얻었다. URL을 어떻게 하면 간결하게 작성할 수 있을까 고민하다가 다른 서비스를 참고하기로 했다. 그렇다고 여러 서비스를 동시에 참고하면 혼란스러울까 싶어 네이버 하나만 참고하기로 했다. 처음에는 '문의하다'의 의미를 가지고 있는 영어 'inquiry'를 사용했지만, 해당 URL을 마주했을 때 직관적으로 어떤 기능일 것이라는 추측이 어렵다고 판단했다. 그래서 네이버를 참고해서 'help'를 사용했다. 만족스럽다.
URL 디자인을 고민하면서 느낀 점은, 메소드를 조화롭게 사용하는 것이 중요하다는 것이다. 설계 단계부터 최대한 명확하게 기능에 대한 메소드 및 URL 설정을 하면 개발 도중 URL 디자인과 같은 부가적인 일에 시간 낭비가 줄어들고, 개발 작업에 더욱 집중할 수 있겠다고 생각했다.
Spring Security 적용을 했다.
스프링 프로젝트 실습 내용이 포함된 참고서를 가지고 있는데, 이 책에서 소개하는 방향으로 Spring Security 구현을 하면 쉽게 할 수 있겠다고 생각했다. 딱 반만 맞는 말이었다. 테트리스 조각이 서로 맞물리는 것처럼 딱 맞는 상황이라는 것은 없었다.
책과 인터넷을 오가면서 Spring Security를 통한 로그인 기능을 구현했다. 처음에는 이게 무슨 말인가 싶었지만 구현 과정에서 에러~디버깅~에러~디버깅으로 이어지는 과정을 연이어 겪다 보니 차츰 전체 윤곽이 이해되기 시작했다. 덕분에 '모르면 찾아서 배우고 적용하는 것' 에 대한 자신감이 어느 정도 생겼다. 그리고 많은 이들이 얘기하는 것처럼, 어떤 기술이든 공식 문서를 참고하는 것은 필수라는 것 또한 이번 과정을 통해 배웠다.
프로젝트를 수행하는 것은 마치 복싱에서 스파링을 하는 것과 같다고 느껴졌다. 아무리 거울 앞에서 자세 연습을 하고 샌드백을 두드려도 스파링 경험이 없다면 성장에 한계가 있다. 스파링을 통해 실전 경험을 쌓아야 자신의 한계를 명확히 느낄 수 있고, 개선점을 궁리할 수 있다. 이 프로젝트는 아직 갈 길이 멀다. 배울 것도 그만큼 많다. 열심히 제대로 하자.
참고
'Programming > 개인 프로젝트' 카테고리의 다른 글
[중고거래장터 - Study&Refactoring] Oracle ~> MySQL로 이동 (0) | 2022.03.22 |
---|---|
[중고거래장터 - Study&Refactoring] 캐싱 기능 적용(Spring MVC + Redis + Jedis) XML 방식 (0) | 2022.03.15 |
[중고거래사이트 - 4] 제대로 만든다는 것은 무엇일까 (0) | 2022.02.12 |
[중고거래사이트 - 3] MockMVC를 통한 테스트 (0) | 2022.02.10 |
[중고거래사이트 - 2] 테이블 재구성 및 Git-Flow 모델로 구현 (0) | 2022.02.09 |