본문 바로가기
슬기로운 자바 개발자 생활/모던 자바와 Reactive

인텔리J에서 Reactivex RX Java 시작하기

by 슬기로운 동네 형 2023. 2. 11.
반응형

Rx Java 와 Rx Js


 도서관에서 다시 RxJava 책을 빌려왔다.

요즘 일때문에 바빠서 개인 공부를 소홀히 했음을 반성하고 2주 동안 빡세게 RxJAva와 RxJS를 프로젝트에서 어느 정도 활용 할 수 있는 수준까지 스터디를 하고 싶다는 욕구 뿜뿜...

 작년 한해 동안 기본적인 개념을 익혔었는데... 올해는 꼭 어느 정도 성과를 내고 싶다.

 자바8 환경 아래 람다와 함수형 프로그래밍에 거부감이 없을 정도로 익숙해졌다. 처음에는 어려웠는데 역시... 꾸준히 하다 보면 어느 순간 모든 게 명확해지는 순간이 오나 보다.

도서관에서 다시 빌린 책들

 확실히 리액티브 프로그래밍이 어려워서일까 도서관 책장 한 구석에 손때 없이 꽂혀있다.

 많이 빌리지 않았나 보다. 책들 상태가 좋다.

 어느새 io.reactivex 는 3 버전이 출시 됐구나. 처음 접한 게 2 버전이었는데... 무엇이 달라졌을까?

    <dependencies>
        <!-- https://mvnrepository.com/artifact/io.reactivex.rxjava3/rxjava -->
        <dependency>
            <groupId>io.reactivex.rxjava3</groupId>
            <artifactId>rxjava</artifactId>
            <version>3.1.6</version>
        </dependency>

    </dependencies>

 

just 함수에 마우스 커서를 대고 반전이 되면 Ctrl + Q를 누르면 마블 다이어그램 팝업이 표시된다.

컴퓨터 사양에 따라 약간 딜레이가 되기도 한다.

마블다이어그램 보기

빌린 김에 우분투 리눅스 책도 빌려왔다.

우분투에 개발환경을 세팅하고 코딩 공부 다시 시작.

우분투를 설치한 건 나름 리눅스 환경에 익숙해지고 싶은 마음도 있고 노트북이 10년 전 제품이라 점점 소리가 커진다. 그나마 리눅스로 환경을 바꾸면 컴퓨터 소리가 작아진다.

 

https://github.com/ReactiveX/RxJava

 

GitHub - ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based p

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. - GitHub - ReactiveX/RxJava: RxJava – Reactive E...

github.com


요즘 분산형 컴퓨팅으로 수 많은 메가 서비스들이 구축되고 있는 추세다.

필연적으로 나타난 해결책.

함수형 프로그래밍과 리액티브 프로그래밍 패러다임을 모두 포용하고 있는 RxJS, RxJava(Spring5 WebFlux).

하지만 Rx..제대로 익히는 것은 단순히 예제를 따라하고 익히는 것 이상으로 많은 비용이 든다.

 좌절, 난해함, 포기...

 

 너무 혼란스러웠고,

 결국 프로세스, 쓰레드, 이벤트루프 그리고... 기초적인 네트워크 통신 까지 다시 공부하고 개념을 익혀야 했다.

 서점을 돌아다녀도 스프링5의 웹플럭스 또는 Rx 관련 프로그래밍이 언제 필요하고, 왜 사용해야 하는지를 알려주는 책들을 찾아보기 힘들다.

 현실적으로 판단하면, 내가 주로 일하는 SI 바닥에서 넷플릭스에서나 쓸법한 리액티브 프로그래밍을 쓸일은 눈씻고 찾아봐도 없을 것이다. 그럼에도 공부하는 이유는 모르겠다. 그냥 하고 싶어서다.

 그래서 참 다행이다. 이 직업이 내 적성에 맞다는 확신이든다.

 

 

반응형

댓글