(시청일 : 20170114) - https://www.youtube.com/watch?v=ScH7NZU_zvk - 책 추천 : RXJava를 활용한 리액티브 프로그래밍 ■ 프로젝트 환경- 스프링부트 버전 : SpringBoot 2.0 M1- 스프링 프레임워크 버전 : SpringFramework 5.0 RC1- Core : Lombok- Web : Reactive Web (Web과 Reactive Web는 서로 배타적이라 한 프로젝트에 동시에 적용될 수 없다. 두가지 모두 선택하게 되면 Web이 우선시된다) ■ 예제 1/* ** LoadTest.java **/package toby.live; import lombok.extern.slf4j.Slf4j;import org.springframework.ut..
(시청일 : 20180113) - https://www.youtube.com/watch?v=PzxV-bmLSFY - https://m.blog.naver.com/PostView.nhn?blogId=goddes4&logNo=30188460262&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F - http://www.hungrydiver.co.kr/bbs/detail/develop?id=2&scroll=comment(중략) 그 동안 java 에서 제공하던 Future interface 가 제공한 Async 이지만 get() 메서드로 Blocking 을 유발하는 단점이 있었다.이런 불편함은 Spring Framework에서 제공하는 LinstenableFuture 로 해소 ..
(시청일 : 20171126) - https://www.youtube.com/watch?v=Tb43EyWTSlQ ■ LoadTest.javapackage toby.live;import lombok.extern.slf4j.Slf4j;import org.springframework.util.StopWatch;import org.springframework.web.client.RestTemplate;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;@Slf4jpublic class LoadTest { static AtomicInteger counter = new AtomicInteger(0); public static ..
(시청일 : 20171119) [스프링 리액티브 웹 개발 5부. 비동기 RestTemplate과 비동기 MVC의 결합]- https://www.youtube.com/watch?v=ExUfZkh7Puk - CyclicBarrier : 자바에서 사용하는 simple 동기화 기법 CallableRunnable리턴값 존재 여부ㅇXException 던지도록 선언되어있는지 여부ㅇX - ListenableFuture : 비동기 작업 결과를 가져올 수 있는 future 타입인데, 성공/실패 시의 콜백을 등록할 수 있다. - DeferredResult : 컨트롤러의 리턴을 별도의 작업에서 할 수 있게 해준다. 하지만 이스레드는 스프링에의해 관리 되는 것이 아니다. DeferredResult클래스는 어떤 요청에 대한 응답..
(시청일 : 20170924) - https://www.youtube.com/watch?v=01sdXvZSjcI : 스프링에서 사용되는 ParameterizedTypeReference의 작동 원리인 Super Type Token의 동작 원리와 활용법을 알아봅니다. ■ Type Token : 타입 정보를 key로 넘겨서 value를 리턴 ■ Type Safe Token 예제 코드 public class TypeToken { static Class TypeSafeMap { Map
(시청일 : 20190917) - https://www.youtube.com/watch?v=s-tXAHub6vg : 객체지향의 재사용성과 다이나믹 디스패치, 더블 디스패치에 관한 이야기를 코드를 만들어가면서 설명합니다.- http://limmmee.tistory.com/28- https://zetawiki.com/wiki/%EC%A0%9C%EC%96%B4%EC%9D%98_%EC%97%AD%EC%A0%84_IoC ■ 스프링 = Dependency + Injection + Framework ■ Dependency 관계 : Supplier의 변화가 Client에 영향을 주는 경우- 의존 관계 발생 -> Supplier가 Client의 필드 -> Supplier가 Client 메소드의 파라미터 -> Suppli..
(시청일 : 20171112) - https://www.youtube.com/watch?v=aSTuQiPB4Ns FutureCallback CallableDeferred ResultResponse body emitter ■ Future : 비동기 작업의 결과를 가져오는 핸들러package toby;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;@Slf4jpublic class FutureEx { public static void main(String[] args) throws Inter..
(시청일 : 20171105) - https://www.youtube.com/watch?v=Wlqu1xvZCak ■ Reactive Streams - Schedulers package toby.live;import lombok.extern.slf4j.Slf4j;import org.reactivestreams.Publisher;import org.reactivestreams.Subscriber;import org.reactivestreams.Subscription;import org.springframework.scheduling.concurrent.CustomizableThreadFactory;import java.util.concurrent.ExecutorService;import java.util.c..
(시청일 : 20171105) - https://www.youtube.com/watch?v=DChIxy9g19o ■ Reactive Streams - Operators데이터 제어(변환/조작 등)스케쥴링퍼블리싱 제어 ex) take Publisher -> [Data1] -> op1 -> [Data2] -> op2 -> [Data3] -> Subscriber import lombok.extern.slf4j.Slf4j;import org.reactivestreams.Publisher;import org.reactivestreams.Subscriber;import org.reactivestreams.Subscription;import java.util.List;import java.util.function.Bi..
(시청일 : 20171029) - https://www.youtube.com/watch?v=8fenTR3KOJo- Reactive Streams => http://www.reactive-streams.org- Reactive Streams Specification => https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.1/README.md#specification ■ Reactive : 외부 이벤트나 데이터 등이 발생할 때, 이에 대응하여 동작하는 프로그래밍 방식 - FRP(Functional Reactive Programming)- RFP(Reactive Functional Programming)- RX(Reactive Extensi..