Wecode/Project

Project-2차 프로젝트를 마친 후기. Wecode

청렴결백한 만능 재주꾼 2020. 7. 16. 15:26
반응형

Wecode/위코드 한 달 반차에 맞은 두 번째 프로젝트

 

프로젝트 소개 

http://www.patagonia.com - Website clone

 

프로젝트 구성원

 - 백엔드 2명

 - 프론트엔드 2명

 

사용된 기술

 - django + python

 - MySQL

 

주어진 시간

- 2주

 


느낀 점

1차때와 다를 것이라고 생각했던 것이 큰 오산이었다.

가야 할 길을 알기 때문인가 더욱더 힘이 안 났다. 

백엔드로써의 소명을 다하고 싶은 마음 가득. 

우려와 걱정은 실제로 일어나지 않을 것이기 때문에 일단 시작했다.

 

대상 웹 사이트에 대해 연구가 많이 부족했었던 것을 느꼈다. 구현할 화면들에서 알지 못했던 기능들이 속속들이 나오기 시작하고 크롤링하지 않았던 데이터들이 (놓친 것들) 나오기 시작했을 때 암담했었다. 하지만 정신 부여잡고 또 크롤링하고 DB에 넣고... 프로젝트 2주간의 기간의 절반을 db세팅에만 시간을 쏟았다. 그리고 한 이틀 동안 폭풍 view를 짜게 되고, api를 던진다. 

 

아무리 생각해봐도 백보다는 프론트가 더 바쁜 것 같다. 

 

사실 db셋팅이 되어 있으면 view 짜고 엔드포인트 만들고 api 던지는 거는 크게 어렵지 않다는 것을 느꼈다. 깨끗하고 순정의 데이터베이스를 갖는 것이 힘들다는 것을 느꼈다. ㅎㅎ

 

1차 때 보다 2차의 프로젝트 대상 사이트가 좀 더 어려웠던 것 같다. 크롤링하기에도 쉽지 않았고 제품 하나당 가진 데이터의 개수도 달랐고 기능의 개수도 많이 달랐다. 할 일이 엄청나게 많아서 멘붕이 쉽게 쉽게 왔던 것 같다. 

 


잘한 점

데이터베이스의 문제점을 잘 고쳤던 것. 파타고니아의 제품 카테고리들이 뒤죽박죽이어서 그런지 중복데이터들이 많이 들어갔는데 그런 것들을 발견했을 때 for 문으로 잘 걸렀다. 여기저기 다대다의 중간 테이블에도 그런 것들이 많았는데 발견 즉시 수정을 하여 그나마 나름 깨끗한 데이터베이스를 유지하게 한 것이 잘한 점인 것 같다.


아쉬운 점

처음에 홈페이지를 좀 더 깊게 연구했었어야 했다. 많이 아쉽다. 그렇지 않아 뒤에서 소비한 시간들이 엄청 컸다. 숨어있는 데이터들을 잘 긁어모아서 좀 더 완벽한 뷰를 짤 수 있도록 해야겠다.


해결/개선방법

  • 방심하지 말 것
  • 홈페이지의 기능과 필요한 데이터들이 무엇인지 상세히 면밀히 살펴 볼 것
  • 최대 효율성을 찾고 기한을 준수한다.

머리로는 알고 있으나 실천이 힘들다. 실천이 중요하다.


얻은 것

  • 자기 반성
  • 주제 파악
  • 생각보다 깊고 생각보다 엉망진창인 대기업 웹사이트
  • 팀의 분위기는 핸들 불가능
  • 하면 된다. 안 해서 문제인 거지.

기억하고 싶은 코드/로직/함수

similar_prod = product.product.annotate(aa=Avg('view_now__review__overall_rate')).all().order_by('-aa')

 

정말 많은 고민이 있었던 코드이다. related_name의 설정이 sub_category여야 되는데 product로 잘못 지정되어있어 조금 헷갈릴 수도 있는데, 

 

**비슷한 제품 추천 알고리즘인데, 지금 현재 보고 있는 제품의 같은 카테고리 내에서 review의 평점이 가장 높은 순으로 5개만 뽑아서 similar product에 넣어 보내주고 싶었다. 

 

!! 사실 실제 파타고니아 웹사이트에선 어떤 로직으로 하는지는 모름. 

 

하루정도 투자를 했던 것으로 기억한다. 여기에서 느꼈다. 하면 된다. 안 해서 문제인 것이라는 것을.

 

이렇게 기업 협업의 마지막 날에 2차 프로젝트 후기를 적는다. 

 

*기업 협업 프로젝트는 한 시간 전에 마무리를 하였다...

 

10년 20년 뒤엔 나는 어떤 개발자가 되어 있을까?

반응형