RxJS 6 ±â¹ÝÀ¸·Î ¹è¿ì´Â ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÔ¹®ÇϱâRxJS´Â ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀ» ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ ±¸ÇöÇÑ ¶óÀ̺귯¸®´Ù. ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·¹ÀÓ¿öÅ©ÀÎ ¾Þ±Ö·¯´Â ÀÌ¹Ì ¹öÀü 2¿¡¼ RxJS¸¦ µµÀÔÇß´Ù. ¶ÇÇÑ ³ÝÇø¯½º, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®, ¿¡¾îºñ¾Øºñ, ±êÇãºê µî ±Û·Î¹ú IT ±â¾÷¿¡¼µµ »ç¿ë ÁßÀÌ´Ù.ÀÌ Ã¥Àº RxJS¸¦ ÀÌ¿ëÇØ ÀÚ¹Ù½ºÅ©¸³Æ®·Î ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö¿¡ ÀÔ¹®ÇÒ ¼ö ÀÖ°Ô µµ¿ÍÁØ´Ù. ´Ù¾çÇÑ À¥ ¼ºñ½º¿¡ RxJS¸¦ Àû¿ëÇØ¿Â µÎ ÀúÀÚ°¡ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÇ °³³ä, ¿¬»êÀÚ, ½ºÄÉÁÙ·¯, ¾Þ±Ö·¯/¸®¾×Æ®/¸®´ö½º È°¿ë, ES2015 ¹®¹ý ¼Ò°³ µî RxJS¸¦ ½ÃÀÛÇÏ´Â µ¥ ²À ÇÊ¿äÇÑ ÇÙ½É °³³ä°ú ±â¹ýÀ» ¼Ò°³ÇÑ´Ù.
½ÅÀÔ °³¹ßÀÚ·Î LGÀüÀÚ¿¡ ÀÔ»çÇØ ¾Èµå·ÎÀÌµå ¾ÛÀ» °³¹ßÇÏ¸é¼ ÀÚ¿¬½º·¹ ÀÚ¹Ù¿¡¼ µ¿½Ã¼º ¹®Á¦¸¦ ´Ù·ç´Â µ¥ °ü½ÉÀ» µÎ¾ú´Ù. ½Ç¹« ¾Û °³¹ß¿¡ µ¿½Ã¼º ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ¸·Î RxJava¿Í ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Á¢Çß°í, ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö°ú µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö¿¡ ¸Å·ÂÀ» ´À²¼´Ù. Áö±Ýµµ µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö¿¡ °ü½ÉÀÌ ¸¹Àº ÇÁ·Î±×·¡¸ÓÀ̱⵵ ÇÏ´Ù.
ÇöÀç ±Ù¹«ÇÏ´Â Ä«Ä«¿À¿¡¼´Â Daum ¿µÈ¸¦ °³ÆíÇØ ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ À̺¥Æ® 󸮸¦ ReactiveX ¹æ½ÄÀ¸·Î ÇØ°áÇß´Ù. À̶§ µµÀÔÇÑ RxJSÀÇ ½Ç¹« Àû¿ë °æÇèÀ» ¹ÙÅÁÀ¸·Î ÀÌ Ã¥À» ¾²°Ô µÇ¾ú°í, ±â¼ú ºí·Î±×¿¡ Æ÷½ºÆÃÇÏ¸é¼ ÁÁÀº ¹ÝÀÀµµ ¾ò¾ú´Ù. ÃÖ±Ù °ü½É»ç´Â ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 5ÀÇ À¥Ç÷°½º¸¦ »ç¿ëÇÏ¸é¼ ¾Ë°Ô µÈ Reactor ¶óÀ̺귯¸®(https://projectreactor.io/)´Ù.
PART 1 RxJS ¼Ò°³CHAPTER 1 RxJS ¼Ò°³¿Í °³¹ß ȯ°æ ±¸Ãà1.1 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀ̶õ?1.2 RxJS1.3 RxJS·Î °³¹ßÇÒ ¶§ ¾Ë¾Æ¾ß ÇÒ °Í1.4 RxJS °³¹ß ȯ°æ ¼³Á¤Çϱâ1.5 ¸¶Ä¡¸çCHAPTER 2 RxJSÀÇ ±âº» °³³ä2.1 ¹è°æ Áö½Ä2.2 ¿ÉÀú¹öºí2.3 ¼ºêÁ§Æ®2.4 ¿¬»êÀÚ2.5 ½ºÄÉÁÙ·¯2.6 ¸¶ºí ´ÙÀ̾î±×·¥2.7 ÇÁ·Î¹Ì½º¿Í ÇÔ²² º» ¿ÉÀú¹ö ÄÝ¹é ¹× ¿¡·¯ ó¸®2.8 ÇÔ¼öÇü ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö¿¡ ÀÖ´Â ¿ÀÇØ2.9 ¸¶Ä¡¸çCHAPTER 3 »ý¼º ÇÔ¼ö3.1 create ÇÔ¼ö3.2 of ÇÔ¼ö3.3 from ÇÔ¼ö¿Í fromEvent ÇÔ¼ö3.4 defer ÇÔ¼ö3.5 range ÇÔ¼ö3.6 ½Ã°£ ÇÔ¼ö3.7 ¾Æ¹« °ªµµ ¹ßÇàÇÏÁö ¾Ê´Â »ý¼º ÇÔ¼öPART 2 RxJSÀÇ ¿¬»êÀÚCHAPTER 4 ÇÊÅ͸µ ¿¬»êÀÚ4.1 filter ¿¬»êÀÚ4.2 first ¿¬»êÀÚ4.3 last ¿¬»êÀÚ4.4 ¸í½ÃÀûÀ¸·Î ±¸µ¶ ÇØÁ¦ÇÏÁö ¾Êµµ·Ï µ½´Â ¿¬»êÀÚ4.5 ÇÊ¿ä ¾ø´Â °ªÀ» ¹ßÇàÇÏÁö ¾Ê´Â ¿¬»êÀÚ4.6 °ª ¹ßÇà ÈÄ ÀÏÁ¤ ½Ã°£À» ±â´Ù¸®´Â ¿¬»êÀÚ4.7 Áߺ¹ °ªÀ» ¹ßÇàÇÏÁö ¾Ê´Â ¿¬»êÀÚ4.8 »ùÇøµ ¿¬»êÀÚCHAPTER 5 º¯È¯ ¿¬»êÀÚ5.1 map ¿¬»êÀÚ5.2 pluck ¿¬»êÀÚ5.3 mergeMap ¿¬»êÀÚ5.4 switchMap ¿¬»êÀÚ5.5 concatMap ¿¬»êÀÚ5.6 scan ¿¬»êÀÚ5.7 partition ¿¬»êÀÚ5.8 groupBy ¿¬»êÀÚ5.9 buffer ¿¬»êÀÚ5.10 bufferCount ¿¬»êÀÚ5.11 window ¿¬»êÀÚ5.12 windowCount ¿¬»êÀÚCHAPTER 6 Á¶ÇÕ ¿¬»êÀÚ6.1 merge ¿¬»êÀÚ6.2 concat ¿¬»êÀÚ6.3 forkJoin ÇÔ¼ö6.4 combineLatest ¿¬»êÀÚ6.5 zip ¿¬»êÀÚ6.6 startWith ¿¬»êÀÚCHAPTER 7 ¼öÇÐ ¹× °áÇÕ ¿¬»êÀÚ7.1 reduce ¿¬»êÀÚ7.2 max ¿¬»êÀÚ7.3 min ¿¬»êÀÚ7.4 count ¿¬»êÀÚCHAPTER 8 À¯Æ¿¸®Æ¼ ¿¬»êÀÚ8.1 tap ¿¬»êÀÚ8.2 finalize ¿¬»êÀÚ8.3 toPromise ÇÔ¼ö8.4 toArray ¿¬»êÀÚ8.5 timeout ¿¬»êÀÚCHAPTER 9 Á¶°Ç ¿¬»êÀÚ9.1 defaultIfEmpty ¿¬»êÀÚ9.2 isEmpty ¿¬»êÀÚ9.3 find ¿¬»êÀÚPART 3 È¿°úÀûÀÎ RxJS »ç¿ëCHAPTER 10 ¿¡·¯ ó¸®10.1 catchError ¿¬»êÀÚ10.2 retry ¿¬»êÀÚ10.3 retryWhen ¿¬»êÀÚCHAPTER 11 ¼ºêÁ§Æ®11.1 ¼ºêÁ§Æ®ÀÇ Æ¯¼º11.2 ¼ºêÁ§Æ®¿Í ¿ÉÀú¹öºíÀÇ ¿¬°á11.3 ¼ºêÁ§Æ®ÀÇ ¿¡·¯¿Í ¿Ï·á ó¸®11.4 ¼ºêÁ§Æ®ÀÇ Á¾·ù11.5 ¸¶Ä¡¸çCHAPTER 12 ¸ÖƼij½ºÆà ¿¬»êÀÚ12.1 ÇÖ ¿ÉÀú¹öºí°ú ÄÝµå ¿ÉÀú¹öºí12.2 multicast ¿¬»êÀÚ12.3 publish ¿¬»êÀÚ12.4 refCount ¿¬»êÀÚ12.5 share ¿¬»êÀÚ12.6 ¸¶Ä¡¸çCHAPTER 13 ½ºÄÉÁÙ·¯13.1 À̺¥Æ® ·çÇÁ¿Í RxJSÀÇ ½ºÄÉÁÙ·¯ °³³ä13.2 ½ºÄÉÁÙ·¯ ±¸Á¶13.3 ´ëÇ¥ ½ºÄÉÁÙ·¯13.4 ½ºÄÉÁÙ·¯¿¡¼ »ç¿ëÇÏ´Â ¿¬»êÀÚPART 4 ½ÇÀü RxJSCHAPTER 14 Å×½ºÆ®14.1 ¸ðÄ«14.2 RxJS Å×½ºÆ®14.3 createHotObservable/ColdObservable ¸Þ¼µå14.4 ¸¶Ä¡¸çCHAPTER 15 ES2015 ¿Í RxJS15.1 Á¦³Ê·¹ÀÌÅÍ¿Í ÇÁ·Î¹Ì½º¸¦ ÀÀ¿ëÇÑ ºñµ¿±â È帧 Á¦¾î15.2 co ¶óÀ̺귯¸®15.3 spawn ¿¬»êÀÚ15.4 async ¹× await¿Í ¿ÉÀú¹öºí15.5 ¸¶Ä¡¸çCHAPTER 16 ¾Þ±Ö·¯¿Í RxJS16.1 ¾Þ±Ö·¯ ³»ºÎÀÇ RxJS16.2 RxJS¸¦ »ç¿ëÇÏ´Â ÃÊ°£´Ü ¾Þ±Ö·¯ ¾Û16.3 ºñµ¿±â ÆÄÀÌÇÁ16.4 ¸®½ºÆ® ÇÊÅ͸µ16.5 ¸¶Ä¡¸çCHAPTER 17 ¸®¾×Æ®¿¡¼ RxJS »ç¿ëÇϱâ17.1 ¸®¾×Æ®¿Í ¸®´ö½º17.2 ¸®¾×Æ® ÇÁ·ÎÁ§Æ® ±¸¼º17.3 ¸®¾×Æ® ÄÄÆ÷³ÍÆ®17.4 ÃÊ°£´Ü ¸®¾×Æ® Ä«¿îÅÍ ¾Û17.5 ¸®´ö½º17.6 °£´ÜÇÑ ¸®´ö½º ¾Û17.7 RxJS·Î ±¸ÇöÇÏ´Â ¸®´ö½º17.8 ¸®¾×Æ®¿Í ¿¬µ¿Çϱâ17.9 ºñµ¿±â ¾×¼Ç17.10 ¸¶Ä¡¸çCHAPTER 18 redux-observable18.1 redux-observable18.2 ¿¡ÇÈ18.3 ÇÁ·ÎÁ§Æ® ±¸¼º18.4 ¾×¼Ç ŸÀÔ »ó¼ö18.5 ¾×¼Ç »ý¼ºÀÚ18.6 ¸®µà¼18.7 ½ºÅä¾î18.8 ¸®¾×Æ®¿Í ¸®´ö½º ¿¬µ¿18.9 ¸¶Ä¡¸çCHAPTER 19 »ç¿ëÀÚ Á¤ÀÇ »ý¼º ÇÔ¼ö ¹× ¿¬»êÀÚ ¸¸µé±â19.1 »ç¿ëÀÚ Á¤ÀÇ ÆÄÀÌÆÛºí ¿¬»êÀÚ19.2 »ç¿ëÀÚ Á¤ÀÇ »ý¼º ÇÔ¼öAPPENDIX A ES2015 ±âº»A.1 let°ú constA.2 ÅÛÇø´ ¸®ÅÍ·²A.3 Çâ»óµÈ °´Ã¼ ¸®ÅÍ·²A.4 ºñ±¸Á¶ÈA.5 ±âº»°ª°ú Rest ¹× Spread ¿¬»êÀÚA.6 È»ìÇ¥ ÇÔ¼öA.7 ¸ðµâA.8 Ŭ·¡½ºA.9 ÇÁ·Î¹Ì½ºA.10 Á¦³Ê·¹ÀÌÅÍ ÇÔ¼öA.11 Array¿¡ Ãß°¡µÈ ¸Þ¼µåµé°ú for...of¹®A.12 MapA.13 SetA.14 ½É¹úA.15 ÀÌÅÍ·¹ÀÌÅÍ¿Í ÀÌÅÍ·¯ºíA.16 ÇÁ¶ô½ÃA.17 ¸®Ç÷ºÆ®APPENDIX B RxJS 5¿Í 6ÀÇ Â÷ÀÌÁ¡B.1 ÆÄÀÌÆÛºí ¿¬»êÀÚ¸¦ µµÀÔÇÑ ÀÌÀ¯B.2 ÀÚ¹Ù½ºÅ©¸³Æ® Å°¿öµå¿Í Ãæµ¹ ¹æÁöB.3 RxJS v5 Äڵ带 RxJS v6 ÄÚµå·Î º¯°æÇÏ´Â ¹æ¹ýB.4 ¹öÀü°ú ÇÏÀ§/»óÀ§ ȣȯ¼ºB.5 ¸¶Ä¡¸ç