슈코딩
[Django] 추천시스템 KPT 회고 본문
프로젝트명: 10Taku
프로젝트 설명: 애니메이션을 좋아하는 사람 혹은 처음 입문한 사람들을 위한 애니메이션 추천 사이트
프로젝트 컨셉: 2D의 매력에 빠져들게 하는 길잡이
프로젝트 기간: 2022.06.02 ~ 2022.06.13
KPT 회고
Keep 🙂
- 구현 난이도가 높은 기능(장르 선택 페이지, 페이지 별 복합 출력 ) 은 화면 공유를 통해서 같이 개발을
진행해서 비교적 빠른 속도로 기능 구현이 가능했다. - Notion에서 체크박스와 텍스트로 일정과 기능을 관리함으로써 프로젝트가 척척 진행됐다.
- 프로젝트의 전체적인 구조를 이해하기 위해 다른 팀원들의 기능도 같이 도전해보았던 점
- Sourcetree 및 Github에 관해 잘 모르는 부분들을 서로 물어봐 가면서 해결했다.
- 좋아하는 주제"애니메이션" 으로 프로젝트를 진행하니까 개발하는 과정이 즐거웠다.
- 약 10일 동안 65개의 PullRequest를 하여 프로젝트 진행하면서 각자 작업한 브랜치
merge 시 충돌로 인한 에러 수정떄문에 소모되는 시간을 아껴서 기능 개발에 더 집중 할 수 있었다. - "Develop" branch를 생성하여 최종 Merge 전에 중간 단계를 거쳤다.
Problem 😈
- 장고의 데이터베이스 설정에 대한 이해도가 조금 부족했다.
- 크롤링 시 빈 데이터 전처리하는 것이 오래 걸렸다. (빈 데이터는 크롤링이 안 돼서 되는지 확인하고 값을 부여해야 행이 맞게 떨어짐 ex) 장르 정보가 없으면 [] 와 같은 데이터를 넣어줌으로써 animation의 행의 수와 동일하게 맞춰주어야 했음)
- AWS 배포 시 Nginx 설정 static파일에 접근하는 권한 문제가 발생했었는데, 튜터님의 도움 없이는 해결 못 했었을 것 같다.
- 리눅스에 대한 이해도가 낮아서 배포 작업중에 설정이 꼬이는 등 어려웠다.
- 모델 관련 코드에 대한 설명을 들어도 내용이 어려워서 이해하기가 어렵다.
- Django에서 filter 메소드로 얻은 query의 처리가 어려웠다. (query에 대한 이해도 부족)
Try 🙄
- 리눅스 문법을 공부해서 CLI환경에서 현재 내가 어떻게 작업을 해야하는지에 대한 이해도를 높인다.
- 직접 구현하지 않은 기능의 코드들을 직접 한 번씩 써보며 이번 프로젝트에 사용한 코드를 내껄로 만든다.
- 장고 프로젝트 배포에 익숙해지기 위해 프리티어 인스턴스를 사용해서 반복적으로 배포를 하는 연습을 해본다.
- 이번 프로젝트에서는 다중 for문을 통해 query를 처리했지만, 다른 사람들의 처리하는 방법을 검색해보고 좋은 방법이 있다면 배운다.
- 코드 리팩토링을 통해서 가독성과 효율을 높인다.
FeedBack 🕊
양봉현 튜터님 :
- App 구성 관련 : 프로젝트 구성에서 애니메이션, 유자 app은 어떤 기능을 담당할 것인지 명확하였으나 detail app은 필요성 차원에서 naming에 대해 고민이 조금 더 들어가면 좋을 것 같다.
- try/except : 해당 내용을 사용하여 예외 처리를 잘 구현하신 부분이 보였습니다. 해당 내용으로 다른 처리 함수들도 예외 처리를 잘 해준다면 더 좋은 코드가 될 수 있을 것 같습니다.
- page_num = random.randrange(1, 917) !! 하드코딩은 좋지 않습니다. 충분히 현재 코딩 레벨로 해당 내용 구현 하실 수 있을 것 같은데 추후 수정하시면 좋을 것 같습니다. 이 것 이외에도 '동적'으로 변할 수 있는 부분 체크해서 업데이트 하면 좋을 것 같다.
- Q 객체 활용한점 굿!
이상록 튜터님:
- 최종적으로 배포까지 깔끔하게 진행해주셔서 너무 좋았고 하이브리드 알고리즘 추천한점도 좋았습니다.
- 추천시에 반복적으로 계산되는 코사인 유사도 부분과 filter 한 이후에 queryset len 메소드와 count의 차이점에 대해서 확인한 후에 이부분 리펙토링 해보시면 좋을 것 같습니다.
느낀점
이번 프로젝트를 개발하면서 장고라는 프레임워크에 대한 이해도가 조금은 높아지는 시간이 되어서 좋았었고,
십지않조에서의 두번째 프로젝트인만큼 첫번째 프로젝트 때보다 협업이 잘 이루어진것같아서 개발하면서 뿌듯했었다.
그리고 같은 팀의 철현님을 보고 stackoverflow를 잘활용하면 얼마나 모르는 코드를 짜는데 얼마나 유용한지를 느꼈다.
마지막으로 아직까지 AI 관련된 코드는 많이 이해도가 낮아서 프로젝트에서 사용한 코드들을 복기 해보면서
기본기를 다져나가야 할것같다는 생각을 하게 되었다.
Github Link
https://github.com/NotEasyTeam/10Taku
GitHub - NotEasyTeam/10Taku
Contribute to NotEasyTeam/10Taku development by creating an account on GitHub.
github.com
'개발일지 > Project KPT' 카테고리의 다른 글
[FINAL] 프로젝트 중간 KPT 회고 (0) | 2022.08.05 |
---|---|
[Django][AI] 유화제작 프로젝트 KPT회고 (0) | 2022.07.06 |
[머신러닝] 프로젝트 팀회고 KPT (1) | 2022.05.25 |
[Instagram] 클론 백엔드 프로젝트 마무리 회고 (0) | 2022.05.11 |
[Instagram] UI 클론 코딩 프로젝트 회고 (3) | 2022.05.02 |
Comments