[0706] KPT 회고

nikevapormax·2022년 7월 6일
0

KPT

목록 보기
5/7

유화 제작 프로젝트(머신러닝, DRF)

KEEP(유지하고 싶은 부분)

  • 기획
    • 기능명세서 + 피그마 + ERD + 컨벤션 등
    • 기획에 맞춰 구현한 후 보완점 및 추가점을 찾아 반영하는 부분
  • 기본 구현 완성 후 추가 기능 구현
    • 필요한 최소 기능을 목표치로 잡아서 구현
    • 구현된 부분에 대한 리팩토링 진행
  • API 및 DB 설계에 대한 로직
    • 기획에 최대한 맞추며 나중에 바뀌는 상황이 오더라도 유연하게 대처
  • RESTful 을 위한 성장
    • backend, frontend 분리
    • serializer 활용
  • 배포
    • Gunicorn
    • AWS - EC2, S3, Cloud9 IDE
  • 반응형 웹 디자인 적용
  • 팀워크
    • Pair programming 이용하여 2인 1조로 나누어 진행

PROBLEM(문제점 및 해결방안)

  • git issue 활용도 낮음
    • bug 발생 시 해결하느냐 issue 작성하지 않고 넘어감
  • 모델링
    • 북마크 및 좋아요 부분을 따로 만들지 않음 → user model 안에 생성해 유연한 serializer 활용
  • 운영체제에 따른 datetime의 strftime 사용방법의 차이
    • mac : datetime.now().strftime('%Y-%m-%d%H:%M:%s')
    • window : datetime.now().strftime('%Y%m%d%H%M%S')
  • 프로젝트 진행에 대한 시간 부족으로 인한 수면 포기 → 시간관리
  • Javascript
  • Bookmark serializer를 통해 데이터를 불러와 필요한 데이터를 직접 작성해 불러와야 함
    • User model 안에 북마크에 대한 정보를 담아줘 Article serializer를 통해 한 번에 데이터를 받아올 수 있도록 작성할 예정

TRY(다음을 위한 노력)

  • git hub
    • Issues 작성
  • 모델링
    • ForeignKey 뿐만 아니라 ManyToMany 혹은 OneToOne Feild를 활용해 여러 참조 관계에 익숙해지기
  • 데이터 가공 및 전송 최적화
    • 해당 부분에 필요한 데이터만 적절하게 교환 필요
  • 공부
    • JWT
    • Javascript
    • 배포

