일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 db1 - 스프링과 문제 해결
- 타임리프 - 기본기능
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch8
- @Aspect
- 스프링 mvc2 - 로그인 처리
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch5
- 자바의 정석 기초편 ch2
- 2024 정보처리기사 시나공 필기
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch7
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch13
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch1
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch12
- 게시글 목록 api
- jpa 활용2 - api 개발 고급
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch11
- 스프링 mvc1 - 서블릿
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch4
- 스프링 입문(무료)
- Today
- Total
목록인프런 - 스프링부트와 JPA실무 로드맵/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 (4)
나구리의 개발공부기록
출처 : 인프런 - 실전! 스프링부트와 JPA활용2 - API개발과 성능 최적화 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 주문 조회 V4 - JPA에서 DTO 직접 조회1) JPA에서 DTO 직접 조회하는 컨트롤러(1) 패키지 구조 추가주문 조회 V4 버전에서와 동일하게 별도의 API 스펙을 가진 DTO로 조회하는 코드들은 한곳에 모아 두는 것이 좋기 때문에 ~.repository.order에 query 패키지를 추가하여 관련된 클래스들을 모아두도록 설계Entity(비즈니스 핵심)와 화면이나 API의 스펙을 가진 관심사를 분리하도록 설계하는 것이 좋은 설계임을 잊지 말자(2) ordersV4() 추가OrderQueryDto라는 별도의 요구사항 API스펙이 담긴 D..
출처 : 인프런 - 실전! 스프링부트와 JPA활용2 - API개발과 성능 최적화 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용** 컬렉션인 일대다 관계를 조회할 때 최적화는 방법 알아보기1. 주문 조회 V1 - 엔터티 직접노출1) 엔터티를 직접 노출하는 컨트롤러(1) OrderApiController - ordersV1()지연로딩 성능 최적화에서 다뤄봤던 것처럼 동일하게 DB에서 꺼낸 값을 반복문으로 지연로딩 설정된 필드를 강제로 초기화하여 DB에서 데이터를 가져오도록 설정컨트롤러 등록 후 API를 호출하면 응답값은 정상적으로 반환되지만이렇게 엔터티를 직접 노출하는거는 N+1 성능문제, 확장문제, 보안문제 등등 그냥 문제 투성이기 때문에 절대 사용하지 말것package j..
출처 : 인프런 - 실전! 스프링부트와 JPA활용2 - API개발과 성능 최적화 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용** API 개발 고급 - 지연로딩과 조회 성능 최적화 목표실무에서 JPA를 사용하려면 API 고급편의 내용을 100% 이해해야함, 그만큼 매우 중요함주문 + 배송정보 + 회원을 조회하는 API를 생성하고 지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결1. 간단한 주문 조회 V1 - 엔터티를 직접 노출(사용하면 안되는 방식)1) 엔터티를 직접 노출하는 컨트롤러(1) OrderSimpleApiController - ordersV1()생성 및 실행 - 첫번째 문제 발생매우 간단하게 리포지토리에서 전체 내역을 조회한 결과를 받은 List를 그대로 ..
출처 : 인프런 - 실전! 스프링부트와 JPA활용2 - API개발과 성능 최적화 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 ** 스프링부트와 JPA활용1 - 웹 애플리케이션 개발에서 진행한 프로젝트를 가지고 이어서 진행** API를 개발하기 때문에 Postman이 필수(그 외 비슷한 기능을 하는 프로그램이 있다면 준비)1. 회원 등록 API화면을 템플릿 엔진으로 만드는 경우도 존재하지만 대부분은 클라이언트와 서버를 구분해서 개발하기에 API통신으로 개발하는 경우가 많음특히 추세(2019년 강의 기준)가 마이크로서비스 아키텍처로 바뀌어가면서 더 API로 통신해야 할 일이 늘어가고 있음1) 패키지 작성코드 작성 전 패키지 작성을 위한 고민을 해야하는데, 김영한님은 주로 템..