ÄÁÅÙÃ÷»ó¼¼º¸±â

RxJS ÇÁ·Î±×·¡¹Ö
RxJS ÇÁ·Î±×·¡¹Ö
  • ÀúÀÚÀÌÁ¾¿í,¾ÈÀçÇÏ °øÀú
  • ÃâÆÇ»çÇѺû¹Ìµð¾î
  • ÃâÆÇÀÏ2018-09-21
  • µî·ÏÀÏ2019-03-04
º¸À¯ 2, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 18, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

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 RxJS
1.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 ½ÇÀü RxJS

CHAPTER 14 Å×½ºÆ®
14.1 ¸ðÄ«
14.2 RxJS Å×½ºÆ®
14.3 createHotObservable/ColdObservable ¸Þ¼­µå
14.4 ¸¶Ä¡¸ç

CHAPTER 15 ES2015 ¿Í RxJS
15.1 Á¦³Ê·¹ÀÌÅÍ¿Í ÇÁ·Î¹Ì½º¸¦ ÀÀ¿ëÇÑ ºñµ¿±â È帧 Á¦¾î
15.2 co ¶óÀ̺귯¸®
15.3 spawn ¿¬»êÀÚ
15.4 async ¹× await¿Í ¿ÉÀú¹öºí
15.5 ¸¶Ä¡¸ç

CHAPTER 16 ¾Þ±Ö·¯¿Í RxJS
16.1 ¾Þ±Ö·¯ ³»ºÎÀÇ RxJS
16.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-observable
18.1 redux-observable
18.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°ú const
A.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 Map
A.13 Set
A.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 ¸¶Ä¡¸ç

ÇÑÁÙ ¼­Æò