๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ. ๋๋์ฒด ๋ญ์ฃ ?
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๋ญ์ง ์๊ณ ์ถ์๋ฐ, ์๋ฌด๋ฆฌ ๊ฒ์ํด๋ ์ ํํ๊ฒ ๋ญ์ง ๋ชจ๋ฅด์๊ฒ ๋ค๊ตฌ์?

์ด ๊ฐ์๋ฅผ ๋ง๋ ์ด์ ๐
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ๊ด์ฌ์ด ๋์์ง๊ณ ์์ง๋ง, ์ ํํ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ์ด๋ณด์์๊ฒ ์๋ ค์ฃผ๋ ์๋ฃ๋ ๋๋ฌด ๋ถ์กฑํ์ต๋๋ค. ๋ฐ๋ผ์ ์ง์ ReactiveX๋ฅผ ๊ณต๋ถํ๊ณ ์ค๋ฌด์ ํ์ฉํ๋ฉฐ ๊ฒฝํํ ํ๋ก๊ทธ๋๋จธ๋ก์์ ์ฑ์ฅ๊ณผ, ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋๋ผ์ด ๋งค๋ ฅ์ ์๋ ค๋๋ฆฌ๊ธฐ ์ํด ์ง์ ๊ฐ์๋ฅผ ์ ์ํ๊ฒ ๋์์ต๋๋ค.
๋ณธ ๊ฐ์์์๋ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ์ค๊ณ๋๋์ง, ๋ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ReactiveX ๋ฅผ ํตํด ์์๊ฐ๋๋ค. ๋ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ์ ์ธ RxJS์ ๊ฐ ๊ตฌ์ฑ์์์ ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ํ์ฉ๋ฒ์ ์์ ์ ํจ๊ป ์ค์ตํด ๋ณด๋ฉฐ ๋ฐ์ํ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฒ์ ๋ฐฐ์ธ ์์ ์
๋๋ค.
์ด๋ฐ ๋ถ๋ค์ด ๋ค์ผ๋ฉด ์ข์์ ๐ฌ
์ด ๊ฐ์๋ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์๊ณ ์ถ์, ํ๋ก๊ทธ๋๋จธ๋ก์ ํ ์ฐจ์ ๋ ์ฑ์ฅํ๊ณ ์ถ์ ๋ชจ๋ ๋ถ์ผ์ ๊ฐ๋ฐ์ ๋๋ ์ง๋ง์๋ค์๊ฒ ๋์์ด ๋ ์ ์๋ ๊ฐ์์
๋๋ค. ReactiveX๋ ๋๋ถ๋ถ์ ์ฃผ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(ํ๋จ ์ฐธ์กฐ)์์ ์ ๊ณต๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก, ์ด ๊ฐ์ข์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ฐฐ์ด ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ์ง์์ ์๊ธฐ ํ๋์ ํ์ฉํ ์ ์์ต๋๋ค.
๊ฐ์์ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์์ ๐
๐ก ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๊ฒ ๋๋ฉด, ์ด์ ์ ์ฝ๋ฉํ๋ ๊ฒ๊ณผ๋ ํ์ฐํ ๋ค๋ฅธ ๊ด์ ๊ณผ ๋ฐฉ๋ฒ๋ก ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ์ค๊ณํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ํํธ์จ์ด์์ ๋ฒ์ด์ง๋ ๋ชจ๋ ์ผ๋ค์ 'ํ๋ฆ'๋ค๋ก ์ฌํด์ํด์, ์ค๋ฅ๋ค๋ก๋ถํฐ ๋ณด๋ค ์์ ํ, ๊ตฌ์กฐ์ ์ผ๋ก ๋ช
๋ฃํ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๊ฒ ๋์ฃ .
๐ก ReactiveX๋ ์ฃผ์ ์ธ์ด๋ค๋ง๋ค ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํ์ ๋์์ฃผ๋ ํ๋ฅญํ ๋๊ตฌ์
๋๋ค. ReactiveX๋ฅผ ์ด ๊ฐ์์์ ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์๋๊ฐ๊ณ , ๋ง์ง๋ง ์ฑํฐ์์ ๋ง๋๋ ์์ ํ๋ก๊ทธ๋จ๋ค์ ํตํด ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ์ด๋ป๊ฒ ์ด๋ค์ง๋์ง ์ ์ ์์ต๋๋ค.
์ ๊ฐ์๋ง์ ํน๋ณํ ์ โจ
๐ ์์ฝ ๊ฐ์๋ ๋ฌด์์ด ์ข์๊ฐ์?
๋น ๋ฅธ ๊ฐ์ ์งํ์ ํตํด ํ์ต์ ๋ค์ด๊ฐ๋ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ๋จ์ถํด์ค๋๋ค. IDE๋ฅผ ์คํํ๊ณ ์ฝ๋๋ค์ ํ๋ํ๋ ํ์ดํํ ํ์ ์์ด, ๊ฐ์์ฉ ์นํ์ด์ง์์ ์จ๋ผ์ธ ์ฝ๋ฉ ํด๋ก ์ฝ๋๋ค์ ํด๋ฆญ์ผ๋ก ๋ณต๋ถํด๊ฐ๋ฉฐ ๋น ๋ฅด๊ฒ ๊ฐ๋
๋ค์ ๋ฐฐ์๋๊ฐ์ค ์ ์์ต๋๋ค. ReactiveX์ ๋ค์ํ ์คํผ๋ ์ดํฐ๋ค๋ ํ๋ํ๋ ์์๋ฅผ ํตํด ๋น ๋ฅด๊ฒ ํ์ตํ ์ ์์ต๋๋ค.
๐ ์ถ๊ฐ ์๊ฐ ํ
์์๋ค์ ์งํ์๋๊ฐ ๋น ๋ฅธ ํธ์
๋๋ค. ๊ฐ ์์๋ง๋ค ์ฒ์ ํ ๋ฒ์ ๊ทธ๋ฅ ์์ฒญํ๋ฉฐ ๊ฐ๋
์ ์ก๊ณ , ๋ค์ ์ฌ์ํ์ฌ ์ค๊ฐ์ค๊ฐ ๋ฉ์ถฐ๊ฐ๋ฉฐ ์ค์ต์ ์งํํด์ฃผ์ธ์. ์์์์์ ๊ฐ์ด ๊ฐ์์ฌ์ดํธ์ ์ฝ๋๋ฅผ ํด๋ฆญ์ผ๋ก ๋ณต๋ถํด๋ ๋์ง๋ง, ๋ณด๋ค ์์ ์ตํ๋ฉฐ ๊น์ด์๋ ํ์ต์ ์งํํ๊ธฐ ์ํด์๋ ์ง์ ์ฝ๋๋ฅผ ํ์ดํํด๋ณด์ค ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
์ด๋ฐ ๋ด์ฉ์ ๋ฐฐ์์! ๐
์น์
0 : ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ReactiveX
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ์ด๋ค ๊ฒ์ธ์ง 18๋ถ์ง๋ฆฌ ์์ฝ ์์์ผ๋ก ์ ์์ํ๊ฒ ์์๋ด
๋๋ค.

์น์
1 : ์คํธ๋ฆผ ๋ง๋ณด๊ธฐ
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ! ๋ฐฐ์ด, ์๊ฐ, ๊ทธ๋ฆฌ๊ณ ์์ธก๋ถ๊ฐํ ์ด๋ฒคํธ๋ฅผ ์คํธ๋ฆผ์ผ๋ก ๋ค๋ค๋ด
๋๋ค.

์น์
2 : Operator - ReactiveX์ ๋ค์ํ ์ฐ์ฐ์๋ค
60์ฌ๊ฐ์ง์ ReactiveX ์คํผ๋ ์ดํฐ๋ค์ ํ๋ํ๋ ์์ ๋ค์ ํตํด ๊ทธ ์ ์์ ํ์ฉ๋ฒ์ ์์๋ด
๋๋ค.

์น์
3 : ์ค์ ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ!
์ด์ ๊ป ๋ฐฐ์ด ReactiveX ์ง์๋ค์ ํ์ฉํ์ฌ, reactiveํ ์ํํธ์จ์ด๋ค์ ๋ง๋ค์ด๋ด
๋๋ค.

์ง์๊ณต์ ์ ์๊ฐ โ๏ธ
์์ฝ๋ ๋๊ตฌ์ธ๊ฐ์? ๐
๐ ์์ฝ ์ปจํ
์ธ ๋ง๋ณด๊ธฐ
์์ ์ง๋ฌธ Q&A ๐ฌ
Q. ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๋ฉด ๋ญ๊ฐ ์ข์๊ฐ์?
A. ์ค๋ฅ์ ์์ง๊ฐ ์ ๊ณ ๊น๋, ๋ช
๋ฃํ ์ฝ๋๋ฅผ ์งค ์ ์๊ฒ ๋ฉ๋๋ค. ๋ฉํฐ์ค๋ ๋ฉ์ ์ํ ๋ฌธ์ ๋ค๋ก๋ถํฐ ๋ณด๋ค ์์ ๋ก์์ง๊ณ ๋น๋๊ธฐ์ ์ธ ์์
๋ค์ ๋ค๋ฃจ๊ธฐ๋ ์ฌ์์ง์ฃ . ์ถ๊ฐ๋ก, ์ํํธ์จ์ด๋ฅผ ๋ฐ๋ผ๋ณด๋ ์๋ก์ด ์๊ฐ๊ณผ ์ฌ๊ณ ๋ฐฉ์์ ์ป๊ฒ ๋จ์ผ๋ก์จ ๊ฐ๋ฐ์๋ก์์ ์ญ๋์ด ํ์ธต ์
๊ทธ๋ ์ด๋๋๋ ๊ฒฝํ์ ํ์ค ์ ์๊ฒ ๋ฉ๋๋ค.
Q. ๋ฐ์ํ์ผ๋ก ์ฝ๋ฉํ๋ฉด ๊ฐ์ฒด์งํฅ์ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋๋๊ฑด๊ฐ์?
A. ๋ฐ์ํ/ํจ์ํ๊ณผ ๊ฐ์ฒด์งํฅ์ ๋ฐ๋๋๊ฑฐ๋ ๋๋ฆฝํ๋ ๊ฒ์ด ์๋๋ฉฐ ํ ์ฝ๋์ ๊ณต์กดํ ์ ์์ต๋๋ค. ๊ฐ์ฒด์งํฅ์ ์๊ฑด๋ค์ ๊ฐ์ถ ๋์์ ๋ฐ์ํ์ผ๋ก ์ง์ธ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค ์ ์์ผ๋ฉฐ ๋ํ ์ด๊ฒ์ด ๊ถ์ฅ๋๋ ๋ฐ์
๋๋ค.
Q. ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๊ฐ ์๋์ด๋ ๋์์ด ๋ ๊น์?
A. ReactiveX๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฟ ์๋๋ผ Java, C#, C++, Ruby, Python, Kotlin, Swift, PHP, Go, Groovy, JRuby, Elixir, Dart, Scala, Clojure, Lua ๋ฑ์ ์ธ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ธ์ด๋ง๋ค ๋ค์ ์ฐจ์ด๊ฐ ์์ง๋ง ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์ ์ฌ์ฉ๋ฒ์ ๊ฐ๊ธฐ ๋๋ฌธ์, ์ค์ตํ๊ธฐ ์์ํ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ReactiveX๋ฅผ ๋ฐฐ์ฐ์๊ณ ๋๋ฉด ์ฌ์ฉํ์๋ ์ธ์ด์์ ์ด๋ ค์ ์์ด ์ ์ฉํ์ค ์ ์์๊ฑฐ์์.