분류 전체보기
-
Spring Boot 3.0 upgrade 분류Spring/Framework 2023. 6. 12. 09:46
크게 I. Upgrade 관련 II. 새로운 기능 관련 이로 나눠볼 수 있습니다 I. Upgrade 관련 01. Java 17 02. Java EE -> Jakarta EE javax.* -> jakarta.* 로 일괄 변경이 아니고, 골라서 변경해야 함 03. 보안상 이슈로 /api/hello 와 /api/hello/ 는 더 이상 일치하지 않습니다. 끝에 / 붙은거와 안 붙은거가 다름 도메인팀의 API 사용 패턴에 따라 영향 있을 수 있음 04. Deprecated 모든 코드가 제거됩니다 warning 에 Deprecated 코드 있으면 찾아서 제거 주요 메소드 공유 05. 3rd party component 별 upgrade https://github.com/spring-projects/spring-..
-
Argo Rollouts 관련 Link 모음CI-CD/Argo Rollouts 2023. 6. 6. 15:40
English Argo Rollouts offical Homepages : https://argoproj.github.io/argo-rollouts/ Argo Rollouts - Kubernetes Progressive Delivery Controller Argo Rollouts - Kubernetes Progressive Delivery Controller What is Argo Rollouts? Argo Rollouts is a Kubernetes controller and set of CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and pro..
-
13장 TestingSpring/Webflux 2023. 5. 27. 14:40
Reactor-test 모듈의 기능을 사용하기 위해서는 build.gradle 파일의 dependencies 블록에 다음 의존성을 추가해야 합니다 dependencies { testImplementation 'io.projectreactor:reactor-test' } 13.1 StepVerifier를 사용한 테스팅 Reactor 에서 가장 일반적인 테스트 방식은, 구독 시점에 해당 Operator 체인이 시나리오대로 동작하는지 테스트하는 것입니다 Reactor Sequence 에서 다음에 발생할 Signal 이 무엇인지, 기대하던 데이터들이 emit 되었는지, 특정 시간 동안 emit 된 데이터가 있는지 등을 단계적으로 테스트할 수 있습니다. 이처럼 Reactor 에서는 Operator 체인의 다양한 ..
-
12장 DebuggingSpring/Webflux 2023. 5. 21. 16:51
12.1.0 Reactor에서의 디버깅 방법 동기식, 명령형 프로그래밍에서는 Exception이 발생했을 때 Stacktrace 를 확인하거나 예외 발생이 예상되는 코드에 Breakpoint 를 걸어서 문제가 발생한 원인을 단계적으로 찾아가면 되기 때문에 상대적으로 디버깅이 쉽습니다. 반면에 Reactor 는 작업이 비동기적으로 실행되고, Reactor Sequence 는 선언형 프로그래밍 방식으로 구성되므로 디버깅이 쉽지 않습니다. 12.1.1 Debug Mode를 사용한 디버깅 Hooks.onOperatorDebug() 를 사용해서 Debug Mode 를 활성화 합니다. example 12_1 : 4th 데이터의 key grape 인데, MELONS 를 읽어서 오류가 발생하는 코드 public sta..
-
11장 ContextSpring/Webflux 2023. 5. 12. 20:59
1 Context란? * context [ˈkɑːˌtɛkst] 2. the situation in which something happens, the group of conditions that exist where and when something happens 2. 어떤 일이 발생하는 상황, 어떤 일이 발생하는 장소와 시간에 존재하는 조건의 집합 1. the words that are used with a certain word or phrase and that help to explain its meaning 1. 특정 단어 또는 구와 함께 사용되며 그 의미를 설명하는 데 도움이 되는 단어 예 : 아파서 병원 방문 시 의사에게 소개하는 전후 사정과 증상이 Context 에 해당합니다. → 어떠한 상..
-
10장 SchedulerSpring/Webflux 2023. 5. 7. 22:18
10.1 스레드 Thread 의 개념 이해 스레드는 크게 물리적인 스레드 Physical Thread 와 논리적인 스레드 Logical Thread 로 구분합니다. CPU 사양이 듀얼코어 4 스레드라고 표기되었다면 4 스레드는 물리적인 스레드를 의미합니다. 논리적인 스레드 논리적인 스레드는 이론적으로 메모리가 허용하는 범위 내에서 얼마든지 만들 수 있지만, 물리적인 스레드의 가용 범위 내에서 실행될 수 있습니다. 물리적인 스레드는 병렬성 Parallelism 과 관련 있으며, 논리적인 스레드는 동시성 Concurrency 와 관련 있습니다. 병렬성 -> 물리적인 스레드가 실제로 동시에 실행되기 때문에 여러 작업을 동시에 처리함을 의미합니다. 동시성 -> 동시에 실행되는 것처럼 보이는 것을 의미 합니다. ..
-
9장 SinksSpring/Webflux 2023. 5. 1. 10:53
9.1 Sinks란? Processor 는 Publisher 와 Subscriber 의 기능을 모두 지니기 때문에 Subscriber 로서 기능할 땐 다른 Publisher 로 구독할 수 있고, Publisher 로서 기능할 땐 다른 Subscriber 가 구독할 수 있습니다. Reactor 3.4 부터 Sinks 가 등장해서 Processor 는 3.5 부터 제거 될 예정입니다. Sinks 는 리액티브 스트림즈의 Signal을 프로그래밍 방식으로 푸시할 수 있는 구조이며, Flux 또는 Mono 의 의미 체계를 가집니다 Flux 또는 Mono 가 onNext 같은 Signal 을 내부적으로 전송해 주는 방식이었는데, Sinks 를 사용하면 프로그래밍 코드를 통해 명시적으로 Signal 을 전송할 수 있..
-
vmware tanzu - Azure Spring Apps seminarSemina/Spring 2023. 4. 25. 13:59
세미나 소개 https://connect.tanzu.vmware.com/Simplify-and-Scale-Enterprise-Spring-Apps-KR.html VMware Tanzu VMware Tanzu portfolio is a family of products and services for modernizing your applications and infrastructure with a common goal: deliver better software to production, continuously. connect.tanzu.vmware.com 10개의 Hands-on 으로 구성되어 있습니다. https://github.com/eggboy/azurespringapps-workshop-kr 단점..