오늘의 집 이라는 사이트를 베이스로 두고 카피 사이트를 제작하며 겪었던 일들을 정리해보려고 합니다.
아직 구현하지 못한 기능들에 대해서도 아쉬움도 있고 구현해내겠지만 중간 과정이라 생각하고 포스팅을 진행합니다.
* 여러 사이트 중에서 오늘의 집 이라는 사이트를 카피 프로젝트로 선정한 이유
- 어떤 프로젝트를 만들지 고민하던 중 CRUD 를 구현하고, 결제, 타 플랫폼 API 를 활용한 로그인 시스템 구현 등 다양한 구현 요소가 있다고 판단하여 선택을 하게 되었습니다.(홈페이지의 톤이나 구조도 깔끔하다고 생각해서 선택한 이유도 있기는 합니다.)
* 프로젝트를 하면서 힘들었던 점
- 각 model 을 정말 많이 바꿨습니다. A 모델에서 B 모델로 바로 객체를 불러와야 하는데, 중간에 C 모델을 타고 가게 되는 경우들이 있게 되는 경우에는 비효율적 이기도하고, 저 본인은 당장 알고 있지만 나중에는 코드를 보면 이해하는데 시간이 걸릴 것 같은 경우들이 대표적일 수 있습니다.
- 템플릿을 만들면서 소비한 시간들이 꽤 많았습니다. 실제 본 업무에 들어가서는 겪을 일이 많지 않을 것 같지만 개인 프로젝트를 만들면서 너무 단순한 레이아웃은 감점 요소가 될 것 같아 나름대로 공을 들였습니다.
- ORM 에 대해서 어느 정도는 이해한다고 생각했지만 프로젝트를 진행하면서는 또 다른 느낌이었습니다. 개인적으로 유레카 라고 외쳤던 것은 쿼리셋과 객체의 차이, 그리고 객체에서 filter, get 이 각각 하나의 인스턴스만 불러온다고 하더라도 둘의 성격은 다르다는 것 입니다. 확실히 본인이 직접 문제를 겪고 해결하면 더 오래남고 이해도 확실히 된다고 느꼈습니다.
- 이 외에도 다양한 에러를 접했을 때 디버그 모드를 사용하지 않고 무작정 print(instance, '여기까지는 와야 되는데....!!') 와 같이 기능을 실행시킬 때 어디까지 도달하는지 조금 무식한 방법으로 코딩을 했습니다. 현재는 디버그 모드를 사용해서 데이터가 바인딩되는지 안되는지 확인하고 원인을 알기 위해 여러 관점으로 보려고 노력하고 있습니다.
물론 아직까지도 남아있는 문제점들이 눈에 보이지만 해결할 예정입니다. 단 이 프로젝트보다는 현재는 다른 프로젝트를 중점으로 진행을 할 예정입니다.
두번째 프로젝트는 크롤링을 하고, Celery, Redis, ElasticCache 작업 중이며, 이후에는 REST API, travis CI, 테스트 코드까지 붙이는 크롤링 프로젝트를 진행하고 있습니다.
* 아래의 스크린샷은 개인 프로젝트 스크린샷으로 실제 상품의 가격이 아님을 알려드립니다.
'프로젝트 이야기 > 개요 및 후기' 카테고리의 다른 글
크롤링 프로젝트 개요 (0) | 2019.06.17 |
---|---|
카피 사이트 프로젝트 개요 (0) | 2019.06.14 |