알바를 하는 동안 몇 가지 강의를 보면서 스프링 웹 개발을 공부해왔다. 공부를 하면 할수록 배워야 될 게 무궁무진해지는 것을 느꼈는데, 모든 것을 강의를 통해 공부하려고 하면 제 풀에 지칠 듯 했다.
더군다나 나는 대강이라도 전체적인 흐름을 파악해야 빠른 습득이 가능하다. 그로 인해 중간중간 궁금한 점을 서칭하면서 시간을 보냈다. 그래서 이제는 강의를 통해 배운 바로 구조를 세우고 챗지피티를 이용하여 진행해보려 한다.
프레임워크는 인텔리제이, 라이브러리와 플러그 인은 최대한 사용해보려고 한다. 스프링 이니셜라이저를 통해 프로젝트를 생성했다.
레이어는 Model, Service, Repository, DTO 이렇게 나눴다. 처음 강의 봤을 땐 왜 이렇게 나누는 지 이해가 안 갔었는데 웹 계층에 따라 나눈 거라고 한다. 지금은 간단한 CRUD 기능을 구현해놨다.
글 정리하면서 검색하다가 DDD에 대해 알게 되았다. 비즈니스 로직을 서비스 레이어가 아닌 도메인 모델에서 작성한다는 것이다. get 요청같은 경우엔 간단하게 서비스 레이어에서 처리하고, update같은 경우엔 도메인 모델에서 update 메서드를 추가해준다. 재사용성뿐만 아니라 유지보수에도 좋고 응집성을 줄여준다고 한다.
백엔드를 하면서 당황한 부분은 프론트다. thymeleaf 템플릿 엔진을 따로 공부해야 할 필요가 있기 때문이다. 하지만 챗지피티 덕분에 빠른 학습이 가능하다. 강의를 일방적으로 듣는 것보다 주요 기능, 장단점, 트렌드를 묻고나서 모르거나 의아한 점이 들면 바로 질문하는 것이 나에게 더 도움이 된다. 금방 익힐 수 있다.
현재는 틀만 만들어 놓은 상태다. 수많은 문답을 하면서 유지보수와 트렌드 위주로 학습할 생각이다. 우선 thymeleaf를 배우고 이를 통해 게시글을 보여주는 블로그를 만들고, 게시글 검색, 댓글, 카테고리 등 여러 기능을 추가해 볼 예정이다.