역할 분담
- 수연 - Product Manager
- 넓은 시야에서 프로젝트 전체를 관리하는 역할을 맡으면 좋을 것 같다고 조언 해주심.
- 창호 - Scrum Master
- 좋은 분위기로 스크럼을 진행시키고 정리하며 의견 차이가 발생하면 중간에서 조율해주면 좋을 것 같다고 조언 해주심.
- 연호, 일환 - Developer
- 개발하면서 발생하는 이슈들을 해결하는 과정을 기록하면 좋을 것 같다고 조언 해주심.
검증
- 검증을 entity에서 진행해야 하는지? dto에서 하는지? 아니면 둘다?
- 어떻게 보면 중복되는 검증이 두 번 진행된다고 생각할 수 있지만 entity와 dto의 검증은 책임이 다르기 때문에 모두 필요하다.
성능 테스트
- 테스트를 로컬해서 진행해도 되는지? 무조건 배포 후 진행해야 하는지?
- 로컬에서 진행하는 방법도 유의미한 결과를 얻을 수는 있음.
- 하지만 로컬에서 진행하면 프로세스들에 따라 성능이 낮게 측정될 수 있음.
- 성능 테스트의 최소 단위는 어느정도로 잡아야 할지?
- 발생하는 하나의 행위를 기준으로 진행하면 좋을 것 같다고 조언 해주심.
- 동적 계산, 정적 계산 둘의 로직이 다르기 때문에 견딜 수 있는 부하가 다르면 어떻게 해야할지?
- 적당히 부하를 주는 것은 TPS라고 볼 수 있는가?
- 평균 TPS란 무엇일까? 그 기준은?
- 부하 테스트의 경우 부하를 주는 시간은 어느정도가 적당한가?
- 과도한 부하를 줄 필요가 없으면 왜 부하 테스트를 하는지?
- 성능 개선에 대하여
- 응답 속도를 줄이기 위해 외부적인 요인(DB), 내부적인 요인(코드)를 개선할 수 있다.
- 개선 방안에 대하여
- 만약 정적이 동적보다 성능이 좋게 나오지만 동적을 사용하는 장점이 충분하다면?
- 동적을 개선시켜 유의미한 성능 향상을 이루면 설득력 있을 것 같다.
중복 예약
- 예약 생성 시 동시에 접근하여 중복 예약이 되는 것을 어떻게 막을지?
- locking을 하는 방법은 가장 안전하지만 성능이 낮음.
- unique key (복합키)를 거는 방법은 locking 보다 성능이 좋지만 동시 접근한 사용자에게 예외 발생.
- 프로젝트 특성 상 unique key를 사용하는 방법이 효율적일 것 같음.