WIL

항해99 Week I Learn - week01

__g__ 2022. 5. 15. 23:57

 

 항해99를 시작하기 전에 국비 과정으로 웹퍼블리셔 수업을 들었고, 또 따로 자바 스크립트 기초 강의를 들었던 것들이 1주차인 지금 굉장히 많은 도움이 된다고 느끼고 있다. 그때 들을 때는 이렇게 기초적인 것만 배워서 내가 실력을 올릴 수 있을까? 했었는데…… 그 실력을 올리는 순간이 지금인 것 같다. 7기 신청 마지막 날에 들어왔던 내가 전에 배우지 않고 아예 제로 베이스 상태로 들어왔다면 아마 사전 시험 전에 포기를 했을 거라고 생각한다.

 

 1주차 과제는 미니 프로젝트. 국비 과정에서도 조별 과제는 있었지만 그때는 단순하게 대화로 협의를 하고 각자의 작업물을 공유 폴더에서 넘겨받는 식으로 진행했기 때문에 제대로 된 협업이라고 하기 어려웠다. 1주차가 시작하기 전에 받은 git 강의를 들으면서도 제대로 감이 잡히지 않았다. 미니 프로젝트를 시작하면서 바로 부딪힌 어려움이 '누가 무엇을 할지 어떻게 나누어야 하나?' 였다. 처음에는 파일을 머지하는 과정에서 충돌이 일어나는 것을 아주 두려워했기 때문에 파일을 겹쳐서 사용하는 것을 피하고 싶었다. 그때는 충돌이 일어나면 했던 작업이 다 날아가고 망한다고 생각을 했던 것 같다. git과 sourcetree를  미니 프로젝를 하면서 계속 이용하며 브랜치를 생성하고 또 머지를 하는 일을 반복하며 조금씩 익숙해졌다. 미니 프로젝트의 큰 의의가 협업하는 연습이었는데 진짜로 그랬다. 시작할 때는 '도대체 어떻게 협업을 하는 거지? 그냥 혼자 일하는 게 편할 것 같아.' 라고 생각할 만큼 협업이 어렵고 낯설게 느껴졌기 때문이다. 지금은 협업이 낯설게 느껴지지 않는다. 익숙하다고 하기엔 아직 이르지만. 협업을 잘하는 방법이라고 느꼈던 건 꾸준한 소통이다. 우리 조는 필요한 부분에 대해서 서로 얘기하는 것에 대해서 어렵게 생각하지 않았던 것 같다. 우리 조는 모두 적극적인 자세였고 완성도에 대한 욕심이 있었기 때문에 더 수월했던 면도 있었다. 코드 리뷰도 서로 모르는 부분이 있을 때는 몇 번이고 반복해서 설명해 주는 것도 귀찮아 하지 않았다. 그 면에서 팀을 이뤄 공부하면 그만큼 더 얻어 가는 게 많다는 게 제대로 느꼈던 부분이다. 여러모로 같이 공부하고 작업하는 게 어떤 것인지 많이 배운 미니 프로젝트였다.

 

 우리가 만든 미니 프로젝트는 노래를 추천하는 사이트를 만드는 것이었다. [My-Hidden-Song]으로 나만의 숨겨진 노래를 추천한다. 전체적인 골격은 bulma를 이용해 만들었고 추가적으로 간단한 모달같은 경우는 직접 div를 만들어 진행했다. 그리고 간단한 layout을 만들어 jinja2 템플릿을 이용해 모든 페이지 적용시켰다. 회원가입, 로그인,  노래 검색, 노래 추가, 추천 수 등 데이터베이스에 정보들을 저장하고, 정보들을 받아오는 역할을 하는 여러가지 API를 설계를 했다.  로그인에서는 JWT를 이용해 토큰을 부여하고 노래 리스트 페이지로 넘어갔을 때도 토큰을 확인해 토큰이 없다면 다시 인덱스 페이지로 넘어가게 만들었다. 노래를 추가하거나 검색하는 것은 지니 사이트를 크롤링하고 이용했다. 추천 수에 따라서 카드의 배열이 바뀌고 그 카드 위치로 스크롤이 자동으로 움직이게 했다.

 

 프로젝트를 하면서 아쉬웠던 점은 내가 자신이 있었던 부분을 주로 맡았던 점이다. 효율적으로 완성도를 올리고 싶은 생각에 내가 못하는 것보다 잘하는 프론트에 집중했었다. 사실 이 미니 프로젝트 말고는 백을 할 일이 거의 없다는 것을 알고는 그 부분이 매우 아쉬웠다. 그래서 개인적으로 다시 파일을 훑어보면서 따로 복습할 예정이다.