FEEL(느낀 점)

  • 김경수
    • 이번 프로젝트는 완성도가 굉장히 높은 거 같아서 뿌듯합니다. 이번 프로젝트에서 백앤드와 프론트를 분리하였는데 이것을 연결시키면서 백 과 프론트의 상호작용 서로의 관계에 대해 많은 공부가 되었습니다. 그간 공부하고 내 것으로 만든 것들이 돌아온 게 느껴져서 저에게도 굉장히 좋고 성장할 수 있는 발판이 되는 프로젝트였습니다. 이번 프로젝트에서 Django Rest Framwork 를 사용하여 처음으로 시작 한 프로젝트여서 DRF의 여러 가지 기능들과 매력을 충분히 느꼈고 재밌게 개발을 하며 프로젝트를 진행 한 것 같습니다. DRF로 프로젝트를 진행하며 각 요소들이 어떻게 작용하는지, 각 요소들의 관계들을 공부하는 것이 재미있어서 다음 프로젝트 때는 이 점을 깊게 파고들어가서 DRF의 모든 기능들을 사용 하는 방향으로 진행 하고 싶습니다. 제가 느낀 DRF의 가장 큰 장점은 serializer, orm입니다. serializer로 데이터를 쉽게 불러올수 있는 장점이 있어서 개발에 굉장히 편리했습니다. 프론트 에서는 중복 ID값 처리, str으로 받은 데이터 number로 변환, 토큰값이 없는 유저 접근금지, 백에서 받은 response을 프론트에서 제어해 주는 과정 등등 프론트도 매우 재미있었습니다. 마지막으로는 배포를 담당했는데 배포는 AWS를 사용하였고 프론트는 S3, 백앤드는 EC2를 사용 하였고 cloud9을 사용하여 통합개발 환경에서 백앤드를 다뤘습니다. 마지막으로는 Route 53을 사용하여 도메인을 입혔습니다. 이번 프로젝트에서 유독 수도 없이 많은 오류를 경험했습니다. (특히 배포…) 하지만 이러한 오류들을 만나면 포기하기보단 어떻게든 해결하고 방안을 찾고 해결하는 과정에서 성장했고 오류를 해결하며 성취감을 느끼고 성장하는 기분을 느껴서 이번 프로젝트가 더욱더 완성도가 높았고 옆에서 열심히 하는 팀원들을 보며 저 또한 모든 노력을 쏟아부었고 재밌는 개발을 하였습니다~~
  • 윤슬기
    • 점점 완성도가 높아져가는 결과물들에 뿌듯합니다. 이번 프로젝트는 JWT와 NST을 이용하는 함수를 만드는 파트를 담당했었는데, simplejwt를 이용하니 url과 view를 작성할 필요없이 로그인-로그아웃을 할 수 있다는게 굉장히 간결하고 좋았습니다. nst결과물을 서버,DB,브라우저에 넣는 작업이 어려웠고 데이터 가공에 대한 스트레스도 많이 받았었으나 저희가 할 수 있는 선에서 구현을 완성시켰습니다. 이 부분이 정말 굉장히 박수를 칠 정도로 감동이었습니다. 적용하는 모델링, 매직 메소드, 필드 옵션, 커스텀 함수와 같은 부분은 완벽하다라고 전혀 할 수 없는 듯 하여 더 사용해보고 더 작성해봐야할 것 같습니다. Django를 사용했을 때는 장고 기본 템플릿을 이용한 장점들이 있었고 DRF를 사용해보니 Serializer를 사용해 데이터를 쉽게 불러 올 수 있는 장점을 비교해 볼 수 있어 퓨어장고와 drf 각각의 코드로도 작성해보고 싶은 생각도 듭니다. Javascript는 처음 사용했을 때보다 더 어려운 느낌입니다. 이번 기회에 front에서 back에 요청할 경우까지 생각해 로직을 구상하는 편이 좋을 것 같다고 느꼈습니다. Pair Programming을 이용하여 팀 내에서 2인 1조로 진행하였는데 너무 편리했고 동시에 코드를 작성하니 소통도 더 많이 할 수 있어 구현에 큰 도움이 된 것 같습니다. 추가 기능 구현까지 목표로 삼았으나 못 한 몇 가지 부분에 있어 아쉬움이 남습니다. 이번주동안 작성하지 않았던 코드들과 배포에 대한 것을 꼭 공부할 계획입니다. 아 이번에 처음으로 모든 페이지에 반응형을 적용해보았습니다. 감동입니다. 그리고 이번 프로젝트도 팀원 친구들 정말 감사합니다. 다들 고생 많았어용💚
  • 정대근
    • 이번에 새롭게 배웠던 Django Rest Framework에 대해서 좀 더 많이 알아갈 수 있었던 프로젝트였습니다. 특히 Serializer의 활용법에 대해 감을 잡을 수 있었습니다. 기존의 Django의 ORM만 사용하는 것보다 훨씬 많은 것을 불러와 좀 더 수월하게 데이터를 불러올 수 있었다고 생각합니다. 또한 Django의 template 문법을 사용하지 않고 프론트와 백을 분리하는 것과 기존 Django Session을 통해 로그인을 관리하지 않고 JWT를 활용해 로그인을 진행하는 것에 대해 많이 배울 수 있었습니다. 지금까지 하지 않았던 북마크와 좋아요 기능을 이번 프로젝트에서 구현해 어떤 방식으로 로직을 짜는지 감이 잡힌 것 같습니다. 다음 프로젝트에서는 북마크와 좋아요를 따로 만드는 것이 아닌 user model 안에 만들고 serializer를 활용해 데이터를 좀 더 수월하게 불러올 수 있도록 진행해볼 것입니다. 항상 옆에서 열심히 해주는 팀원들 덕분에 빠듯한 일정 속에서도 지치지 않고 프로젝트를 성공적으로 마무리할 수 있었습니다.
    • 이미지를 불러오는 것을 항상 해왔었는데, 할 때마다 어려웠습니다. 이번에 프론트와 백을 분리해 진행해 보았기 때문에 다음 프로젝트에서는 좀 더 수월하게 할 수 있을 것이라 생각합니다.
  • 정주현
    • 기획부터 배포까지 모든 부분을 다뤄볼 수 있어서 여러가지를 많이 배울 수 있는 프로젝트였습니다. 그동안 배웠던 DRF 기본 기능 구현을 직접 해보면서 DRF의 각 요소들(특히, serializer, orm 등)이 어떻게 작동하는지 알아갈 수 있었습니다. 또한, 이에 맞춰 프론트까지 함께 코드를 작성해볼 수 있어서 좋았습니다. 하지만 이 과정에서 백엔드에서 데이터를 관리하고 api로 주고 받으며 한계를 많이 느꼈습니다. 효율이 떨어지는 코드라는 것을 스스로 인지했지만 더 나은 해결책을 찾지 못해 스스로 아쉬움을 갖게 되는 순간들이 있었습니다. 리펙토링과 공부를 통해 추후 꼭 개선하고 싶습니다. 배포를 하면서도 많은 오류를 겪은 만큼 aws(ec2, s3)와 gunicorn에 대한 감을 잡고 많이 배울 수 있었습니다. 짧았던 프로젝트 기간만큼 아쉬운 점이 많습니다. 남은 이번 주 시간을 활용해 보완해서 다음 프로젝트에는 개선된 사항을 반영해야겠습니다. 우리 팀, 만세👍👍👍
profile
https://github.com/nikevapormax

0개의 댓글