[그룹 프로젝트 - 폴바셋] 회고록

Magit·2020년 5월 6일
0

group-project

목록 보기
5/6

Wecode에서 1차 프로젝트가 끝났다.
프로젝트 소개 및 내가 맡은 부분, 기억에 남는 코드, 느낀점 등을 써보려한다.

소개

  • 소개 : 폴바셋 홈페이지 클론하기
  • 기간 : 2020/04/20 ~ 2020/05/01
  • 인원 : 2 Front-End, 2 Back-End
  • 사용된 기술
    • Front-End : HTML, CSS(SCSS), JavaScript, React.js
    • Back-End : Python, Django, Selenium, BeautifulSoup4, MySQL
  • Back-End Githup
  • Front-End Githup

Demo

목표치

프론트엔드와 백엔드가 같이 하는 첫 프로젝트이기도 해서 서로가 어느정도의 실력을 갖고있고 어느정도의 속도로 할 수 있을지 감이 안잡혔다. 그래서 홈페이지를 구성하는 가장 기본이라고 할 수 있는 회원가입/로그인과 폴바셋 홈페이지의 메인이라고 할 수 있는 메뉴페이지를 1순위로 두고, 시간이 난다면 지도(매장) 부분도 구현하기로 했다.
팀원들이 정말 열심히 해줘서 100%는 아니어도 목표치에 근접할 수 있었다.

내가 맡은 부분

  1. 회원가입 API (중복 아이디 체크 API)
  2. 로그인 API
  3. 지도에서 시/도 를 선택시 구/군의 정보를 반환해주는 API

같은 백엔드 팀원인 진현님과 상의하에 조금이라도 익숙한 부분인 회원가입/로그인 부분을 먼저 맡았다. 그리고 Post 메소드를 받는 부분 이외에 Get 메소드를 받는 부분을 연습하기 위해서 지도 API의 일부분을 맡았다.

1. 회원가입 API (중복 아이디 체크 API)

회원가입 view를 작성하는 건 이미 이전에도 간단하게나마 연습했었기에 처음에는 쉽게 다가갈 수 있었다. 그러나 생각보다 시간이 걸렸는데, 그 이유는 유효성 검사때문이었다.
폴바셋 홈페이지에는 아이디, 비밀번호, 이메일 등의 유효성 검사가 필요하고, 이것들 중에 필수사항과 선택사항이 있어서 필수사항들이 모두 들어왔는지도 체크해줘야했다.

처음에는 수많은 if문을 생성했었지만, 멘토분들과 팀원인 진현님의 조언아래 더 깔끔한 코드를 짤 수 있었다.

  • 잘한 부분

    • 정규식 표현으로 Validation을 짜기 위해서 정말 열심히 노력했다. 아직도 외계어같이 느껴지지만 그래도 처음보다는 부담감이 덜한게 확실히 느껴진다.

    • 수많은 if문으로 뒤범벅되있던 코드들은 lambda 함수와 for문을 통해서 간단하게 축약할 수 있었다.

    • 이전 코드 일부분

    • 바뀐 코드 일부분

  • 아쉬운 점
    • 지금 보면 완벽하게 Validation을 짜지 못한게 눈에 띈다. 중복확인 Validation이 중복되는 부분들도 있어서, 더 꼼꼼하게 하지 못한게 아쉽다.
    • 정규식 표현에 너무 많은 시간을 쏟은 감이 없잖아 있다.
    • 하나의 View에 중복 아이디 체크 코드를 합치고 싶었지만, 역부족으로 인해 다른 View로 뺄수밖에 없었다.

2. 로그인 API

  • 잘한 점
    • 로그인 기본적으로 회원가입에서 걸러지고 난 후라서 Validation 등에서 어려울거 없이 진행했다.
    • JWT 토큰을 제대로 프론트엔드에게 보내주었다.

3. 지도에서 시/도 를 선택시 구/군의 정보를 반환해주는 API

지도에서 시/도를 선택했을 시 구/군의 이름과 지역 코드, 그리고 그 지역에 있는 매장수에 따른 clickable 유/무를 반환해줬다.

  • 잘한 점

    • Get 메소드를 이용할 때, 엔드포인트 url parameter가 메소드의 parameter로 들어오는 방식으로 코드를 짰다. 처음해보는거라 어려웠지만 신선하고 즐거웠다.
    • prefetch_related 를 이용해서 쿼리를 최대한 줄였다.
    • 프론트엔드에서 원하는 값대로 데이터를 보낼 수 있었다.
  • 아쉬운 점

    • Get 메소드 view가 처음이라서 엔드포인트를 이용하는 방법에 대해서 감이 잘 안잡혔혀서 생각보다 시간이 걸렸다.
    • prefetch_related도 조언을 듣고 감을 어느정도 잡을 수 있었다. 배우긴 했었는데, 직접 쓰려니까 손이 타자를 못치는 현상..
    • 프론트엔드에서 원하는 값을 보내줄 때 하드코딩으로 끼워넣은 데이터가 있다. 아직 해답을 못찾았지만 그 부분을 좀 더 깔끔하게 만들고 싶다.

