실전프로젝트를 시작한지 2주일이 지났고 중간발표 시간을 가졌다.
남은 4주동안 해결해야 할 문제들과 공부해야할 것들이 산더미지만, 할 일이 있다는 것에 감사하며…
이번 WIL에는 중간발표 자료와 피드백 내용을 정리해본다.
주차장을 찾아가는 네비게이션과 같이 쉽게 주차장을 조회하고 예약할 수 있는 서비스
☑️ 주차장 검색
☑️ 주차 예약 시스템
☑️ 차량 등록
☑️ 주차장 현황 관리
Back-End | Spring Framework (Spring Boot, Spring MVC, Spring Data JPA, Spring Security), Docker, Java17, elastic search, junit5 |
---|---|
Database | MySQL, H2, redis |
Front-End | HTML5, CSS3, JavaScript, Bootstrap, Axios, thymeleaf |
Tool | Git, Github, Github Actions, IntelliJ IDEA, jmeter, pinpoint |
API | 카카오 Map API |
server | EC2, RDS |
도입 이유
문제 상황
해결 방안
의견 조율
의견결정
도입 이유
문제 상황
해결 방안
의견 조율
의견 결정
도입 이유
문제 상황
해결 방안
의견 조율
의견 결정
주차 예약로직 앞으로 개선할때 예약 대수를 구하는 로직 및 어떤 방식으로 데이터를 관리할 것인가요?
→ 프론트 예약화면에 시간대별 예약 카운트 노출시키기, 화면 구상 필요
→ 예약 카운트 구하는 쿼리 만들기
→ 시간대별 데이터를 가질 수 있는 방법 찾아보기
동시성 제어시 왜 이러한 락킹 방법을 사용했는지 고민해 봤으면 좋겠습니다.
→ 현재 Pessimistic Locking, Redis 스핀락 적용해본 결과 Peesimistic Locking 속도가 더 빠름. 그 이유 찾아볼 것
jmeter가 아닌 테스트 코드에서 동시성 제어에 관한 내용이 나왔으면 좋겠습니다.
→ 테스트코드에서 쓰레드를 동시에 열어서 보낼 수 있음. 입차 부분 findAllByParkInfoId 테스트 시도함
→ 테스트코드에서 어떻게 동시성 제어 부분 테스트를 구현할 수 있을지 찾아볼 것
redis에 어떤 데이터를 담아두고 캐시를 쓸 수 있을까 고민해 봤으면 좋겠습니다.
→ 차량 예약이 일어날 때 잔여 차량 수(예약 가능 수)
→ 또 캐시에 담을 수 있는 데이터 무엇이 있는지
주차장 검색에 대해 쿼리 dsl로 쿼리 최적화 한다고 했는데 검색할때 다양한 필터가 있는데 성능 향상을 위해서 어떻게 index를 만들지 고민해보고 구체화했으면 합니다.
→ index 어떻게 만들지 방법 찾기
일반차량 예약과 예약차량 50:50으로 나누면 100프로 효율이 안나오니, 이걸 100프로 효율을 낼 수 있도록 알고리즘을 수정해보면 좋을것 같습니다.
→ 주차 예약 알고리즘별 브랜치 푸시
→ 주차장 운영 공간 효율성, 안정적인 입차, 안정적인 예약 확인할 수 있는 지표, 테스트 시나리오 작성하기
→ 표로 한눈에 효율성과 안정성을 확인할 수 있도록 표를 잘 구성해보기