»ó¼¼Á¤º¸
RxJavaÇÁ·Î±×·¡¹Ö - ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ±âÃʺÎÅÍ ¾Èµå·ÎÀ̵å±îÁö ÇÑ ¹ø¿¡
- ÀúÀÚ
- À¯µ¿È¯.¹ÚÁ¤ÁØ ÁöÀ½
- ÃâÆÇ»ç
- ÇѺû¹Ìµð¾î
- ÃâÆÇÀÏ
- 2017-09-03
- µî·ÏÀÏ
- 2017-10-23
- ÆÄÀÏÆ÷¸Ë
- PDF
- ÆÄÀÏÅ©±â
- 5MB
- °ø±Þ»ç
- ¾Ë¶óµò
- Áö¿ø±â±â
-
PC
ÇÁ·Î±×·¥ ¼öµ¿¼³Ä¡
ºä¾îÇÁ·Î±×·¥ ¼³Ä¡ ¾È³»
Ã¥¼Ò°³
RxJava 2¸¦ ¼Ò°³ÇÏ´Â ±¹³» ù ÁýÇʼ
ÀüÅëÀûÀÎ ÇÁ·Î±×·¡¹ÖÀº ÀÏÁ¤ÇÑ ÆÐÅÏ¿¡ ¸ÂÃç µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â µ¿±â ¹æ½ÄÀÌ ÁÖ·ù¿´´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀº Á¤ÇØÁø ¿ì¼±¼øÀ§¿¡ ¸ÂÃá Á¦¾î È帧À» ¼³°èÇØ È¿À²ÀûÀΠó¸® °á°ú¸¦ º¸¿©ÁÙ ¼ö ÀÖ¾ú´Ù. ±×·±µ¥ À¥, ½º¸¶Æ®Æù, IoT µî ´Ù¾çÇÑ ÀÎÇÁ¶ó¿¡¼ ¼ö¸¹Àº µ¥ÀÌÅÍ°¡ ½ñ¾ÆÁö´Â ½Ã´ë¿¡ Á¢¾îµé¸é¼ »ç¶÷ÀÌ È¿À²ÀûÀÎ ÆÐÅÏÀ» ¸ðµÎ ÆľÇÇϱ⠾î·Á¿öÁö¸é¼ »óȲ¿¡ ¸ÂÃç Á¦¾î È帧À» Á¶Á¤ÇÏ´Â ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ Á߿伺ÀÌ Ä¿Áö°í ÀÖ´Ù.
¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀº ºñµ¿±â ÇÁ·Î±×·¡¹Ö¿¡ »õ·Î¿î Æз¯´ÙÀÓÀ» Á¦½ÃÇÏ´Â ¹æ½ÄÀÌ´Ù. »óȲ¿¡ µû¶ó ÇÊ¿äÇÑ ÇÔ¼ö¸¦ È£ÃâÇØ µ¥ÀÌÅÍ È帧À» Á¦¾îÇÒ ¼ö ÀÖ´Ù. óÀ½¿¡´Â ÀÌÇØÇϱ⠾î·Æ°ÚÁö¸¸ ÀûÀÀÀÌ ³¡³ª¸é Äݹé Áö¿ÁÀ» °ÞÁö ¾Ê°í µ¥ÀÌÅ͸¦ À¯¿¬ÇÏ°Ô ´Ù·ê ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº ±¹³» ÀÚ¹Ù °³¹ßÀÚÀÇ ´«³ôÀÌ¿¡ ¸ÂÃç ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö°ú RxJava 2¸¦ ¹è¿ì´Â ÀÔ¹®¼´Ù. ±×°£ RxJava°¡ ±Ã±ÝÇßÁö¸¸ ½±°Ô ´Ù°¡°¥ ¼ö ¾ø´ø °³¹ßÀÚ¿¡°Ô Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
¡Ú Step 1. ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÌÇØÇϱâ
´Ù¾çÇÑ ºñÀ¯¿Í ¿¹½Ã¸¦ ÅëÇØ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÌ ¹«¾ùÀÎÁö ¼³¸íÇÑ´Ù. ¶ÇÇÑ Hello World¸¦ RxJava·Î ¸¸µé¾îº¸°í ºÐ¼®ÇÏ¸é¼ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀ» ¸Àº»´Ù.
¡Ú Step 2. ¸®¾×Ƽºê ¿¬»êÀÚ ÀÍÈ÷±â
RxJava´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» Æ÷ÇÔÇÑ´Ù. Áï, ÇÁ·Î±×·¡¹ÖÀº ÇÔ¼ö ¿¬»êÀ» Á¶ÇÕÇؼ ÀÌ·ç¾îÁø´Ù´Â ¶æÀÌ´Ù. ¿©±â¿¡¼´Â map(), flatMap() µîÀÇ ÇÙ½É ÇÔ¼ö¿Í »ý¼º, º¯È¯, °áÇÕ, Á¶°Ç µîÀ» ó¸®ÇÏ´Â ¿¬»êÀÚ ÇÔ¼ö¸¦ »ìÆ캻´Ù. Çѹø ¾Ë¾ÆµÎ¸é »õ·Î¿î ÇÔ¼ö¸¦ Á¢Çصµ ½±°Ô ±â´ÉÀ» ÆľÇÇÒ ¼ö ÀÖ´Â Åä´ë°¡ µÉ °ÍÀÌ´Ù.
¡Ú Step 3. ½ºÄÉÁÙ·¯ ÀÌÇØÇϱâ
µ¥ÀÌÅÍ È帧À» ¿øÈ°ÇÏ°Ô °ü¸®ÇÏ·Á¸é ½ºÄÉÁÙ·¯¸¦ ÅëÇØ µ¥ÀÌÅÍ°¡ µé¾î¿À°í ³ª°¡´Â ÀÏÀ» °³¹ßÀÚ°¡ Á¦¾îÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. RxJava´Â ½ºÄÉÁÙ·¯µµ ÇÔ¼ö ÇüÅ·Π»ç¿ëÇÑ´Ù. RxJavaÀÇ ½ºÄÉÁÙ·¯ °³³ä°ú ÁÖ¿ä ½ºÄÉÁÙ·¯ ÇÔ¼ö¸¦ »ìÆ캸°í Äݹé Áö¿ÁÀ» ¹þ¾î³ª´Â ¹æ¹ýµµ ¾Ë¾Æº»´Ù.
¡Ú Step 4. ¾Èµå·ÎÀ̵å È°¿ë ¹æ¹ý »ìÆ캸±â
¾Èµå·ÎÀÌµå ¾Û °³¹ßµµ RxJava¸¦ µµÀÔÇϸé UI Á¦¾î³ª ¶óÀÌÇÁ »çÀÌŬ ½ºÄÉÁÙ¸µ¿¡ ¸¹Àº µµ¿òÀ» ¹ÞÀ» ¼ö ÀÖ´Ù. ¾Èµå·ÎÀ̵忡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â RxAndroid ¶óÀ̺귯¸®¸¦ ¾Ë¾Æº¸°í, ¸®¾×Ƽºê RecyclerView, REST API ÇÁ·Î±×·¡¹Ö È°¿ë µî ¾Èµå·ÎÀÌµå ¾Û °³¹ßÀÇ È¿À²À» ³ôÀÏ ¼ö ÀÖ´Â °³¹ß ¿ä¼Ò°¡ ¹«¾ùÀÎÁö »ìÆ캻´Ù.
¡Ú Step 5. ¿¹¿Ü ó¸®¿Í Å×½ºÆà »ìÆ캸±â
¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀº ¿¹¿Ü ó¸®¿Í Å×½ºÆõµ ÇÔ¼ö ±â¹ÝÀ¸·Î ó¸®ÇÑ´Ù. µû¶ó¼ ¿¹¿Ü 󸮳ª Å×½ºÆà °ü·ÃÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö´Â ¹«¾ùÀÌ°í, ±âÁ¸ ÇÁ·Î±×·¡¹Ö ±â¹ý°ú ºñ±³Çؼ ¿¹¿Ü 󸮸¦ Àû¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇؼ »ìÆ캻´Ù. ¶ÇÇÑ RxJava 2¿¡¼ »õ·Ó°Ô µµÀÔÇÑ FlowableÀ» ÀÌ¿ëÇØ ¹è¾Ð À̽´¸¦ ¾î¶»°Ô ó¸®ÇÏ´ÂÁöµµ ¾Ë¾Æº»´Ù.
¡Ú ´ë»ó µ¶ÀÚ
- ½Ç¹«¿¡ Á¾»çÇÏ´Â ¼¹ö »çÀ̵å ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó
- ºñµ¿±â ¾Û °³¹ßÀÌ ÇÊ¿äÇÑ ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¸Ó
[°ü·Ã ¼Àû] (Á¦¸ñ + ISBN)
¡Ü ÀÌ°ÍÀÌ ÀÚ¹Ù´Ù / 9788968481475
¡Ü ÀÚ¹Ù 8 ÀÎ ¾×¼Ç / 9788968481796
¡Ü ÇÔ¼öÇü ¹ÝÀÀÇü ÇÁ·Î±×·¡¹Ö / 9788968488665
¡Ü Head First ÀÚ¹Ù / 9788979143710
ÀúÀÚ¼Ò°³
»ý°¢À» Áñ±â´Â ÇÁ·Î±×·¡¸Ó. ¿¬¼¼´ëÇб³ Á¤º¸´ëÇпø¿¡¼ °æ¿µÁ¤º¸ÇÐÀ» Àü°øÇÑ ÈÄ LGÀüÀÚ¿¡¼ ¾Èµå·ÎÀÌµå ¾ÛÀ» °³¹ßÇß´Ù. ÃÖ±Ù¿¡´Â ¼±ÇàÇ÷§Æû°³¹ßÆÀÀ¸·Î ÀÚ¸®¸¦ ¿Å°Ü IoT¿Í AI °ü·Ã ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇÏ°í ÀÖ´Ù. ÀÚ¹ÙÄ«Æä¿Í Çѱ¹ÀÚ¹Ù°³¹ßÀÚÇùÀÇȸ(JCO)¿¡¼ ¼ö³â°£ È°µ¿Çß´Ù.
ÁýÇÊÇÑ Ã¥À¸·Î´Â ¡º¾Èµå·ÎÀ̵带 À§ÇÑ Gradle¡»(ÇѺû¹Ìµð¾î, 2016)ÀÌ ÀÖ°í, ¹ø¿ªÇÑ Ã¥À¸·Î´Â ¡ºProfessional Java Web Services¡»(Á¤º¸¹®È»ç, 2002)¿Í ¡º±×·¹ÀÌµé ·¹½ÃÇÇ¡»(ÇѺû¹Ìµð¾î, 2016)°¡ ÀÖ´Ù.
¿î¿µ ÁßÀÎ ºí·Î±×¿Í ÆäºÏ ±×·ì
¡Ü À¯µ¿ÀÇ ºê·±Ä¡: https://brunch.co.kr/@yudong
¡Ü Ã¥ ¾²´Â ÇÁ·Î±×·¡¸Ó Çùȸ: https://www.facebook.com/groups/techbookwriting
¡Ü ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÔ¹®: https://www.facebook.com/groups/rxbasic
¸ñÂ÷
Chapter 1 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ¼Ò°³
__1.1 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö
____1.1.1 ÀÚ¹Ù ¾ð¾î¿Í ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö
____1.1.2 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö °³³ä Àâ±â
__1.2 RxJava¸¦ ¸¸µé°Ô µÈ ÀÌÀ¯
__1.3 RxJava óÀ½ ½ÃÀÛÇϱâ
____1.3.1 io.reactivex
____1.3.2 Observable Ŭ·¡½º
____1.3.3 just() ÇÔ¼ö
____1.3.4 subscribe() ÇÔ¼ö
____1.3.5 System.out::println
____1.3.6 emit() ¸Þ¼µå
__1.4 RxJava¸¦ ¾î¶»°Ô °øºÎÇÒ °ÍÀΰ¡
__1.5 ¸¶ºí ´ÙÀ̾î±×·¥ º¸´Â ¹ý
__1.6 ¸¶Ä¡¸ç
Chapter 2 Observable óÀ½ ¸¸µé±â
__2.1 Observable Ŭ·¡½º
____2.1.1 just() ÇÔ¼ö
____2.1.2 subscribe() ÇÔ¼ö¿Í Disposable °´Ã¼
____2.1.3 create() ÇÔ¼ö
____2.1.4 fromArray() ÇÔ¼ö
____2.1.5 fromIterable() ÇÔ¼ö
____2.1.6 fromCallable() ÇÔ¼ö
____2.1.7 fromFuture() ÇÔ¼ö
____2.1.8 fromPubilsher() ÇÔ¼ö
__2.2 Single Ŭ·¡½º
____2.2.1 just() ÇÔ¼ö
____2.2.2 Observable¿¡¼ Single Ŭ·¡½º »ç¿ë
____2.2.3 Single Ŭ·¡½ºÀÇ ¿Ã¹Ù¸¥ »ç¿ë ¹æ¹ý
__2.3 Maybe Ŭ·¡½º
__2.4 ¶ß°Å¿î Observable
__2.5 Subject Ŭ·¡½º
____2.5.1 AsyncSubject Ŭ·¡½º
____2.5.2 BehaviorSubject Ŭ·¡½º
____2.5.3 PublishSubject Ŭ·¡½º
____2.5.4 ReplaySubject Ŭ·¡½º
__2.6 ConnectableObservable Ŭ·¡½º
__2.7 ¸¶Ä¡¸ç
Chapter 3 ¸®¾×Ƽºê ¿¬»êÀÚ ÀÔ¹®
__3.1 map() ÇÔ¼ö
__3.2 flatMap() ÇÔ¼ö
____3.2.1 ±¸±¸´Ü ¸¸µé±â
__3.3 filter() ÇÔ¼ö
__3.4 reduce() ÇÔ¼ö
____3.4.1 µ¥ÀÌÅÍ Äõ¸®Çϱâ
__3.5 ¸¶Ä¡¸ç
Chapter 4 ¸®¾×Ƽºê ¿¬»êÀÚÀÇ È°¿ë
__4.1 »ý¼º ¿¬»êÀÚ
____4.1.1 interval() ÇÔ¼ö
____4.1.2 timer() ÇÔ¼ö
____4.1.3 range() ÇÔ¼ö
____4.1.4 intervalRange() ÇÔ¼ö
____4.1.5 defer() ÇÔ¼ö
____4.1.6 repeat() ÇÔ¼ö
__4.2 º¯È¯ ¿¬»êÀÚ
____4.2.1 concatMap() ÇÔ¼ö
____4.2.2 switchMap() ÇÔ¼ö
____4.2.3 groupBy() ÇÔ¼ö
____4.2.4 scan() ÇÔ¼ö
__4.3 °áÇÕ ¿¬»êÀÚ
____4.3.1 zip() ÇÔ¼ö
____4.3.2 combineLatest() ÇÔ¼ö
____4.3.3 merge() ÇÔ¼ö
____4.3.4 concat() ÇÔ¼ö
__4.4 Á¶°Ç ¿¬»êÀÚ
____4.4.1 amb() ÇÔ¼ö
____4.4.2 takeUntil() ÇÔ¼ö
____4.4.3 skipUntil() ÇÔ¼ö
____4.4.4 all() ÇÔ¼ö
__4.5 ¼öÇÐ ¹× ±âŸ ¿¬»êÀÚ
____4.5.1 ¼öÇÐ ÇÔ¼ö
____4.5.2 delay() ÇÔ¼ö
____4.5.3 timeInterval() ÇÔ¼ö
__4.6 ¸¶Ä¡¸ç
Chapter 5 ½ºÄÉÁÙ·¯
__5.1 ½ºÄÉÁÙ·¯ °³³ä ¹è¿ì±â
__5.2 ½ºÄÉÁÙ·¯ÀÇ Á¾·ù
____5.2.1 ´º ½º·¹µå ½ºÄÉÁÙ·¯
____5.2.2 °è»ê ½ºÄÉÁÙ·¯
____5.2.3 IO ½ºÄÉÁÙ·¯
____5.2.4 Æ®·¥ÆÞ¸° ½ºÄÉÁÙ·¯
____5.2.5 ½Ì±Û ½º·¹µå ½ºÄÉÁÙ·¯
____5.2.6 Executor º¯È¯ ½ºÄÉÁÙ·¯
__5.3 ½ºÄÉÁÙ·¯¸¦ È°¿ëÇÏ¿© Äݹé Áö¿Á ¹þ¾î³ª±â
__5.4 observeOn() ÇÔ¼öÀÇ È°¿ë
__5.5 ¸¶Ä¡¸ç
Chapter 6 ¾Èµå·ÎÀ̵åÀÇ RxJava È°¿ë
__6.1 RxAndroid ¼Ò°³
____6.1.1 ¸®¾×Ƽºê ¶óÀ̺귯¸®¿Í API
____6.1.2 ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ȯ°æ ¼³Á¤
__6.2 RxAndroid 񃧯
____6.2.1 Hello world ¿¹Á¦
____6.2.2 Á¦¾î È帧
____6.2.3 RxLifecyle ¶óÀ̺귯¸®
____6.2.4 UI À̺¥Æ® ó¸®
__6.3 RxAndroid È°¿ë
____6.3.1 ¸®¾×Ƽºê RecyclerView
____6.3.2 ¾Èµå·ÎÀÌµå ½º·¹µå¸¦ ´ëüÇÏ´Â RxAndroid
____6.3.3 REST API¸¦ È°¿ëÇÑ ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö
__6.4 ¸Þ¸ð¸® ´©¼ö
____6.4.1 ÇØ°áÃ¥ 1: Disposable ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÏ¿© ¸í½ÃÀûÀ¸·Î ÀÚ¿ø ÇØÁ¦
____6.4.2 ÇØ°áÃ¥ 2: RxLifecycle ¶óÀ̺귯¸® ÀÌ¿ë
____6.4.3 ÇØ°áÃ¥ 3: CompositeDisposable Ŭ·¡½º ÀÌ¿ë
__6.5 ¸¶Ä¡¸ç
Chapter 7 µð¹ö±ë°ú ¿¹¿Ü ó¸®
__7.1 µð¹ö±ë
____7.1.1 doOnNext(), doOnComplete(), doOnError() ÇÔ¼ö
____7.1.2 doOnEach() ÇÔ¼ö
____7.1.3 doOnSubscribe(), doOnDispose(), ±âŸ ÇÔ¼ö
__7.2 ¿¹¿Ü ó¸®
____7.2.1 onErrorReturn() ÇÔ¼ö
____7.2.2 onErrorResumeNext() ÇÔ¼ö
____7.2.3 retry() ÇÔ¼ö
____7.2.4 retryUntil() ÇÔ¼ö
____7.2.5 retryWhen() ÇÔ¼ö
__7.3 È帧 Á¦¾î
____7.3.1 sample() ÇÔ¼ö
____7.3.2 buffer() ÇÔ¼ö
____7.3.3 throttleFirst()¿Í throttleLast() ÇÔ¼ö
____7.3.4 window() ÇÔ¼ö
____7.3.5 debounce() ÇÔ¼ö
__7.4 ¸¶Ä¡¸ç
Chapter 8 Å×½ºÆðú Flowable
__8.1 JUnit 5 È°¿ë
__8.2 TestObserver Ŭ·¡½º
__8.3 ºñµ¿±â ÄÚµå Å×½ºÆ®
__8.4 Flowable Ŭ·¡½º
____8.4.1 Observable°ú FlowableÀÇ ¼±Åà ±âÁØ
____8.4.2 FlowableÀ» È°¿ëÇÑ ¹è¾Ð À̽´ ´ëÀÀ
__8.5 ¸¶Ä¡¸ç