git hub 주소
https://github.com/SeonminKim1/7Instagram.git
간트 차트
API 설계도
https://www.notion.so/c1bcd82a87284af2a31417eb05f91bbe?v=af9524e1b4424fc1ab878849998a052d
1. Keep
- 기획(Mock Up), 와이어 프레임, 웹 개발 순서의 진행을 적절하게 진행함
- 간트 차트나 Github Project 이슈 등으로 일정 관리를 적절하게 함
- Github 시스템 이용, 코드 Merge / Branch 관리 등 팀원 간 코드 리뷰
- 프로젝트 범위(처음 목표한 범위)에서 최종 프로젝트 구현 범위가 크게 벗어나지 않은 것
- 정기적인 상호 피드백 및 논의 시간을 가졌음 (오전 9시, 오후 2시, 저녁 6시)
- 초기 파트 분배 후 프로젝트 진행 간 업무 파트 약간씩 Develop 및 분배를 해나간 점
- 서로 질문하고, 격려하고, 적극적으로 피드백 하려고 한 것
- 오류 발생 시 꾸준한 디버깅으로 문제 해결
2. Problem
- 클래스명이 겹쳐 CSS가 작동되지 않은 이슈
- 레퍼런스 검색에 너무 많은 시간 소모(1시간만 찾아보고 없으면 물어보기)
- 긴 Commit, Merge Term으로 인한 Conflict 해결에 과도한 시간 소모
- 문제 발생시 빠른 공유 및 스케줄 보완
- 일정 기한이 조금씩 밀리면서 막판에 급했던 점
- Class 명에 대한 통일 ( '-' , '_' 등)
3. Try
- (FE) 반응형 웹 구현하기
- (BE) Test Case 작성하기
- (BE) CRUD 요소 완벽하게 구현하기
- (공통) HTML, CSS, JS 파일 적극적으로 분리해서 Conflict 방지하기
- (공통) 주석 꼼꼼히 달기
- (공통) 변수 Convention시 큰 div는 Container를 몇개 정한다. (follower-wrapper, item 보편적인 주요 Keyword)
- (DB) Mongo DB - NoSQL들은 Depth가 적은 걸 지향하기
4. Feel (느낀점)
김선민
- 팀 프로젝트를 진행하면서 GIT Branch Merge 전략도 적극적으로 많이 사용해 본 것 같아 좋은 경험이였고 결과물 적으로도 나름 만족 스러운 프로젝트였다. 다만 문법에 대해 익숙하지 않아, 기능 개발과 문제 해결에 빠르게 해결하지 못해 일정이 조금씩 밀린점이 젤 아쉬웠던 것 같다.
김민기
- 개발은 참고자료만 검색한다고 해결되지 않으며 팀원과 논의를 거치고 그래도 해결되지 않는 문제는 튜텨님을 통해 바로 해결해서 시간을 절약하는 방법을 배웠습니다.
박재현
- 팀프로젝트 초반에 필요한 것 대해서 팀장님께서 다 알고 계셔서 git hub, 간트차트, 피그마, ERD 계획 등 앞으로의 프로젝트에서도 필수 적인 협업 툴을 다시금 사용해보고 머릿속에 남길 수 있어서 좋았고 기능 개발하면서 다시금 데이터의 흐름을 제대로 파악하게 되었고 앞으로 몽고DB는 사용할 일이 없지만 나름 좋았던 경험이었다. 아쉬운 점은 주요 구현 사항에 대해서 빠진 부분들이 있었던 게 아쉽다. 크게 어려운 부분도 아니었었던 부분인지라 좀 더 기능 이나 업무에 대한 세분화랑 업무 분담 등 역시나 초기 계획이 제일 중요하면서도 어렵다는 걸 다시금 느끼게 되었다.
황신혜
- 하나의 서비스에서 기술 구현과 연결이 어떻게 이루어지는지를 알 수 있어서 좋았다. 팀 협업을 통해 발생할 수 있는 문제를 경험했으며 효율적인 스케줄 관리의 중요성, 짧은 단위로 시간을 설정해두고 의견 및 스케줄을 수정해야 향후 문제 발생이 적다는 것도 알 수 있었다. 회고를 통해 문제점을 보완하고 각 팀원에 대한 이해도 높일 수 있었다.
튜터님 피드백
- 코드 리팩토링
- List Comprehension (for문을 사용하는 코드들을 한줄에 작성할 수 있는 python 작성법)
- Class 사용 (모듈화를 통해서 코드 재사용성이 용이하게 할 수 있도록 다른 모듈들 참고)
- 변수 상수화(숫자 딸랑 있는 것보다 변수명으로 확실히 알 수 있게됨)
- Pylint : 코드 정적 분석에 좋은 라이브러리(PHP-8 기준으로 코드작성에 대해 점수 내려줌)
- pip install pylint 해서 터미널 환경에서 pylint app.py 형태로 실행해서 분석 가능
- 불필요한 코드를 알려주거나 줄일 수 있는 코드등을 파악하고 수정 가능
- Pytest : Unit(기능) 단위로 찢어서 기능 테스트 용 라이브러리
- 코드를 리팩토링 하였을 때 데이터가 원래랑 똑같이 작동되는 지 테스트 해볼 수 있음
- Blueprints : Flask의 app.route() 들의 API endpoints를 여러 .py에 분리하는 라이브러리
- 작업 단위의 파일로 분리할 수 있기 때문에 찾기도 쉽고 git 사용 협업 시에도 충돌이 거의 안나도록 방지 가능
- 추후에도 재사용성도 용이하고 유지보수에도 용이하게 프로젝트를 만들 수 있음
- 디자인 패턴 종류 (패턴은 언어에 구애 받지 않고, 프로젝트 구조에 맞는 패턴 사용이 이상적)
- MVP Pattern
- Layered architecture pattern
- Adapter Pattern
- Opserver Pattern
- 프로젝트 간 문서 Minimum 범위
- 기능 설계(=디자인, =API문서)
- 일정관리용(Trello, Github Project)
- 기능 이슈 관리(Github ISSUE)
'회고록(TIL&WIL)' 카테고리의 다른 글
TIL 2022.05.16 머신러닝 정리 (0) | 2022.05.16 |
---|---|
TIL 2022.05.13 git 정리, 머신러닝 (0) | 2022.05.13 |
TIL 2022.05.09 클론코딩 팀프로젝트(BE) - 5 (친구 추천 리스트, 팔로우/언팔로우) (1) | 2022.05.09 |
TIL 2202.05.08 클론코딩 팀프로젝트(BE) - 4 (request body, 매직 메서드, list빼기함수, 파이썬 list랜덤 추출) (0) | 2022.05.08 |
TIL 2022.05.06 클론코딩 팀프로젝트(BE) - 3 (중간점검, 중복확인, 입력값 확인, 타임어택) (0) | 2022.05.06 |