You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3. 블로그, 영화 정보를 Open API 를 순차적으로 호출하는 방식이 아니라, 병렬 프로그래밍으로 동시에 호출해서 조합하는 방식으로 개선한다.
44
-
- 예를 들어서, 1회 요청시 걸리는 시간이 100ms 라고 가정했을 때, 블로그와 영화를 순차적으로 호출하면 200ms 가 걸리지만, 병렬 처리로 100ms 안에 처리되도록 개선해본다.
45
-
- 병렬 처리에 대한 쓰레드 설정도 별도로 추가해본다.
46
-
4. 네이버 OpenAPI 에서 조회한 데이터를 엔드포인트(컨트롤러)에서 그대로 사용하지말고, 중간에서 DTO 객체로 매핑해서 처리한다.
47
-
- 별도의 DTO 클래스를 정의해야 한다.
48
-
- 매퍼 라이브러리를 사용하거나, 또는 다른 방식으로 자유롭게 데이터를 매핑해본다.
49
-
5. 운영자에 의해 관리되는 "자주 검색되는 영화 쿼리" 정보를 사용해서 데이터를 제공해주는 API 를 심플하게 구현한다.
50
-
- (요구사항이 명확하지 않으므로, 이 내용에 대해서는 스터디 시간에 한번더 논의할 예정)
51
-
- "자주 검색되는 쿼리"를 관리하는 RestAPI 엔드포인트를 생성한다.
52
-
- POST, GET, DELETE, PUT 등의 메서드를 활용해본다.
53
-
- "자주 검색되는 쿼리"는 애플리케이션 메모리에 저장한다.(휘발성)
54
-
- 저장하는 자료구조는 자유롭게하면 된다. 단, 심플하고 빠르게 개발하도록 하자.
55
-
- "자주 검색되는 데이터"를 사용자에게 제공하는 신규 Controller 를 구현한다.
38
+
39
+
# STEP 03 (스터디하시는 분들의 부담을 줄여보고자 STEP03 은 가볍게 구성했습니다..)
40
+
41
+
## 필수 요구사항(필수 요구사항을 구현하면 PR 보내도 됨)
42
+
1. 영화 데이터 조회 시 디폴트로 평점 높은 순으로 정렬(Sort)해서 제공한다.
43
+
2. 영화 데이터 조회 시 디폴트로 평점이 0.0 인 경우는 제외하고 제공한다.
44
+
3. 네이버 오픈 API 인증 실패 시 Exception(예외처리)를 구현한다.(@RestControllAdvice, @ExceptionHandler 어노테이션을 활용해본다.)
45
+
46
+
## 선택 요구사항(시간 여유 있으신 분들만 해주세요)
47
+
1. 통합검색 API에서 블로그, 영화 조회 시 순차호출 방식이 아닌 병렬 프로그래밍으로 동시에 호출해서 데이터를 조합한다.
48
+
2. DTO를 정의해서 데이터를 매핑한다. (예) 네이버 블로그 OpenAPI 에 조회하는 응답 Response Type 클래스가 Blog 라고 가정하면, 신규 클래스인 BlogDTO 클래스를 정의하고, 네이버 OpenAPI 를 통해서 가져온 데이터를 BlogDTO 에 매핑해서 사용한다.
0 commit comments