티스토리 뷰

1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)

 

1) 예약가능한 콘서트의 일자를 모두 조회하는 기능

위와 같이 Concert 테이블을 만들었다.

Concert - Seat 테이블이 1:N 관계를 가지고 있는 ERD 설계를 했는데, 여기에 한계점이 있다.

각각의 concertDate마다 고유의 concertId가 있다. 그래서 concertId 1개로 여러개의 예약 가능한 콘서트 일자를 조회해 오는 것이 불가능. 중간에 ConcertOption 같은 테이블을 둬서 일자를 여러개를 동시에 조회해 올 수 있도록 Entity를 수정해야 함.

 

2) Jpa Repository로 조회시 Null과의 사투

JpaRepository로 객체를 조회해왔을 때 Null값이 많았다.

예를 들면   

User user = userRepository.findByUserId(userId)

user.getUserToken();

 

이런 경우에 getUserToken() 메서드 호출할 때 오류가 발생한다. 그 이유는 user자체가 null이기 때문에.

이렇게 Null이 발생하는 케이스가 많아서 디버깅하는데 시간이 좀 들었다.

 

3) 좌석 예약 API 기능 개발

- ReservationManager에서 모든 도메인Manager들을 다 끌고와서 검증하고 지지고 볶고 한다.

나는 이렇게 구현하고 있는데 다른 사람들의 구현방식 확인하기.

- 메서드에 파라메터가 많아서 규격화 되지 않은게 꼴보기 싫다

여러가지 파라메터를 묶을 수 있는 하나의 객체가 필요해보인다.

 

4) 예약테이블에 예약상태가 따로 없다.

예약테이블에 예약상태가 따로 없어서 예약상태를 보여주는 필드가 필요해보임

 

2. 현재 만족하고 계속 유지할 부분

- 뭐가 효율적이고 코드 작성시에 어떻게 하면 복잡하지 않고 이쁘게 작성할 수 있을까를 고민하는 것

- 발표 준비를 하면서 레디스를 알게 된 점

(코딩을 조금 못해서 아쉽긴 함)

 

3. 개선이 필요한 부분

- 매 주차 발제문에 대해서 꼼꼼하게 복습하지 않고 있다. 

DB 격리수준에 대해서 아직 이해가 잘 되지 않는다.(과제 한다는 핑계 ㅎㅎㅎ)

- 테스트코드를 많이 짜보는 연습이 필요한다

기능 구현에 치중되어서 테스트코드에 집중을 덜 하고 있는 중이다.

테스트 코드 작성에 집중해서 내 서비스 안정성을 높이자.

 

4. 문제점 개선을 위해서 시도할 것들

ㅁㄴㅇㄹ

댓글