
대충 커밋 감을 못잡은 상황
이제 절반정도 진행했다. 이번주에는 기능 마무리 하고, 화면 구성과 QA 정도 하면 무난하게 마무리 될 듯 하다.
처음에는 미니 프로젝트에서 인증과 인가를 JWT로 구현했다. 하지만 프론트를 Thymeleaf로 구성하면서 문제가 생겼다. 클라이언트에서 토큰을 보관하고, 매 요청마다 서버에 전달하는 구조가 불가능했기 때문이다. 원래 JWT의 사용 방식대로라면 클라이언트가 토큰을 들고 있어야 하지만, 템플릿 엔진 기반의 서버 사이드 렌더링에서는 이를 유지하기가 어려웠다.
그 후 JWT를 세션에 저장하는 방법도 고민했지만 결국 같은 문제에 봉착했고, 지금까지 작성한 코드를 모두 걷어내고 세션 방식으로 전환하기로 결정했다. 코드가 아깝긴 했지만 직접 구현해보며 많은 것을 배웠다는 점에서 의미 있었다고 생각한다.
이 경험을 통해 기술을 선택할 때는 상황에 맞는 설계가 얼마나 중요한지 느꼈다. 아무리 좋은 기술도 맥락 없이 사용하면 오히려 독이 될 수 있다는 것을 알게 되었다. 단순히 트렌드나 익숙함 때문이 아니라 ‘왜 이 기술을 써야 하는지’ 명확한 이유를 가지고 선택하는 것이 정말 중요하다는 걸 배웠다.
요즘 블로그 작성을 미루고 있다. 미니 프로젝트가 끝나면 그동안 고민했던걸 기반으로 꼭 블로그를 작성해야겠다.