[개발일기/#4] 첫번째 스터디 회고

djawnstj·2022년 12월 4일
0

개발 일기

목록 보기
4/5

올 9월쯤 백엔드 이직을 마음먹고 관련해서 배우고 프로젝트를 만들기 위해 여러가지 활동을 찾아봤다.
그 중 하나가 AWS/SpringBoot 스터디였다.

내가 시작할땐 이미 스터디가 6월부터 시작하여 이동욱(향로) 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 라는 책으로 공부를 한 뒤 프로젝트로 구현을 시작하는 단계였다.
다행이 설계단계에서 합류를 하였고 다른분들보다 1-2주 늦은 만큼 빠르게 진행해나갔다.

프로젝트는 네이버 영화의 클론코딩을 각자 구현하는 것이었다.
사실 네이버 영화라고 골라서 그렇지 단순한 영화 페이지를 만드는것이었다.

당찬 포부에 그렇지 못한 결과

스터디 진행과정을 블로그로 남겨보자는 포부를 갖고 시작했지만 막상 블로그는 글을 두개밖에 적지 못했다.

핑계지만 일단 블로그를 적어가며 프로젝트를 진행하기엔 내가 너무 부족했다.
열심히 만들고 모르는거 찾아보며 만들기에도 부족했기 때문에 블로그에 적을 내용이 없다고 생각했다.

결과적으로 지금와서 보면 그런 과정들이라도 남겼어야 맞는거였다. 모르는 내용을 적고 찾아서 해결하는 내용도 포스팅하면 더 의미있는 스터디가 됐을거같다.

다음에 진행할 토이프로젝트는 시작부터 사소한거까지 모두 남겨볼 생각이다.

결과물

서버를 총 두개로 분리시켰다. (API 서버, WAS)
안드로이드 개발을 하다보니 API 서버가 당연히 익숙한 점도 있었고, 요즘 웹 프로그래밍에서는 SPA 프레임워크를 이용해 API를 호출하는 경우가 많다고 생각했기 때문에 일단 나누고 시작했다.

API 서버를 먼저 구현을 시켜놓고 WAS 개발을 시작했다.

API는 코프링을 이용해서 구현하였다
프론트는 간단히 thymeleaf 를 이용했고, API콜은 모두 스프링에서 REST template로 보냈다.

프론트를 하려하니 재미가 확 없어지고 하기가 싫어지는 느낌을 강하게 받았다.
그러다 보니 김영한님의 JPA 강의에서 이용한 템플릿을 그대로 썼다......(백엔드 스터디기 때문에 괜찮다는 마인드로..)

문제점

일단 장르를 enum으로 하면서 문제가 생겼다. 단순히 enum 클래스로만 썼으면 괜찮았는데 enum과 동시에 RDB에서 관리를 하고자 했다.(장르로 영화를 검색 하는 등의 기능을 위해)

하지만 장르가 업데이트되면 enum과 RDB 모두 업데이트를 해줘야하는 문제가 있었고 프로젝트를 끝내갈때 그 문제를 알게되었다.
일단 지금 내 생각은 장르는 RDB로만 관리하는것이 좋은 결정인거 같다.

또다른 문제는 세션관리를 전혀 안했다는 것이다.
Redis Session을 붙이긴 했지만 문제가 굉장히 많았다.

postman 을 이용해 콜을 보내면 session이 모두 동일하게 들어왔지만, REST template로 콜을 보내니 콜마다 세션이 다르게 들어오면서 세션 유지가 안됐다.
결국 WAS에서 세션을 가지고있도록 수정했지만 세션에 대해 더 깊은 공부와 고민을 해야한다는 숙제를 남겼다. (세션을 WAS에 남기는게 좋은지 API 서버에 남기는게 좋은지도 너무 궁금하다)

다음으로

다음 계획은 스터디, 팀단위 사이드 프로젝트를 진행하지 않고 혼자 토이프로젝트를 하나 끝내는게 목표다.
지금 또 구상하고있는 프로젝트가 있기때문에 이번엔 기필코 블로그로 기록도 많이 남기고 좀 완성도 있는 프로젝트를 구현하는게 목표다. (도메인을 구매해서 실배포까지 하는것도 목표)

profile
이용자가 아닌 개발자가 되자!

0개의 댓글