분류 전체보기
-
Spring boot 3 - Problem Details for HTTP APIsSpring/Framework 2023. 11. 12. 16:11
Problem Detail 이란 Spring 6 ( Spring Boot 3 ) 에서 부터 지원하게된, Error 응답에 대한 새로운 표준입니다 ErrorResponse class 를 따로 만들 필요없이, spring-web 에서 정의한 ProblemDetail class 를 사용할 수 있습니다. https://github.com/spring-projects/spring-framework/blob/main/spring-web/src/main/java/org/springframework/http/ProblemDetail.java public class ProblemDetail { private static final URI BLANK_TYPE = URI.create("about:blank"); privat..
-
References - Spring boot 3 - Problem Details for HTTP APIsSpring/Framework 2023. 11. 5. 20:47
Official docs https://datatracker.ietf.org/doc/html/rfc7807 RFC 7807: Problem Details for HTTP APIs This document defines a "problem detail" as a way to carry machine- readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs. datatracker.ietf.org https://www.rfc-editor.org/info/rfc7807 pdf : https://www.rfc-editor.org/rfc/pdfrfc/rfc7807.t..
-
baeldung - spring boot 3 newSpring/Framework 2023. 10. 11. 15:22
Spring Boot 3 and Spring Framework 6.0 – What’s New https://www.baeldung.com/spring-boot-3-spring-6-new Spring Boot 3 and Spring Framework 6.0 – What’s New | Baeldung Learn about new features that come with Spring Boot 3 and Spring 6. www.baeldung.com Java 14 Record Keyword https://www.baeldung.com/java-record-keyword Java 14 Record Keyword | Baeldung Explore the fundamentals of records, includi..
-
비동기 Timelimiter 를 동기로 호출 가능하도록 변경Spring/CircuitBreaker 2023. 10. 10. 10:50
목차 1. 배경 지식 dependencies dependencies { implementation 'org.springframework.boot:spring-boot-starter-aop' implementation 'io.github.resilience4j:resilience4j-spring6:2.1.0' } 2. TimeLimiterAspectExt 상속 https://github.com/resilience4j/resilience4j/blob/master/resilience4j-spring6/src/main/java/io/github/resilience4j/spring6/timelimiter/configure/TimeLimiterAspectExt.java package io.github.resilie..
-
Resilience4j 관련Spring/CircuitBreaker 2023. 9. 24. 06:42
목차 ThreadPoolBulkheadConfigCustomizer io.github.resilience4j.common.bulkhead.configuration.ThreadPoolBulkheadConfigCustomizer는 Resilience4J의 Bulkhead 패턴을 사용할 때, ThreadPoolBulkhead의 동작을 커스터마이징하기 위한 인터페이스입니다. ThreadPoolBulkheadConfigCustomizer를 사용하면 다음과 같은 설정을 커스터마이징할 수 있습니다. 최대 동시 요청 수: ThreadPoolBulkhead가 동시에 처리할 수 있는 최대 요청 수를 설정합니다. 최소 동시 요청 수: ThreadPoolBulkhead가 최소한 유지해야 하는 동시 요청 수를 설정합니다. 이름..
-
Micrometer 관련Spring/CircuitBreaker 2023. 9. 24. 06:01
ContextRegistry io.micrometer.context.ContextRegistry는 Micrometer에서 제공하는 Context Registry 클래스입니다. Context Registry는 다양한 종류의 context를 관리하고, context를 통해 context에 저장된 값을 추출하는 기능을 제공합니다. Context Registry는 다음과 같은 종류의 context를 지원합니다. ThreadLocalContext: ThreadLocal을 사용하여 context를 관리합니다. ReactorContext: Reactor Context를 사용하여 context를 관리합니다. CustomContext: 사용자 정의 context를 관리합니다. Context Registry를 사용하려면 ..
-
Annotation 이 설정된 Beans 의 Scan 과 추가 Bean Register 위한 배경 지식Spring/Framework 2023. 9. 16. 16:59
AOP 로, Spring Beans 에서 필요한 bean 을 scan 하고, 추가로 bean 을 등록하기 위해 필요한 배경 지식들 입니다 BeanDefinitionRegistrar 관련 Spring ImportBeanDefinitionRegistrar Spring ImportBeanDefinitionRegistrar는 Spring 애플리케이션 컨텍스트에 추가 BeanDefinition을 등록하는 데 사용되는 인터페이스입니다. 이 인터페이스를 구현하면 @Import 애노테이션을 사용하여 Spring 애플리케이션 컨텍스트에서 추가 BeanDefinition을 등록할 수 있습니다. ImportBeanDefinitionRegistrar 인터페이스는 다음과 같은 두 가지 메서드를 제공합니다. registerBea..
-
나의 코드 리뷰 가이드 만들기Semina/개발문화 2023. 9. 10. 15:05
백명석님의 코드 리뷰 강의를 듣고, 코드 리뷰 잘하기 위한 가이드를 정리합니다 나의 코드 리뷰 원칙 1. 가독성을 최우선으로 한다 - Composed Method 패턴 참고 2. Checklists 를 만들어 Feedback 합니다 checklists 예시 1) 한 메소드에 6개 이상을 처리하면 분리하도록 가이드 합니다 2) 변수, 메소드명, 파라미터명이 의미 있게 지어졌는지 확인합니다 - 추가로, versioning 이 적절한지 확인합니다 3) 사용되지 않거나 중복된 코드를 제거합니다. 4) 유지 보수가 용이 한지 확인합니다 - 잘 사용하지 않는 패턴, 지나치게 어려운 부분이 있는지 확인합니다 - gradle option 을 조정하여, deprecated 메소드가 있는지 확인합니다 5) 보안, comp..