가장 기억에 남는 코드

위에 스샷에도 있지만 lambda와 for문을 이용해서 if문을 한번에 줄이는 부분은 정말 신기했다. 멘토분들이 예제를 보여주시고 진현님에게 조언을 받아가면서 만들었는데, 내가봐도 참 신기하다.

후기

1. 좋은 팀원들을 만나는 건 축복
1차 프로젝트를 시작할 때 정말 걱정이 많았다. 내 실력도 실력이지만, 팀원들과 잘 소통할 수 있을지 걱정이 많았기 때문이다. 그러나 참 행복하게도 서로서로 소통하려고 노력하고 어떻게든 다음 스텝으로 넘어가려고 노력하는 팀원들을 만날 수 있었다.
스탠드업 미팅도 미루지 않고 할 수 있었기에 각자가 어떤 걸 하고 있는지 알 수 있었고, 필요한 상황에 서로 수월하게 소통할 수 있었다. 열심히 노력한 민정님, 기현님, 진현님에게 감사의 말씀을 드린다.

2. 버릴건 버리는 마인드
소통이 수월하다보니 대략적인 목표치를 정하는데도 쉬웠다. 물론 우리같은 초보자는 그 목표치를 도달하는것도 힘겨웠지만, 딱 봐도 시간내로 안되겠다 싶은걸 버리면서 하다보니 나름 만족하는 결과를 만들어낼 수 있었다.

3. 그러나 너무 부족한 실력
같은 백엔드 팀원인 진현님에게 무한 감사와 무한 미안함을 보낸다. 본인의 담당부분이 더 많다보니 그것을 하기도 바빴는데, 내 잘못된 지식들을 교정하고 설명이 필요할 때는 자세한 설명까지 해주시면서 진행하셨다. 정말 감사하고 죄송스러웠다.

4. 갈 길이 멀다
처음부터 알고 있었지만 아직 갈 길이 참 멀다. 지나온 길도 짧은데 흘려버린 것들은 다시 주워야하고 또 새로운 길도 개척해야한다. 결국 엉덩이 붙이고 앉아서 공부해야한다. 며칠이 걸려 겨우겨우 짜낸 코드가 나중에는 30분도 안걸릴 날이 올텐데, 그때를 기대해본다.

번외) 건강은 챙겨가며
처음 wecode를 올때 그룹프로젝트를 할 때는 다들 밤새가면서 한다는 말을 많이 들었다. 실제로 오는 사람들은 어느정도 그런걸 감안하고 올것이다. 그런데 내가 하루종일 코드를 쳐가면서 앉아있다보니 어깨나 허리 통증을 비롯해서 소화불량, 두통 등 정말 몸이 안좋아지는게 느껴졌다.
그래서일까, 단순히 나뿐만 아니라 젊고 유능한 사람들이 건강을 헤쳐가면서 하는게 참 안타까웠다. 나는 이미 이전에 몸이 많이 아파봤기에 다른 사람들은 안그랬으면 하는 마음도 컸던거 같다. 그래서 팀원들과 대화를 나눌 때, 목표치는 이정도로 하자는 선을 긋는 발언을 했던거 같다. 이 부분에 있어서는 심적 부담감이 조금 있었다. 혹시 팀원들은 더 할 수 있고 그런 마음이 있는데 막아버린건 아닐까 하는.
2주일 매일같이 밤을 새는건 아닐것이고, 이왕 배우는거 돈 값만큼 배우고 싶어서 밤을 새는 사람도 있을것이다. 그러나 내 생각은 명확하다. 잘 먹고 잘 살기 위해서는 건강이 우선이다.


1차 프로젝트가 끝났다. 이제 곧 2차 프로젝트가 시작하는데, 기대도 되고 걱정도 된다. 공부를 하다보니 끝이 없어서 더 그런면이 없잖아 있다. 이거 공부하다보면 저게 튀어나오고 저거 공부하다보면 또 이게 튀어나오고.
지금까지는 주변 사람을 보다보면 나도모르게 조급해져서 따라했지만, 가랭이가 찢어질 뿐이었다. 나만의 속도를 유지해가면서 공부해나가도록 노력해야겠다. 느려도 좋다. 대신에 하나하나 확실히 라는 마음가짐으로.

profile
이제 막 배우기 시작한 개발자입니다.

0개의 댓글