๐Kevin์ ์๊ธฐ ์ฌ์ด RxJava 2๋ถ ์ถ์๐
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ, ์ด๋ฒ์๋ ํ์คํ ์๋ ค๋๋ฆด๊ฒ์!
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ผ๊น์?
- ์ข์ ์๋ฏธ๋ก๋ ๋ณต์กํ ๋น๋๊ธฐ์ ์์ฒญ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ํ API๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ๋์ ์๋ฏธ๋ก๋ ์คํํ ๋์์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ช
์ํ๋ ๋ช
๋ นํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์๊ณผ ๋ฐ๋๋๋ ๊ฐ๋
์ธ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์ ํจ๋ฌ๋ค์์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฆ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋๋ก ์ค๊ณ๋ ๋ฆฌ์กํฐ๋ธ ์์คํ
์ ๋นผ๋์ ์ ์๋ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์
๋๋ค.
- ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋น๋๊ธฐ ํต์ ์ด ํ์ํ ๋๋ถ๋ถ์ ๊ฐ๋ฐ ์ธ์ด ๋ฐ ํ๋ ์์ํฌ์์ ํญ๋๊ฒ ์ฌ์ฉ์ ํ๊ณ ์์ต๋๋ค.
ex) Angular, React ๋ฑ์์์ RxJS, Java์์์ RxJava, Android ์์์ RxAndroid, Spring Framework์์ ์ฌ์ฉํ๋ Reactor, RxScala ๋ฑ ๋ฆฌ์กํฐ๋ธ ํ์ฅ์ด ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ ๋ฐฐ์์ผ ํ ๊น์?
- ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋น๋๊ธฐ ์์ฒญ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฐ๋ฐ ํจ๋ฌ๋ค์์ด๋ผ๊ณ ๋ง์์ ๋๋ ธ์ต๋๋ค.
- ์ค๋๋ ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋๊ธฐ์ ์ธ ์์ฒญ๋ณด๋ค ๋น๋๊ธฐ์ ์ธ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋น์ค์ด ์ ์ ๋ ๋์์ง๊ณ ์์ต๋๋ค.
- Java์ ์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ณต์ก๋๊ฐ ์๋นํ ๋์ผ๋ฉฐ, ์์์น ๋ชปํ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ ์ญ์ ๋์ ๊ฒ์ด ์ฌ์ค์
๋๋ค.
- ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ์ด๋ ๊ฒ ์ฐ๋ ๋๋ฅผ ์ง์ ์ ์ผ๋ก ์ฌ์ฉํ๋ฉด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๋์ ํด๊ฒฐํด์ฃผ๊ณ , ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๋ณต์ก๋๋ฅผ ๋จ์ํํด์ค๋๋ค.
- ํ์ง๋ง ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ์ ์ํ๊ธฐ ์ํ ์ผ์ ์์ค์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
- ๊ทธ๋์ ์ด๋ ์ ๋์ ์ง์
์ฅ๋ฒฝ์ด ์๋ ๊ฒ ๋ํ ์ฌ์ค์
๋๋ค. ํ์ง๋ง ์ฌ๋ฌ๋ถ๋ค์ด ๋์ง ๋ชปํ ์ฅ๋ฒฝ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
- ๊ฒฐ์ ์ ์ผ๋ก ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ํตํด ์ฌ๋ฌ๋ถ์ ๊ฐ๋ฐ ์คํฌ์ด ํ๋จ๊ณ ํฅ์๋จ์ ๋ฌผ๋ก ์ด๊ณ , ๊ฐ๋ฐ์๋ก์ ๊ฐ๋ฐ์ ๋ํ ์ฌ๊ณ ๋ฐฉ์์ ์ ํ์ ๊ฒฝํํ ์ ์๋ ํ๋ฅญํ ๊ณ๊ธฐ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
2๋ถ ๊ฐ์์์ ์ด๋ค ๊ฒ๋ค์ ๋ฐฐ์ธ ์ ์์๊น์?
- Kevin์ ์๊ธฐ ์ฌ์ด RxJava 2๋ถ์์๋ 1๋ถ์์ ์๊ธฐํ์ง ๋ชปํ๋ Hot Publisher, ์ค์ผ์ฅด๋ฌ, ๋๋ฒ๊น
, ํ
์คํธ ๋ํ ๊ฐ์๋ฅผ ์งํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก 1๋ถ, 2๋ถ์์ ๋ฐฐ์ด RxJava๋ฅผ Spring Boot์์ ์ด๋ค์์ผ๋ก ํ์ฉ์ ํ ์ ์๋์ง ์ค์ต์ ํตํด์ ๊ฐ์ ์ก๋๋ก ํฉ๋๋ค.
- ๋จผ์ 1๋ถ์์ ์ ๊น ์ธ๊ธํ๊ณ ๋์ด๊ฐ Cold Publisher์ Hot Publisher์ ๋ํด์ ๋ฆฌ๋ทฐ๋ฅผ ํ ํ์ Hot Publisher์ ์ข
๋ฅ์ ๊ฐ๊ฐ์ ํน์ง์ ๋ง๋ธ ๋ค์ด์ด๊ทธ๋จ๊ณผ ์์ ์ฝ๋๋ก ์ตํ ์ ์๋๋กํ์ต๋๋ค.
[Cold Publisher ๋ฆฌ๋ทฐ ๊ฐ์ ์๋ฃ ์บก์ณ]
[Hot Publisher ๋ฆฌ๋ทฐ ๊ฐ์ ์๋ฃ ์บก์ณ]
- RxJava์์ ์ค์ผ์ฅด๋ฌ๋ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๊ตฌ์ฑ ์์์ด๊ณ , ์ค์ผ์ฅด๋ฌ์ ์ญํ ์ ๋ฌด์์ธ์ง ์ดํด ๋ณผํ
๋ฐ์. RxJava์์์ ์ค์ผ์ฅด๋ฌ๋ผ๋ ์๋ฏธ๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ๋จผ์ ์ด์์ฒด์ ์์์ ์คํ๋๋ ํ๋ก์ธ์ค์ ํ๋ก์ธ์ค ํ์์ ์ฐ๋ ๋์ ๊ฐ๋
๊ณผ ๋์ ๋ฐฉ์์ ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ค๋ช
ํ์ฌ RxJava์์์ ์ค์ผ์ฅด๋ฌ๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ์๊ฐ์๋ค์ด ํ์คํ๊ฒ ์ดํดํ ์ ์๋๋ก ๋
ธ๋ ฅํ์ต๋๋ค.
[์ฐ๋ ๋์ ๊ฐ๋
๊ฐ์ ์๋ฃ ์บก์ณ]
- RxJava๋ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ๋ํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ด๊ธฐ๋๋ฌธ์ RxJava์ ์ฝ๋๋ฅผ ๋๋ฒ๊น
ํ๋ ๊ฒ์ ์ฝ์ง ์์ต๋๋ค. 2๋ถ ๊ฐ์์์๋ ๋๋ฒ๊น
์น์
์ ํตํด์ RxJava์ ์ฝ๋๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋๋ฒ๊น
ํ ์ ์๋์ง๋ฅผ ์ตํ ์ ์์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋๋ฐ ์์ด์ ํ
์คํธ๋ ๋ฌด์ฒ ์ค์ํ ์์ญ ์ค์ ํ๋๋ผ๊ณ ์๊ฐ์ ํ๋๋ฐ์. ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ธ RxJava์ ์ฝ๋๋ฅผ Java์์์ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ผ๋ก ํ
์คํธ ํ๊ธฐ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค. RxJava์์ ์์ ์ด ๊ตฌํํ ์ฝ๋์ ํ
์คํธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์งํํ๊ธฐ ์ํด ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋์ง ํ
์คํธ ์น์
์์ ์ตํ ์ ์์ต๋๋ค.
- 2๋ถ์ ๋ง์ง๋ง ์น์
์์๋ ๊ทธ ๋์ ๋ฐฐ์ด RxJava ํ๋ก๊ทธ๋๋ฐ์ Spring Boot ์์ ์ด๋ค์์ผ๋ก ํ์ฉํ ์ ์๋์ง์ ๋ํ ์ค์ต ํ๋ก์ ํธ๋ฅผ ์งํํฉ๋๋ค. ์ค์ต ํ๋ก์ ํธ ์์ฒด๋ ๊ฐ๋จํ์ง๋ง ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ RxJava๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ ์ ์๋์ง์ ๋ํ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
[์ค์ต ํ๋ก์ ํธ์ ๋์ ํ๋ฆ ๊ฐ์ ์๋ฃ ์บก์ณ]
- ๋ง์ง๋ง์ผ๋ก ๋ณธ ๊ฐ์์ ํ์ต์ ๋ง์น ํ, ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๋ จ๋ ์์ผ๋ก์ ํ์ต ๋ก๋๋งต์ ์ ์ํฉ๋๋ค.
์ ํฌ ๊ฐ์์ ํน์ง์ ๋ฌด์์ผ๊น์?
- ์ด๊ธ์์ ๋๋์ด์ ๋ง์ถฐ์ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋
์ ์ต๋ํ ์ฝ๊ฒ ์ดํด์ํค๊ณ ์ ๋
ธ๋ ฅํ์์ต๋๋ค.
- ๋จ์ํ ๊ฐ์ ์๋ฃ์ ์ค๋ช
๋ง์ผ๋ก ๊ทธ์น์ง ์๊ณ , ์์
๋ง๋ค ํด๋น ์์
์ ์์ ์ฝ๋์ ๋ํ ์ค๋ช
์ด ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ๋ค๋ฐ๋ผ์ต๋๋ค. ๋ค์ ๋งํด์ ๊ฐ์ ์๋ฃ๋ง์ผ๋ก ์ดํด๋์ง ์๋ ๋ถ๋ถ์ ์์ ์ฝ๋๋ก ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช
ํ๊ณ , ์์ ์ฝ๋๋ฅผ ์ง์ ์คํํด์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ์ฌ ์ดํดํ ์ ์๋๋ก ๋
ธ๋ ฅํ์์ต๋๋ค.
- ๊ฐ์์์ ์ฌ์ฉํ ๋ชจ๋ ์์ ์ฝ๋๋ฅผ github์ ์ ๊ณตํ์ฌ ์๊ฐ์๋ค์ด ์์ ์ฝ๋๋ฅผ ์ง์ ํ์ดํํ๊ณ ์ฝ๋๋ฅผ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋๋ฐ ์ฐธ๊ณ ํ ์ ์๋๋ก ํ์์ต๋๋ค.
๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ ์ ๋ฌด์์ ์ค๋นํด์ผ ํ ๊น์?
- ๋น์ฐํ ์ด์ผ๊ธฐ์ด๊ฒ ์ง๋ง ์ฌ์ฉํ์๋ PC๋ ๋
ธํธ๋ถ์ JDK 1.8 ์ด์์ด ์ค์น๋์ด์์ด์ผ ํฉ๋๋ค.
- ์ ํฌ ๊ฐ์์์๋ ๊ฐ๋ฐ ํด๋ก IntelliJ IDE๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. IntelliJ์ ์ต์ํ์ง ์์ผ์ ๋ถ๋ค์ ๊ธฐ์กด์ ์ฌ์ฉํ๊ณ ๊ณ์๋ IDE๋ก ์ค์ต์ ํ์
๋ ์๊ด์ ์์ต๋๋ค.
- ์ ํฌ ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ํด์ ์ฌ๋ฌ๋ถ๋ค์ด ์ค๋นํด์ผํ๋ ๊ฐ์ฅ ์ค์ํ ์ค๋น๋ฌผ์ ๋ค๋ฆ ์๋ ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ฐ๊ณ ์ ํ๋ ์์ง์ ๊ฒฐ์ฝ ํฌ๊ธฐํ์ง ์๋ ๋๊ธฐ์
๋๋ค. ^^
์ฌ๋ฌ๋ถ๋ค์ ์์ง์ ๋๊ธฐ๋ฅผ ์ ์๊ฒ ๋ณด์ฌ์ฃผ์ธ์. ์ฌ๋ฌ๋ถ๋ค์ด RxJava์ ์ง์
์ฅ๋ฒฝ ์์ ์ฌ๋ผ์ค ์ ์๋๋ก ์ ๋ ์ต์ ์ ๋คํด์ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ง๋ ๊ฐ์ ํจ๊ป ๋ณด๊ธฐ ๐
์ฌ๋ฌ๋ถ๋ค์ ์ด๋ค ๊ฒ๋ค์ด ๊ถ๊ธํ์ ๊ฐ์?(Q&A)๐โโ๏ธ๐โโ๏ธ
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋์?
A. ์ ๊ณต/๋น์ ๊ณต๊ณผ๋ ๋ฌด๊ดํฉ๋๋ค. Java์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ์๋ค๋ฉด ๋๊ตฌ๋ ์๊ฐ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐธ๊ณ ๋ก ์ ๋ ์ฒ์ ์์์ ๋น์ ๊ณต์์์ต๋๋ค. ^^ ๋ค๋ง, 2๋ถ ๊ฐ์๋ 1๋ถ ๊ฐ์๋ฅผ ์๊ฐํ ํ์ ๋ค์ผ๋ฉด ํ์ต ์ดํด๋๊ฐ ๋ ๋์์ง๋ค๊ณ ์๊ฐํฉ๋๋ค.
Q. RxJava๋ฅผ ๋ฐฐ์ฐ๋ฉด ๋ฌด์์ด ์ข์๊ฐ์?
A. ์์ ์๊ฐ๊ธ์์๋ ๋ง์๋๋ ธ์ง๋ง RxJava๋ฅผ ๋ฐฐ์ฐ๋ฉด ๋ณต์กํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๋จ์ํํ ์ ์์ผ๋ฉฐ, ๋ง๋ถ์ฌ์ ๋ช
๋ นํ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ด ์๋ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์ ํตํด ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ์ฌ๊ณ ์ ์ ํ์ ํ ์ ์์ต๋๋ค. ๋ ๋์ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ๋๊ฒ์ ๋ค์ด๊ฒ ์ฃ ?^^ RxJava๋ฅผ ํ์ตํ๊ณ ๋๋ฉด ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์๊ธฐ ๋๋ฌธ์ RxJs, RxAndroid, Spring Reactor ๋ฑ์ ํ์ตํ๊ธฐ๊ฐ ํจ์ฌ ์์ํด์ง๋๋ค.
Q. ๊ฐ์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์งํ์ด ๋๋์?
A. ๋๋ถ๋ถ์ ์์
์ด ๊ฐ์ ์๋ฃ๋ฅผ ํตํ ๊ฐ๋
์ดํด โ ์์ ์ฝ๋๋ฅผ ํตํด ๊ฐ๋
์ ๋์ผ๋ก ์ง์ ํ์ธํ๋ ๋ฐฉ์์ผ๋ก ์งํ์ด ๋ฉ๋๋ค. 1๋ถ์์๋ ์์ ์ฝ๋ ์ด์ธ์ ์ถ๊ฐ์ ์ผ๋ก ํด์ฆ๋ฅผ ์ ๊ณตํ์์ผ๋ 2๋ถ ๊ฐ์์๋ ๋ณ๋์ ํด์ฆ๋ ์์ผ๋ ์ฐธ๊ณ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค.
Q. ๊ฐ์์์ ์ฌ์ฉ๋ ์๋ณธ ์์ ์ฝ๋๋ ์ด๋์์ ๋ค์ด๋ก๋๋ฐ์ ์ ์๋์?
A. ์์
์์ ์ค๋ช
ํ๋ ์์ ์ฝ๋๋ ๋ชจ๋ github์ ์ฌ๋ผ๊ฐ์์ผ๋ฉฐ ์๋ ์ฃผ์์์ ๋ค์ด๋ก๋ ๋ฐ์ผ์ค ์ ์์ต๋๋ค.
โข ์์ ์๋ณธ ์์ค ์ฝ๋: https://github.com/ITVillage-Kevin/rxjava-episode2
โข ์ค์ต ํ๋ก์ ํธ ์๋ณธ ์์ค ์ฝ๋(์๋ฒ์ธก): https://github.com/ITVillage-Kevin/rxjava-episode2-practice
โข ์ค์ต ํ๋ก์ ํธ ์๋ณธ ์์ค ์ฝ๋(ํด๋ผ์ด์ธํธ์ธก): https://github.com/ITVillage-Kevin/rxjava-episode2-practice-client
Q. ๊ฐ์ ์๋ฃ๋ ์ด๋์์ ๋ค์ด๋ก๋๋ฐ์ ์ ์๋์?
A. ๊ฐ ์น์
์ ์์
๋ง๋ค ์์
์ ์ฌ์ฉํ ๊ฐ์ ์๋ฃ๋ฅผ ์ฒจ๋ถ ํ์ผ๋ก ๋ฑ๋กํด ๋์์ผ๋ ํ์ํ์ ๋ถ์ ๋ค์ด๋ก๋ ๋ฐ์์ ์ฐธ๊ณ ํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
Q. ๊ฐ์ ์๋ฃ ์ด์ธ์ ์ถ์ฒํด์ฃผ์ค ๋งํ ์ฐธ๊ณ ์๋ฃ๊ฐ ์์๊น์?
A. ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ํ์ตํ๋ ๋ฐ ์์ด ๋์์ด ๋ ๋งํ ์ฌ์ดํธ๋ ์๋์์ ํ์ธํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
โข http://reactivex.io/
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ณต์ ์ฌ์ดํธ๋ก ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค์ง๊ณ ๋ ํ์ ์ฐธ๊ณ ํ๊ธฐ ์ ๋ง ์ข์ ์ฌ์ดํธ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
โข https://github.com/reactive-streams/reactive-streams-jvm
RxJava๋ Reactive Streams๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด๋ผ๊ณ ํ ์ ์๋๋ฐ์. ์ด Reactive Streams์ ์คํ์ ์ ์ํด ๋ github ๊ณต์ ์๋ฃ์
๋๋ค.
โข https://gist.github.com/casamia918/93b8db69beb9ee06b92a96b2a234d48e
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด์ ํ๊ตญ์ด๋ก ์ ๋ฒ์ญ๋ github ์๋ฃ์ธ๋ฐ์. ํ๊ตญ์ด๋ก ๋ฒ์ญํด์ฃผ์
์ ๋๋ฌด ๊ฐ์ฌํ๋ค๋ ๋ง์ ์ ํ๊ณ ์ถ๋ค์.
โข https://rxmarbles.com/
๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ์ค์ ํต์ฌ์ด๋ผ๊ณ ํ ์ ์๋ ์ฐ์ฐ์(Operator)๋ค์ ๋ง๋ธ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์ ์ ๋ฆฌํด ๋์ ์๋ฃ์
๋๋ค.
โข http://reactivex.io/RxJava/2.x/javadoc/
๋ง์ง๋ง์ผ๋ก RxJava์ ๊ณต์ javadoc ๋ฌธ์์
๋๋ค. 2020๋
ํ์ฌ RxJava 3.0์ด ๋ฆด๋ฆฌ์ฆ๋์๊ธฐ๋ ํ๋ 3.0์์๋ ์๋ก์ด ์ฐ์ฐ์ ํจ์๋ค์ด ๋ง์ด ์ถ๊ฐ๋์๋ค๊ณ ๋จ์ํ๊ฒ ์๊ฐํ์๊ณ 2.x ๋ฒ์ ์ผ๋ก ๊ฐ๋
์ ํ์คํ ์ก์ ๋ค์์ 3.0์ผ๋ก ๋์ด๊ฐ๋ ๊ฒ ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค.