2020년 8월 18일 ~ 2020년 8월 28일 까지 총 2주간 진행하였습니다.
4명의 프론트엔드, 2명의 백엔드로 총 6명과 함께 프로젝트를 하였습니다.
다양한 애니메이션과 일반적인 홈페이지와 다른 메뉴 구성과 깔끔한 디자인의 프랑스의 명품 패션 브랜드인 celine 홈페이지를 클론하는 프로젝트를 진행하였습니다.
프론트엔드(박진아, 이도윤, 한태규, 이영섭) 백엔드(김현우, 고지원)과 함께 진행하였습니다.
- git, github, trello, slack, python, django, mysql, selenium, beautifulsoup4, jwt, bycrpt
소통은 slack, trello를 사용하였으며, 협업은 git, github를 통하여 진행하였고, 웹크롤링은 bs4, selenium을 이용하였으며, database는 mysql, 암호화는 jwt, bycrpt, 언어는 python, 웹프레임워크는 django를 사용하였습니다.
나는 백엔드 소속이며 크게 user
쪽 과 product
쪽으로 app을 나누어 담당하였다
이 중에서 나는 user
쪽을 맡게 되었다.
1. celine 사이트 모델링하기
2. 회원가입/로그인 API 구현하기
3. 로그인 데코레이터 구현하기
4. 위시리스트 API 구현하기
5. AWS EC2 서버 배포 및 RDS 구축하기
6. git을 통하여 협업하기
이 코드는 위시리스트에 있는 제품의 정보들을 불러와서 프론트엔드로 정보를 넘겨주는 부분이다. 단순히 코드를 짤 수도 있었지만 product
는 많은 FK를 가지고 있어서 많은 Query 충돌이 예상되었다.
세션에서 배웠던 DB hit을 줄일 수 있는 select-related
와 prefetch-related
를 직접 사용하여 보았다. 세션을 들었을 때는 무슨 소리인지 감이 잘 안왔는데 프로젝트를 하다보니 사용해야할 순간이 온 것이다! 비록 프로젝트 전날 새벽까지 이해하느라 힘들었지만, 배운것을 사용하여 뿌듯하고 보람있었다. 역시 이론으로 배우는 것보다는 실전으로 익혀야 진짜 기억에 남을 것 같다!!
나의 회고록
python
과 django
를 배운지 고작 한달밖에 안되는 시점에서 프로젝트에 돌입하게 되어 '정말 내가 할 수 있을까?'라는 생각도 많이 들었으며 팀원들에게 '혹시 민폐를 끼치면 어떡하지?' 등등 많은 걱정도 들었다. 2주도 안되는 한정적인 시간이었으며 그 시간안에 개발해야하는 기능들은 정말 산더미처럼 많았다. 한달동안은 혼자 계속 공부를하면서 모르는게 있으면 끙끙 앓기도하고 멘토들이나 동기들에게 질문도 하면서 기본적인 문법 파이썬에 익숙해지고 새로 배우는 프레임워크인 장고에 관해 익숙해지는 시간을 가졌다. 나는 백엔드라 2명에서 같이 프로젝트를 맡게 되었다. 인원도 2명밖에 없어 한명 한명이 굉장히 맡는 부분의 책임감이 컷다고 느껴졌다. 그래도 막상 프로젝트에 돌입하게 되니 혼자 할때보다 시간도 더 빨리갔고, 같이 소통하면서 진행하니 실력도 훨씬 빨리 늘고 있다는게 느껴졌다. 프로젝트가 끝난 시점에서 돌이켜보니, 하루하루는 정말 힘든 시간을 보냈지만, 고작 2주라는 시간동안 그래도 많은 것을 해낸 나에게 뿌듯함이 느껴졌다. 물론 스트레스 받는 일도 많았고 아직 완벽히 숙지하지 못하고 쓴 코드들과 개념들도 많겠지만, 그래도 내가 목표한 바를 모두 이루었다는 것에 내 스스로에게 칭찬을 해주고 싶다. 또한 내가 2주동안 무사히 프로젝트를 완성할 수 있었던건 나와 함께 한 5명의 팀원들, 동기들의 영향이 제일 컸던 것 같다. 모두 쉬지 않고 열심히 각자의 맡은 역할을 진행하면서도 또 한명이 어려워하거나 막히는 부분이 있으면 함께 도와주며 프로젝트를 2주간 진행하였다. 이번에 한번더 느낀 것이 혼자하는 것과 팀으로 어떤 한 프로젝트를 완성한다는 것이 얼마나 힘들며, 또 의미있는 일이라는 것을 깨닫게 해주었다.
아쉽거나 개선하고 싶은 점