week00 - 정글에서의 첫 프로젝트

Matthew Woo·2021년 8월 8일
0

My Review

목록 보기
2/11

swjungle 2기로 월요일에 들어오고 당일에 바로 팀이 결성되면서 과제가 주어졌다.

입학시험으로 구현했던 CRUD 기능을 가진 간단한 웹을 구현하기

아이디어

정글에 도착하자마자 기숙사 방 청소와 짐정리를 하는데 물티슈도 필요하고 겸사겸사 다이소에 다녀와야했다. 다들 처지가 비슷한지라 한두개의 물품을 사기 위해 다이소를 다들 다녀오는게 신경쓰였다.

그래서 일명 다이소셔틀, 오늘의 셔틀을 만들게 되었다.

구현 과정

로그인 기능을 구현하여 넣어야하고 Jinja2 템플릿 엔진을 이용한 서버사이드 렌더링 과정이 포함되어야했다.

진형님이 로그인 기능과 관련한 backend, frontend를 담당했고 로그인 기능 이외에 부분은 내가 backend를, 덕수님이 frontend를 담당하기로 하고 프로젝트를 시작했다.

진형님이 거의 반나절? 만에 로그인 기능을 뚝딱 해치운 덕택에 진형님이 backendfrontend 양 쪽에서 필요하거나 급한 부분을 채워가며 프로젝트를 진행하였다.

어려웠던 점

몽고디비 문법, 표현법 아직 능숙하게 못다룸. collection 간에 관계가 묶이거나 구성이 복잡해지면 db를 업데이트하고 삭제하는 등의 과정에 있어서 시간이 꽤 소요됨


고민스러웠던 점

매일 쌓이는 셔틀들이 있지만 CRUD가 지속적으로 이루어지는 셔틀은 해당 최신 날짜의 한 셔틀에만 해당되기에 이 셔틀은 별도의 db collection을 만들어 CRUD 를 수월하게 하는 대신 날짜가 바뀔 때 이 셔틀을 이전 보관용 collection들에 이동을 시켜주는 첫번째 방법과 하나의 collection에 모두 넣어놓고 가장 최근에 만들어진 셔틀만 불러와서 작업을 해주는 방식을 잠깐 고민했었다. 결국 후자의 방법을 선택했는데
mongodb를 다루는게 익숙지 않아서 이기도 하고 구현하다보니 db를 임의로 수정하는 일이 꽤 있다보니 같은 collection 안에 모든걸 넣었을 때 까다로운 부분들이 있었다.

배운 것

  • git branch

가장 큰 것은 아무래도 git branch 사용이다. 협업이 모두들 처음이었고 깃을 몰라서 처음 시도해보는 것이였는데 시행착오도 있었지만 git을 써서 협업을 한게 큰 수확 중 하나이다.

마치 물에 빠져서 살기위해 발버둥치다 수영을 익힌 느낌이 들었다.

  • python class

진형님이 알려줌으로 인해 flask에서 기능별로 파일별로 class를 묶고 backend쪽을 보다 깔끔하게 정리할 수 있었다.

더 공부하고 싶은 점

코드리뷰를 작성하게 되면 공부해야할 부분들이 꽤나 많이 나올테니 우선 하나만 꼽자면 이 게시글에서는 가장 공부하고 싶다는 생각이 들었던 것은 vim 이다.

vim

진형님이 vim을 써서 보게 되었는데.. 정말 센세이션 그 자체였다.

여태 나는 ec2에 업로드 후 내용을 수정하기 위해 서버를 끄고, 파일을 로컬에서 수정하고, fileZila에 다시 파일을 업로드하고 다시 서버를 켜 주고 등등..

수정사항이 큰 것이면 모를까 간단하나 부분을 고치기 위해 이 과정을 거치는 것은 참으로 끔찍했으나 이러한 부분들을 그냥 ec2 console 에서 바로 수정되는 것을 보니
너무 매력적으로 다가왔다 ㅠㅠ 진형님이 본인이 vim을 공부한 루트를 알려주었다. 시간이 되면 얼른 공부해보고싶다.


협업 후기를 한 단어로 요약하자면 '감사함' 이다.

또 진형님 얘기지만 디버깅을 하는데 n명이서 같이하게 되니 디버깅 시간이 n분의 1이 아니라 n제곱 분의 1이 된 것 같다고 얘길하는데 정말 공감되었다..

배운 것도 많고 프로젝트도 빠르게 하나를 만들어 볼 수 있었다.

깃헙코드와 코드 리뷰는 추후 별도의 리뷰 글을 작성 한 뒤 여기에 연동하도록 해보겠다.

profile
Code Everyday

1개의 댓글

comment-user-thumbnail
2021년 8월 13일

좋은 글이네요 :)

답글 달기