본문 바로가기
[RxJava] #5 스케줄러 5.1. 스케줄러 개념 배우기 -스케줄러는 스레드를 지정할 수 있게 해준다.단순히 새로운 스레드를 생성하거나 기존의 Executors 를 활용하는 것을 넘어 새로운 방식으로 우리를 맞이한다.그동안 어렵게 다루어야 했던 비동기 프로그래밍이 간결한 코드로 다시 태어난다. -String[] objs = {“1-S”, “2-T”, “3-P”}; Observable source = Observable.fromArray(objs) .doOnNext(data -> Log.v(“Original data = “ + data)) .subscribeOn(Schedulers.newThread()) // 발행부터의 thread 지정 .observeOn(Schedulers.newThread()) // 불리는 순간부터의 threa.. 2019. 6. 7.
[RxJava] #4 리액티브 연산자의 활용 4.1. 생성 연산자 -생성 연산자의 역할은 데이터 흐름을 만드는 것이다.간단하게 Observable, Single, Maybe 객체 등을 만든다고 생각하면 된다. 4.1.1. interval() 함수 -일정 시간 간격으로 데이터 흐름을 생성한다.주어진 시간 간격으로 0부터 1씩 증가하는 Long 객체를 반환한다. -interval() 함수는 기본적으로 영원히 지속 실행되기 때문에 폴링 용도로 많이 사용된다.수행은 RxComputationalThreadPool 에서 수행된다.interval 값이 초기 지연값으로도 활용된다. 4.1.2. timer() 함수 -interval 함수와 유사하지만 한 번만 실행하는 함수.일정 시간이 지난 후에 한 개의 데이터를 발행하고 onComplete() 이벤트가 발생한다... 2019. 6. 5.
[RxJava] #2 Observable 처음 만들기 - Observable 은 데이터 흐름에 맞게 알림을 보내 구독자가 데이터를 처리할 수 있도록 한다. RxJava 프로그래밍은 Observable 에서 시작해 그것으로 끝난대고 해도 과언이 아닐 정도로 중요한 개념이다. - Rajava 1.x 에서는 데이터 소스를 Observable 과 Single 클래스로 구성했다. RxJava 2 에서는 Observable 클래스를 상황에 맞게 세분화해 각각 Observable, Maybe, Flowable 로 나뉘었고, Single 도 그대로 존재한다. - Maybe 클래스는 Reduce() 함수나 firstElement() 함수와 같이 데이터가 발행될 수 있거나 혹은 발행되지 않고도 완료되는 경우를 의미한다. - Flowable 클래스는 Observable 에서 .. 2019. 6. 3.
[실용주의 프로그래머] 단지 뷰일 뿐이야 [실용주의 프로그래머] 단지 뷰일 뿐이야 -우리는 전부터 프로그램을 커다란 덩어리 하나로 짜지 말고, “나눠서 정복하기(divide and conquer)” 방법을 써서 여러 모듈로 나누어 짜야 한다고 배웠다.모듈마다 자기만의 책임이 있다.사실, “잘 정의된 단 하나의 책임만 가지는 것”이라는 말이야말로 모듈(또는 클래스)에 대한 좋은 정의가 된다. -이벤트를 이용하면 어떤 객체의 상태 변화를 이에 관심을 가질 다른 객체들에게 알릴 수 있다.이벤트를 이렇게 이용하면 객체들 사이의 결합을 최소화할 수 있다. 출판/구독 -모든 이벤트를 루틴 하나에 몰아넣는 일은 나쁘다.하나의 루틴이 여러 객체들 사이의 상호작용에 대한 상세한 지식을 지니게 된다.그리고 결합도도 증가된다.그외에도 DRY 원칙 어김, 직교성 어.. 2018. 11. 1.
반응형