23.03.06 ~ 23.03.29 까지 총 8회 진행한 Spring Boot 스터디가 끝이 났다.
이에 대한 내용을 정리해보고자 한다.
JSCODE에서 겨울방학 때 진행했던 자바 백엔드 스터디를 수강하고 조금의 여유시간이 지나고 SpringBoot 스터디가 모집 시작하여 바로 신청하였다. 늦어지면 중간고사 기간과 겹치기에 빨리 듣고 싶었는데 3월 초에 시작이라 다행이였다!
후반에는 개강을 하고 학교 과제도 많이 주어져서 스터디에 시간을 많이 쏟지 못해 조금 아쉬웠다.
자바 스터디와 동일하게 온라인으로 진행되었고, 기초적인 내용을 학습 한 뒤 팀을 이루어 미션을 진행하였다. 7회차 까지 진행하고 보니, 정말 SpringBoot 입문 스터디라는 과정에 딱 맞게 진행이 된 것 같다.
복잡할 수 있는 미션은 심화미션으로 주어졌고, 내 기준에 일반 미션은 굉장히 할 만 했다.(4회차 처음 진행할때 제외..)
API, API 역할 분리, JPA, 데이터베이스, MySQL 에 대해 공부하게 되었다.
특히 API 에 대해 이해하게 되었고, 데이터베이스와 연동하여 데이터를 POST 하고 GET 하는 과정이 정말 재미있었다.
이번 스터디를 진행하며 깃에 대해 더 익숙해졌고, 스프링에 대한 기초적인 지식을 알게 된 것 같다.
학습내용과 미션 관련 내용은 블로그에 작성되어있다.
위와 같이 내 벨로그에 각각의 회차에 대한 내용을 정리해놓았다. 해당 글에 들어가면, 해당 회차 미션에 대한 코드는 깃허브에 올려 놓았다.
이번에도 팀을 이루어 미션을 진행하였는데, 이번 팀에서는 다들 학기 중이라 바쁜 분도 있고 대체로 별로 말씀을 많이 안하셔서 코드를 공유하거나 뭘 물어보거나 하질 못했다. 팀 분위기가 굉장히 중요한 것 같다..
그래서 뭐 미션을 진행할 때 미션 내용 공유는 많이 못했다 ㅠㅠ
스프링 입문 과정이라, 정말 스프링에 대해 전반적인 메커니즘? 이라 해야할까 구조와 내용을 알게 되었다.
처음에 Controller , Service , Repository로 나누는 개념을 알고 그걸 코드로 구현하는 과정에서 굉장히 많은걸 알게되었던 것 같다.
애를 먹었던 @GetMapping 에서 다중매핑이라던가, SQL 에서 데이터를 POST 할 때 어떻게 주어야 하는 지를 많이 헤맸는데 그 부분을 미션을 진행하며 많이 공부하게 되었다.
한번 배우고 나니 다른 Entity(Class)에 대한 API를 생성하는게 쉬워졌다.
확실히 한번 부딪혀가며 익히니 다음에 적용하기는 굉장히 쉬웠다!
직접 데이터를 POST 하고 GET하는 과정에서 MySQL에서 저장된 데이터를 확인하고 불러오는 과정이 정말 눈에 보여 재미있었다.
자바 스터디때도 느꼈지만 언제든 물어볼 수 있는 멘토분이 있다는게 큰 도움이 된다. 실례가 되는게 아닐 정도로 멘토님께 많이 물어본 것 같다; 멘토님의 조언을 통해 정말 헤맸던 부분은 어디서 꼬였는지 알게 되어 금방 해결했던 기억이 있다.
멘토님이 스터디가 끝나도 미션을 꼭 진행했으면 좋겠다, 언제든지 미션에 대해 궁금한 건 문의 주라 했던 게 너무 인상깊었다.
멘토님도 본업으로 바쁘실텐데 ,, 지금 당장 못 구현한 미션을 진행하기에는 시험기간이 다가와 시간이 없어 먼 미래가 될 것 같아 미션에 대해 질문을 할 순 없겠지만 멘토님의 마음이 너무 감사했다! 언젠가 또 다른 인연으로 뵈었으면 좋겠다.
데이터베이스에 관한 개념이 부족해 미션을 진행하는 부분에서 힘들었던 게 가장 컸다.
이것만 알았더라면 더 많은 심화미션을 진행할 수 있었을 텐데,,
공부할게 너무 많아져서 시간 상 다 얕게 얕게만 공부하는 것 같은데, 시간이 정말 많았으면 좋겠다,,
처음에는 되게 할만했지만, 4회차 부터 본격적으로 Spring을 이용해 구현하는 과정이 진행되었는데 4회차 기록을 보면 알겠지만 시간이 정말 오래 소요되었다. Controller, Repository, Service의 역할을 분리하는 이유는 이해가 되었지만 이걸 실제로 구현하는 부분이 생소해 굉장히 어려웠다. 지나고 보니 정말 별거 아닌, 몇 줄밖에 안되는 코드였지만 맨땅에 헤딩하려니 오래 걸렸던 것 같다.
그리고 Spring 공식문서를 찾는 방법을 잘 모르겠어서 블로그에 정리된 내용으로만 보다 보니 더욱 더 그런것 같다.
자바 스터디 때는 심화미션을 거의 다 구현했는데, 스프링 스터디에서는 6,7회차에서의 심화 미션은 몇개 구현하지 못했다 ㅠㅠ 특히 7회차는 많이 아쉽다,,
이 부분에서는 멘토님의 피드백과 조언을 통해 많이 해결하려고 하였고, Spring을 먼저 공부했던 친구에게 이것저것 물어보며 많이 해결하였다!
스터디 팀원 분들도 그렇고 나도 그렇고 학교에 재학중이거나 바쁘신 분들은 몇번 빠지게 되면서 팀이 4명으로 시작했다가 중반부터는 거의 2명씩만 스터디에 참여했던 부분이 있다.
나도 개인적인 일로 한번 빠지긴 했지만 다른 분들도 많이 참여를 못해 팀으로 미션을 진행할 때의 장점이 없었다.. 위에 적어 놓았다 싶이 팀 분위기가 좋지 않아 물어보지도 못하고 멘토님한테만 물어보게 되었다.
(스터디 조 톡방에 뭘 물어봤다가 씹히기도 했다,,ㅠㅠ)
그래서 같은 팀은 아니지만 깃허브에 같은 레포지토리에 참여한 사람들의 코드를 많이 훔쳐봤다 하하;
그 분들 중에서 심화미션을 끝까지 구현하고 많은 피드백을 얻어간 분도 많았는데, 그러한 모습을 보며 최대한 나도 피드백을 많이 얻어가며 많은 걸 배우고 싶었지만 그렇지 못했던 것 같아 아쉽다,,
데이터베이스나 스프링에 대한 지식이 부족해 한달만에 다른 스터디원 분들의 실력까지 따라가긴 힘들어서 그럴 수 밖에 없다고 생각한다 ㅠㅠ 내가 부족한 탓이라고 생각한다! 데이터베이스를 배우고 들었으면 더 좋았을텐데 하는 아쉬움이 ㅎ
사실 데이터베이스를 알고 본다해도 그 분들의 코드를 봐도 이해하기 힘든 부분들이 많아 내 스스로 부족함을 많이 느꼈던 것 같다. 뭐 나는 나만의 속도가 있을거라 생각하고 열심히 해보려고 한다!
이제는 UMC라는 동아리에 함께하게 되어 거기서 또 Spring 을 공부하게 되었는데, 이번 스터디에서 배운 내용을 바탕으로 동아리 사람들과 같이 공부하며 내가 아는 부분은 공유하고 나도 많이 배워갔으면 좋겠다!
이번 스터디에서 배운 내용이 도움이 되었으면 좋겠다 :)