프로그래밍/RxJava (22) 썸네일형 리스트형 [RxJava]Observable - just()함수 just()함수 just() 함수는 인자로 넣은 데이터를 차례로 발행하려고 Observable을 생성한다.(실제 데이터의 발행은 subscribe() 함수를 호출해야 시작한다. 한개의 값을 넣을 수도 있고, 인자로 여러 개의 값을(최대 10개) 넣을 수가 있다. 단, 타입이 같아야한다. import io.reactivex.Observable; public class FirstExample { public void emit() { Observable.just(1,2,3,4,5,6) .subscribe(data -> System.out.println(data)); } public static void main(String args[]) { FirstExample demo = new FirstExample().. [RxJava] Observable 클래스 Observable은 데이터 흐름에 맞게 알림을 보내 구독자가 데이터를 처리할 수 있도록 한다. RxJava 1.x에서는 데이터 소스를 Observable과 Single 클래스로 구성했다. RxJava 2.x에서는 여전히 두 클래스가 존재하지만, Observable, Maybe, Flowable 클래스로 구분해 사용한다. 간단하게 설명하자면 Maybe 클래스는 reduce()함수나 firstElement()함수와 같이 데이터가 발행될 수 있거나, 혹은 발행되지 않고도 완료가 되는 경우를 의미한다. Flowable 클래스는 Observable에서 데이터가 발행되는 속도가 구독자가 처리하는 속도보다 현저하게 빠른경우 즉, 배압이슈(Back Pressure)에 대응하는 기능을 추가 제공한다. RxJ.. [RxJava] 마블 다이어그램 보는 방법 다양한 리액티브 연산자를 이해하는데 가장 중요한 것이 마블 다이어 그램이다. 글에 비해서 시각적으로 이해하기 쉽기 때문에 마블 다이어 그램이 효과가 좋다. 마블 다이어그램이 처음에는 이해가 되지 않겠지만, 계속해서 보면 익숙해질 것이다. 책에서 나온 예제를 가지고 설명을 적어보겠다. 아래의 그림은 flip()함수의 마블 다이어그램의 예를 보여준다. 무슨 역할을 하는지 6가지로 나누어 설명할 것이다. 1번. 위에 있는 실선은 Observable의 시간 표시줄(time line)이다. 시간순으로 데이터가 발행되는 것을 표현한다. 2번. Observable이 발행하는 데이터이다. 시간 순서대로 별, 삼각형, 오각형, 원 등의 도형을 발행한다. 데이터를 발행할 때는 onNext 알림이 발생하는데 나중.. [RxJava] RxJava 학습 순서 RxJava의 javadoc 문서를 보아도 글로 된 함수의 설명만으로는 이 함수가 무슨 동작을 하는지 이해하기 어렵다. 지금 공부하는 책에서 학습 순서를 제시하고 있는데 아래와 같이 학습 순서를 따라가기 바란다. 1. Observable 클래스를 명확하게 이해한다. (특히, Hot Observable과 Cold Observable)의 개념을 꼭 이해해야한다.) 2. 간단한 예제로 map(), filter(), reduce(), flatMap() 함수의 사용법을 익힌다. 3. 생성 연산자, 결합 연산자, 변환 연산자 등 카테고리별 주요 함수를 공부한다. 4. 스케줄러의 의미를 배우고 subscribeOn()과 observeOn() 함수의 차이를 알아둔다. 5. 그 밖의 디버깅, 흐름 제어.. [RxJava] Hello RxJava2! 개발환경은 intelliJ를 사용했다. RxJava를 사용하기 위해서 gradle 파일에 RxJava 라이브러리를 implementation해줘야한다. dependencies { implementation "io.reactivex.rxjava2:rxjava:2.1.3" testCompile group: 'junit', name: 'junit', version: '4.12' } 먼저! Hello RxJava2라는 문자열을 출력해보자! 전체코드는 아래와 같다. [FirstExample.java] import io.reactivex.Observable; public class FirstExample { public void emit(){ Observable.just("Hello", "RxJava 2!!") ... [RxJava] 리액티브 프로그래밍 소개 회사에서 진행하는 프로젝트를 계기로, RxJava를 공부하려고 RxJava 프로그래밍 - 한빛 미디어 책을 구입했다. 입문자용이라고 알지만, 그래도 내용이 어려운것 같다. 차근차근 공부하면서 포스팅하겠다. 리액티브 프로그래밍이란? 리액티브 프로그래밍은 데이터 흐름과 전달에 관한 프로그래밍 패러다임이다. 기존의 명령형(imprerative)프로그래밍은 주로 컴퓨터 하드웨어를 대상으로 프로그래머가 작성한 코드가 정해진 절차에 따라 순서대로 실행된다. 그러나, 리액티브 프로그래밍은 데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트되는 방식이다. 예를들어 스프레드시트를 말할 수 있다. 각셀에 값을 넣어서 원하는 값을 계산한다. 1월부터 12월까지의 매출의 합을 구하려고 한다. .. 이전 1 2 3 다음