1차 프로젝트 회고록

nichol·2022년 6월 6일
1

Django

목록 보기
13/15

1차 프로젝트 회고록

1. 프로젝트 개요

  • 팀명 : MANBA1
  • 개발소개 : 쿡킷 클론코딩
  • 개발기간 : 2022/05/24~2022/06/04
  • 개발인원 : 총 5명
    - Front-End : 혜수, 주영, 은별, 현민
    - Back-End : 한구(나)
  • 개발기술 :
    - Front-End : React.js
    - Back-End : Python, Django, bcrypt, MySQL, pyjwt, AWS
    - Common : Git-Hub, slack, trello
  • 시연영상 : 시연영상 YOUTUBE 링크

2. 프로젝트 시작하며

  • 팀 발표전 "백엔드가 한명인 팀이 있다."라는 소식을 미리 들었고 '나는 아니겠지' 하며 있다가 막상 발표를 하니 내가 "그"였다. 발표 때는 뭐 하면되지 하다가 걱정이 앞선건 사실이다. 하지만 이미 벌어진건 어쩌겠는가, 해야지. 그러면서 좋게 생각해보자. 많은건 못해도 처음부터 끝까지 한번씩은 다 해볼수 있겠지 하며 시작했다.

3. 프로젝트 진행하며

  • 대표적으로 커머스 사이트는 회원가입, 로그인, 상품페이지, 상품상세페이지, 리뷰쓰기, 장바구니, 주문하기로 크게 나눌수 있다. 이것들을 다 해봐야지 하며 계획을 세웠다.
  • 어떤순서로 작업을 할지 내가정한 순서를 다음과 같다.
    - ERD > 회원가입 > 로그인 > 상품페이지 > 상품상세페이지 > 장바구니 > 리뷰쓰기 > 주문하기

4. ERD의 중요성

  • 프로젝트에서 위에 기술했던 것들중에 가장 중요한것을 하나만 꼽자면 당연히 ERD 라고 하고싶다.
    건물을 지을때 기초공사를 탄탄히 하듯, 가장 기초작업이라고 볼수있는 ERD작업이 가장 중요하다고 생각한다.
    물론 개인적으로는 가장 어렵고 힘들고 잘못하던것이 ERD작업이라 지금 보고있는 ERD도 대략 한 5번정도는 수정된 ERD다 물론 다시 다른 커머스사이트를 해본다면 이정도까지는 아니였겠지만...
  • 아직 나는 django로만 프로젝트를 해봐서 프레임워크는 잘모르지만, ERD작업만은 django로 하는 프로젝트에서 가장 중요하다고 다시한번 강조하고 싶다.

5. 공유하고싶은 코드

  • ERD를 마치고 회원가입 로그인까지는 이전에 instagrem 클론코딩을 통해 token, 암호화, 정규표현식 등 익숙한 상태라 금방 끝나고 통신도 잘되었다. 하지만! 진짜는 이 녀석부터였다.
    query parameter, path parameter 를 사용하여 프론트엔드의 요청을 받고 반환하는 로직을 구성해야하는데 세션을 들어도 몰랐다.
    아래의 코드는 동일한 코드가 시간순서대로 어떻게 변화했는지 회고하면서 자료를 남기고자 올려본다.


이 코드를 쓸때 한개의 API에 여러번의 request가 올수 있다는 것을 모른체 한번의 요청으로 4가지의 일을 처리해야된다는 생각으로 써내려갔던 똥같은...코드이다. 하지만 멘토님께서 여러번의 request가 가능하다는 말씀을 듣고 다음으로 수정했다.


이 코드는 여러요청이 한번에 들어왔을때 그 요청마다 if문으로 분기하여 처리하면되겠구나 하고 고민하고 작성했던 코드이다. 엄청오래 고민하고 고민해서 작성했던 코드인데....역시나 이것도 똥이였다...


멘토님과 라이브 리뷰이후에 언패킹/패킹을 알려주셨고 그걸로 바꿔본 코드이다. 이 얼마나 아름다운가.
새로운세계가 열리는 지점이였다.


라이브 리뷰가 끝나려는 시점에 멘토님이 if문을 안써도 되는 코드를 나중에 공부하라며 써주신 코드, 어떻게 이런 생각을 할수 있지? 깨달았던 순간이였다.
코드의 내용은 파이썬 기본이론을 공부하면서 알던 내용들이였다. 하지만 이렇게 여기에 적용할거라고는 오랜고민을 해온 입장에서 상상도 못할일이였다.

  • 라이브 코드리뷰시간이 지나고 지난 코드들을 돌이켜 보며 생각했다. 나는 멘토님에게 모르는것을 단순히 "모르겠는데 어떻게 해야됩니까" 또는 구글에 수 많은 정답들이 무수히 많은데, 정말 쉽게 정답을 알수 있는데 조금 미련했던것이 아닌가. 쉬운길이 있는데 너무 돌아가는게 아닐까?
    하지만 지금 이 회고록을 쓰는 이 시점에는 정답은 아니지만 틀리지 않았다고 생각한다. 그래야 내가 고민했던 시간이 조금은 보상 받지않을까...

6. 마무리

  • 이번 프로젝트를 진행하면서 느낀점은 여러가지있다. 프론트엔드와 백엔드사이에 어떻게 소통할것인가, 어떤것들을 소통해야되는가, 코드들을 어떻게 쓸까도 분명 중요하지만 개발자들간의 소통에 대해 많이 배웠던 프로젝트였다.
  • 트렐로와 같은 협업툴은 처음에는 어떻게 쓰는지몰라 많이 활용을 못했던것이 너무 아쉬워서 2차프로젝트에서는 확실히 세밀하게 작업영역을 나누고 정리해서 사용해봐야겠다.
  • 마지막으로 내가 Back-End에서 혼자하는 유일한 "그"였기에 많은 배려를 해준 같은팀 Front-End 개발자 분들과 나의 코드를 너무나 자기일처럼 같이 고민해준 33기의 Back-End 개발자분들에게 다시한번 감사한다는 말을 전하면서 회고록을 마무리해본다.

개발을 시작하거나 개발을 시작하려고 고민하시는분들에게, 또는 부트캠프를 지원하여 개강하는 날을 기다리며 공부하는 분들에게 드리고 싶은말이 있는데 저처럼 코드에 대해 혼자 고민하면서 답은 아니지만 나만의 답을 찾아가려는 분들이 있을수 있습니다.
코드에 대한 고민은 길지않는 것이 좋다는 말이있는데 저는 어느정도는 고민해야 나중에 정답을 알게되면 그 코드가 내것이 되는 시간이 짧아진다고 생각합니다.
어느정도의 고민은 필요하다. 그리고 내가 고민이 많다고 걱정하지는 않았으면 좋겠습니다.
고민이 많은 백엔드 개발자의 프로젝트 회고록이였습니다 감사합니다.

profile
WEB Developer

0개의 댓글