(시청일 : 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..
(시청일 : 20171022) - https://www.youtube.com/watch?v=PQ58n0hk7DI ■ List와 List의 차이점 타입 파라미터(T)는 element에 초점을 맞춰 기능 구현이 가능하지만와일드카드(?)는 List에만 초점을 맞춰 기능 구현 가능 ■ 와일드카드(?)에 비해, 타입 파라미터(T)이 가진 단점 (오랄클에서 공식적으로 밝힌 내용)내부 구현 노출구현 의도가 불명확따라서, element에 초점을 맞추지 않아도 되는 경우에는 타입 파라미터보다 와일드카드를 쓰는 것이 좋다. ■ Generic에서 와일드카드 활용법public class Generics { static boolean isEmpty(List list){ // 타입 파라미터 return list.size() ==..
(시청일 : 20171014) - https://www.youtube.com/watch?v=ipT2XG1SHtQ import java.io.Closeable;import java.io.Serializable;import java.util.*;/*public class Generics { // class level type parameter static class Hello { } T print(S t){ // method level type parameter System.out.println(t.toString()); } public Generics(S s){ } static void print(String value) { System.out.println(value); } public static vo..
(시청일 : 20171001) - https://www.youtube.com/watch?v=y_uGSqpE4So : 2회에서 설명했던 수퍼 타입 토큰의 예제를 좀 더 효율적으로 개선하는 방법과 스프링이 제공하는 ResolvableType 사용법을 간단히 설명합니다. ■ Super Type Token (2회로 부터 개선된 버전) public class SuperTypeToken { static Class TypeSafeMap { Map map = new HashMap(); void put(TypeReference tr, T value) { map.put(tr.type, value); } T get(TypeReference tr) { if (tr.type instanceof Class) return ((Cl..