[Project] 커피, 주문 관리 시스템
업데이트:
개요
약 한달간 블로그가 뜸했다.
교육받고 있는 학교에 아카데미에서 진행하는 프로젝트 때문이었는데, 생각보다 급변하는 일정때문에 피치못하게 팀프로젝트나 기업 프로젝트를 선택하지 못하고 개인프로젝트를 진행하게됐다. 내용은 프로그래머스에서 진행한 프로젝트를 먼저 클론하고, 이후로 혼자서 다시 짜보는 식의 내용이었다.
어느정도 Spring boot에 익숙해졌다고 생각한 이유로 먼저 혼자서 프로젝트를 진행했고 기업 프로젝트에서는 어느 기술을 중점적으로 사용하는지 확인한 후 기본적인 CRUD 뿐 아니라 다른 교육생들이 얻어가는 만큼이라도 얻어가고자 추가적인 기술을 도입하는 것을 목표로 했다.
협업 경험을 길러보고자 했지만 내 우유부단한 결정으로 얻지 못하게 되었다.
그렇다고 이대로 진행하기는 싫어서 최대한 git을 활용해보고자 노력했다.
기록일지
Repository
회고
Spring boot를 활용한 간단한 주문, 관리 시스템을 구성해보았다. 이전에도 커뮤니티를 만들어보기 위해 접해 보았던 프레임워크 였으나 이전과는 달리 어떻게 해야 더욱 단단한 어플리케이션을 짤 수 있을지 많은 고민을 할 수 있는 계기가 되었다. 프로젝트를 하며 가장 많이 했던 고민은 객체를 어디까지 보여주고, 어떻게 다루고, 어떤식으로 관리하는가에 대한 고민이었던 것 같다. 기본 틀은 템플릿을 이용해 프론트 엔드의 디자인적인 측면에 대한 고민은 최대한 덜어내려고 했지만 view에 예외 메시지나 여러 정보를 어떻게 제공할 것인지에 대한 고민 또한 따라왔던 것 같다.
그 와중에 멘토께서 언급하셨던 gRPC를 작게나마 적용해 보았는데, 많은 데이터 전송을 하는 상황이나 많은 요청을 필요로 하는 프로젝트가 아니었기 때문에 성능에 대한 체감을 피부로 느끼지는 못했다. 하지만 grpc와 그 안의 stub을 활용하면서 작동하는 과정에 대해 깊게 생각할 시간을 가질 수 있어 뜻 깊은 작업이었으며 차후로는 grpc와 webflux를 활용해 반응형 관리페이지로 개선해보고자 하는 생각이 들었다.
전체적으로 프로젝트를 진행하면서 예상하지 못하거나 흔히 볼 수 없는 버그나 예외들을 많이 마주쳤다.(물론 사용방법이 잘못 되었기 때문이지만) 맞닥들인 문제들을 직접 해결하기 위해 stackoverflow나 github-issue, 공식 문서들을 적극적으로 활용하는 계기가 되었는데, 그 과정에서 시도해보는 코드들로 문제를 해결할 수 있는 경험도 할 수 있었다. 또한 혼자 협업을 하게 되면서 github branch나 충돌 해결, issue 를 적극적으로 활용해 협업하는 것 같은 경험도 느낄 수 있었다. 마지막으로 과정의 기록에 대한 중요함을 다시 한번 느꼈다. 혼자 프로젝트를 하게 되는 경우가 많았기 때문에 기록에 대해서 소홀했었는데, 현재의 프로젝트 이전에 팀원이 도중에 참가하게 될 것을 고려해(과정을 쉽게 접할 수 있었으면 했다) 기록을 남긴적이 있었다.
이번 프로젝트에서 느낀 점이지만, 기록을 남기는 것은 팀원 뿐만이 아니라 자신에게도 프로젝트를 이어나가는데 큰 도움이 되었다. 어떤 생각을 했었고, 어디까지 진행했었으며, 어떤 것을 먼저 해결해야 했는지 프로젝트에 다시 몰입하거나 어떤 생각의 연장선으로 쉽게 다다를 수 있었다.
이렇듯 많은 경험을 했지만, 아쉬운점 또한 존재했다.
먼저 혼자하는 프로젝트는 어떤 부분에 대한 전문성을 기르기에는 시간과 에너지가 부족하다는 생각이 들었다. 과거에 진행했던 프로젝트 과정에서 Spring Security, JPA에 대해서 더욱 많은 경험을 가져보고 싶다는 생각을 가졌는데, 의도치않게 진행했던 개인프로젝트에서 퀄리티를 높여보겠다는 욕심으로 생각보다 프론트엔드 작업에 많은 시간을 투자하게 되었고, 그에 따라서 Security의 경우 겉핥기 정도(그 정도도 안된다), JPA는 많은 의구심을 남겨둔채로 프로젝트를 마치게 되었다. 또, 배포에 대한 영역은 아직도 미지로 남아있다. 물론 이 웹 어플리케이션이 실제로 비즈니스에 쓰이기에는 턱없이 부족하지만 어떻게 사람들이 접근하고 사용할 수 있을까에 대한 생각도 참 많이 들었다. (추가로 기업프로젝트에 참가하지 못했지만 ELK스택도 사용해보고 싶었다)
집요함이 있는 사람이기 때문에 한 프로젝트에서 모든걸 시도해보고 싶었지만, 이미 많은 경험과 지식을 얻게 되었다. 또 내가 만든 프로젝트가 너무 조잡해지기를 바라지도 않기 때문에 결과에 결과를 쌓자는 생각이 들었다.
아쉬움도, 보람도 많이 느껴지는 프로젝트였다.
또 앞으로는 꼭 다른 분야의 사람들과 협업하고 더욱 많은 경험을 기를 수 있는 기회가 있었으면 좋겠다.
댓글남기기