일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 쉘스크립트
- JPA #N+1 #JPA API #API
- springboot
- smtp
- 스프링 공통데이터
- 비관적 락
- 타임리프 예외처리
- validation
- 예외처리
- password
- jpa 성능최적화
- 공인IP
- jpa hint
- DATA JPA
- HTTP API
- api 성능최적화
- 스프링부트
- 사설IP
- 좋아요 기능
- 낙관적 락
- thymleaf
- 지연로딩
- JPA
- LazyInitializationException
- thymeleaf
- 스프링 예외처리
- spring 예외처리
- 쿠키 #세션 #쿠키세션정리
- 타임리프
- querydsl
- Today
- Total
목록분류 전체보기 (19)
jiny
1. MySQL 구조 커넥션 핸들러 : 클라이언트의 접속 요청 및 쿼리 요청을 처리 SQL파서 : SQL 파서 SQL옵티마이저 : 쿼리 최적화 실행 MySQL 엔진의 쿼리 실행기에서 데이터 쓰기/읽기 요청을 각 스토리지 엔진에 보낸다 이러한 요청을 핸들러 요청, 사용되는 API를 핸들러API 라고 한다 즉 InnoDB 스토리지 엔진 또한 핸들러api를 이용해 MySQL 엔진과 데이터를 주고 받는다 이 핸들러API 를 통해 작업한 내역을 보려면 "SHOW GLOBAL STATUS LIKE Handler%" 2. MySQL 의 스레딩 구조 @@그림 크게 포그라운드 스레드, 백그라운드 스레드로 구분할 수 있다. 포그라운드 스레드(클라이언트 스레드,사용자 스레드) 접속된 클라이언트의 수만큼 존재하며 주로 사용자..
특정 엔티티 조회시, toOne 관계는 페이조인을 사용하면 한번에 불러올 수 있었다. Order와 Member,Delivery 는 각각 OnetoOne 관계 Order와 OrderItem은 OnetoMany 관계 모두 Lazy 로딩이라고 가정한다. 엔티티를 그대로 반환 @GetMapping("/api/v1/orders") public List ordersV1() { List all = orderRepository.findAll(); for (Order order : all) { order.getMember().getName(); //Lazy 강제 초기화 order.getDelivery().getAddress(); //Lazy 강제 초기환 List orderItems = order.getOrderItems..
스프링부트에서 API 예외도 HTML 에러페이지를 내보내는 경우와 동일하게 예외를 처리해준다 위처럼 같은 에러코드의 에러 이지만 produces = MediaType.TEXT_HTML_VALUE 옵션으로 HTTP 헤더의 Accept가 text/html 인 경우에는 errorHtml() 을 호출해서 error/ 경로에 있는 에러 페이지를 호출하게된다 그외 나머지의 경우는 error() 가 호출되며 ResponseEntity 로 http body 부분에 직접 json을 실어서 보낸다 그래서 Accept를 application/json으로 설정 후 의미없는 요청을 보내면 다음과 같이 기본적인 json 형식의 오류 데이터를 받을 수 있다 Html 페이지를 사용하는 경우에는 4xx, 5xx 오류 페이지만 만들어두..
웹 요청시 발생 하는 흐름은 다음과 같다. Http 요청 -> WAS -> 필터 -> 서블릿(dispatcherservlet) -> 인터셉터 -> 컨트롤러 요청을 보내면 서블릿을 지나 컨트롤러까지 도달하게 되고 로직이 실행된다. 우리가 구현한 컨트롤러 계층에서 Nullpointerexception 같은 예외가 발생하면 어떻게 될까 try catch 구문으로 null에 대한 예외처리를 한 상태라면 아무 문제가 없고 정상 흐름으로 진행되겠지만 try catch로 예외처리를 하지 않는다면 아래와 같이 예외가 WAS까지 전달됨 WAS