Back-end

· Back-end
Spring MVC는 다음의 경우에 HTTP Message Converter 적용 HTTP 요청 : @RequestBody, HttpEntity(RequestEntity) HTTP 응답 : @ResponseBody, HttpEntity(ResponseEntity) 주요 Message Converter ByteArrayHttpMessageConverter : byte[] 데이터 처리 클래스 타입 : byte[], 미디어타입: / 쓰기 미디어 타입 : application/object-stream StringHttpMessageConverter: String 문자로 데이터를 처리 클래스 타입 : String, 미디어 타입 : / 쓰기 미디어 타입 : text/plain MappingJackson2HttpMe..
· Back-end
동적쿼리는 BooleanExpression null 반환 시 자동으로 조건절에서 제거 모든 조건이 null이 발생하는 경우는 에러 발생 가독성 향상 명확하게 무슨 역할을 하는지 알 수 있음 exist 메서드 금지 SQL 에서 exist와 count()를 비교하면 exist의 성능이 훨씬 좋음 스캔 대상이 앞에 있을 수록 더 심한 성능 차이가 발생 query dsl에서는 exist는 count() > 0 으로 실행됨 @Override public boolean exists(Predicate predicate) { return createQuery(predicate).fetchOunt() > 0; } query dsl은 결국 JPQL 빌더 역할 JPQL은 from 없이는 쿼리 생성이 불가 즉, 하위에 sel..
· Back-end
스프링 부트 Auto Configuration 스프링 부트는 자동 구성 기능을 제공 일반적으로 자주 사용하는 수 많은 빈들을 자동으로 등록해주는 기능 @AutoConfiguration 자동 구성을 사용하려면 해당 어노테이션을 등록해야 한다. 자동 구성 내부에도 @Configuration 이 존재 빈을 등록하는 자바 설정 파일로 사용 가능 자동 구성이 실행되는 순서를 지정 가능 after = DataSourceAutoConfiguration.class JdbcTemplate는 DataSource가 필요하기 때문에 DataSourceAutoConfiguration 다음에 실행하도록 설정 @ConditionalOnClass if 문과 유사한 기능 제공 이런 클래스가 있는 경우에만 설정이 동작 설정이 없다면 무..
· Back-end
data class Dto( @field:NotNull val x: Int?, @field:NotNull val s:String, ) Spring Validation @filed:NotNull 선언이 되어 있으면 객체 타입 null 로 보내면 에러 아예 json 에 포함되지 않으면 에러 Int 등 숫자 타입 Nullable 처리가 되어 있을 시 (Int?) null 로 보내면 에러 json 필드에 포함되어 있지 않으면 에러 Nullable 처리가 되어 있지 않을 시 (Int) 빈 값을 보내면, 숫자 기본 값 들어감 null 을 보내면, 숫자 기본 값 들어감 NotNull 선언 x 객체 타입 안전 연산자가 있을 시 json 필드에 포함되있지 않으면 null로 받음 null 로 보낼시 null로 받음 안전 ..
· Back-end
동기/비동기 동기 함수의 종료 시점과, 결과를 반환 받은 시점이 같은 경우 비동기 함수의 종료 시점과, 결과를 반환 받은 시점이 다른 경우 Spring @Async Spring 에서는 @Async 어노테이션을 통해 비동기 처리 지원 @Async 어노테이션을 적용하면 내부적으로 프록시로 동작 Caller Thread와 다른 Thread에서 비동기 작업 동작 내부적으로 proxy를 사용하기 때문에 private 메서드에 적용 불가 또한 self-invocationg 도 불가하다. → proxy 미적용 문제 Spring Context에 등록되어 있는 Async Bean 호출 Spring이 Async Bean을 Proxy로 Wrapping Spring Container에 의해 Bean으로 등록되는 시점에 프록시..
· Back-end
https://product.kyobobook.co.kr/detail/S000001032977 자바 성능 튜닝 이야기 | 이상민 - 교보문고 자바 성능 튜닝 이야기 | 『자바 성능 튜닝 이야기』는 고성능 애플리케이션을 위해 고려 해야 할 복잡한 요소들을 하나하나 짚어 주는 책이다. 장애를 일으키는 반복적인 코딩 이슈부터 시스템 product.kyobobook.co.kr 과거 JVM 내부 로직과 GC에 대해 공부하고 싶어 책을 찾던 중 알게된 책이다. 막상 구매하고 읽지 않았는데, JVM 복습 겸 읽게 되었다. 자바의 신 저자인 이상민님이 작성한 책이다. 책 내용 자체는 좋지만 2013년 책이라 과거 이야기가 많다. JSP, 서블릿이 자주 나오는데, 2013년 당시에는 진짜 좋은 책이였을 것 같다. 해당 ..
신재권
'Back-end' 카테고리의 글 목록 (3 Page)