|
½ºÇÁ¸µÀ¸·Î ½ÃÀÛÇÏ´Â ¸®¿¢Æ¼ºê ÇÁ·Î±×·¡¹ÖSpring WebFlux¸¦ ÀÌ¿ëÇÑ Non-Blocking ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö
Á¤°¡ : 30,000¿øÆǸŰ¡ 27,000¿ø (10% ÇÒÀÎ)
Ç°¸ñÁ¤º¸
Ã¥¼Ò°³¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÇ ±âº»±â¸¦ È®½ÇÇÏ°Ô ´Ù½Å´Ù ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀº ÀûÀº ÄÄÇ»Æà ÆÄ¿ö·Î ´ë·®ÀÇ ¿äû Æ®·¡ÇÈÀ» È¿°úÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¸®¾×Ƽºê ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ ÇÙ½É ±¸¼º ¿ä¼ÒÀÔ´Ï´Ù. ÀÌ Ã¥Àº ½ºÇÁ¸µ ¸®¾×Ƽºê À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö¿¡ ÀÖ¾î Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â ReactorÀÇ ÇÙ½É °³³äµéÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÃæºÐÇÑ ¼³¸í°ú ´Ù¾çÇÑ ¿¹Á¦ ÄÚµå, ¸¶ºí ´ÙÀ̾î±×·¥ µîÀ» Á¦°øÇÕ´Ï´Ù. ¶ÇÇÑ Reactor¿¡ ´ëÇÑ ÇнÀÀ» Åä´ë·Î Spring WebFlux ±â¹ÝÀÇ Non-Blocking I/O ¹æ½ÄÀÇ »ùÇà ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇØ º¸¸é¼ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÔ¹®À̶ó´Â ±æ·Î ÀÚ¿¬½º·´°Ô ¾È³»ÇÕ´Ï´Ù
¸ñÂ÷ÁöÀºÀÌ ¼Ò°³ ÁöÀºÀÌÀÇ ¸» ±â¼ú °¨¼öÀÚ ¼Ò°³ ±â¼ú °¨¼öÀÚÀÇ ¸» Ãßõ»ç ÀÏ·¯µÎ±â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ÀÌ Ã¥ÀÇ ±¸¼º ¿¹Á¦ ÄÚµå ±¸¼º ¼ÒÇÁÆ®¿þ¾î ¹öÀü ÁÖÀÇ »çÇ× Part 01 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö(Reactive Programming) Chapter 01 ¸®¾×Ƽºê ½Ã½ºÅÛ°ú ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö 1.1 ¸®¾×Ƽºê ½Ã½ºÅÛ(Reactive System)À̶õ? 1.2 ¸®¾×Ƽºê ¼±¾ð¹®À¸·Î ¸®¾×Ƽºê ½Ã½ºÅÛ ÀÌÇØÇϱâ 1.3 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö(Reactive Programming)À̶õ 1.4 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÇ Æ¯Â¡ 1.4.1 declarative programming 1.4.2 data streams¿Í the propagation of change 1.5 ÄÚµå·Î º¸´Â ¸í·ÉÇü ÇÁ·Î±×·¡¹Ö vs ¼±¾ðÇü ÇÁ·Î±×·¡¹Ö 1.5.1 ¸í·ÉÇü ÇÁ·Î±×·¡¹Ö 1.5.2 ¼±¾ðÇü ÇÁ·Î±×·¡¹Ö 1.6 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÄÚµå ±¸¼º Chapter 02 ¸®¾×Ƽºê ½ºÆ®¸²Áî(Reactive Streams) 2.1 ¸®¾×Ƽºê ½ºÆ®¸²Áî(Reactive Streams)¶õ? 2.2 ¸®¾×Ƽºê ½ºÆ®¸²Áî ±¸¼º¿ä¼Ò 2.3 ÄÚµå·Î º¸´Â ¸®¾×Ƽºê ½ºÆ®¸²Áî ÄÄÆ÷³ÍÆ® 2.3.1 Publisher 2.3.2 Subscriber 2.3.3 Subscription 2.3.4 Processor 2.4 ¸®¾×Ƽºê ½ºÆ®¸²Áî °ü·Ã ¿ë¾î Á¤ÀÇ 2.5 ¸®¾×Ƽºê ½ºÆ®¸²ÁîÀÇ ±¸Çö ±ÔÄ¢ 2.6 ¸®¾×Ƽºê ½ºÆ®¸²Áî ±¸Çöü Chapter 03 Blocking I/O¿Í Non-Blocking I/O 3.1 Blocking I/O 3.2 Non-Blocking I/O 3.3 Spring Framework¿¡¼ÀÇ Blocking I/O¿Í Non-Blocking I/O 3.4 Non-Blocking I/O ¹æ½ÄÀÇ Åë½ÅÀÌ ÀûÇÕÇÑ ½Ã½ºÅÛ 3.4.1 ´ë·®ÀÇ ¿äû Æ®·¡ÇÈÀÌ ¹ß»ýÇÏ´Â ½Ã½ºÅÛ 3.4.2 ¸¶ÀÌÅ©·Î ¼ºñ½º ±â¹Ý ½Ã½ºÅÛ 3.4.3 ½ºÆ®¸®¹Ö ¶Ç´Â ½Ç½Ã°£ ½Ã½ºÅÛ Chapter 04 ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ »çÀü Áö½Ä 4.1 ÇÔ¼öÇü ÀÎÅÍÆäÀ̽º(Functional Interface) 4.2 ¶÷´Ù Ç¥Çö½Ä(Lambda Expression) 4.3 ¸Þ¼µå ·¹ÆÛ·±½º(Method Reference) 4.4 ÇÔ¼ö µð½ºÅ©¸³ÅÍ(Function Descriptor) Part 02 Project Reactor Chapter 05 Reactor °³¿ä 5.1 Reactor¶õ? 5.2 Hello Reactor ÄÚµå·Î º¸´Â ReactorÀÇ ±¸¼º¿ä¼Ò Chapter 06 ¸¶ºí ´ÙÀ̾î±×·¥(Marble Diagram) 6.1 ¸¶ºí ´ÙÀ̾î±×·¥(Marble Diagram)À̶õ? 6.2 ¸¶ºí ´ÙÀ̾î±×·¥À¸·Î ReactorÀÇ Publisher ÀÌÇØÇϱâ Chapter 07 Cold Sequence¿Í Hot Sequence 7.1 Cold¿Í HotÀÇ ÀÇ¹Ì 7.2 Cold Sequence 7.3 Hot Sequence 7.4 HTTP ¿äû°ú ÀÀ´ä¿¡¼ Cold Sequence¿Í Hot SequenceÀÇ µ¿ÀÛ È帧 Chapter 08 Backpressure 8.1 Backpressure¶õ? 8.2 Reactor¿¡¼ÀÇ Backpressure ó¸® ¹æ½Ä 8.2.1 µ¥ÀÌÅÍ °³¼ö Á¦¾î 8.2.2 Backpressure Àü·« »ç¿ë Chapter 09 Sinks 9.1 Sinks¶õ? 9.2 Sinks Á¾·ù ¹× Ư¡ Chapter 10 Scheduler 10.1 ½º·¹µå(Thread)ÀÇ °³³ä ÀÌÇØ 10.2 Scheduler¶õ 10.3 Scheduler¸¦ À§ÇÑ Àü¿ë Operator 10.4 publishOn( )°ú subscribeOn( )ÀÇ µ¿ÀÛ ÀÌÇØ 10.5 SchedulerÀÇ Á¾·ù Chapter 11 Context 11.1 Context¶õ? 11.2 ÀÚÁÖ »ç¿ëµÇ´Â Context °ü·Ã API 11.3 ContextÀÇ Æ¯Â¡ Chapter 12 Debugging 12.1 Reactor¿¡¼ÀÇ µð¹ö±ë ¹æ¹ý 12.1.1 Debug Mode¸¦ »ç¿ëÇÑ µð¹ö±ë 12.1.2 checkpoint( ) Operator¸¦ »ç¿ëÇÑ µð¹ö±ë 12.1.3 log( ) Operator¸¦ »ç¿ëÇÑ µð¹ö±ë Chapter 13 Testing 13.1 StepVerifier¸¦ »ç¿ëÇÑ Å×½ºÆà 13.2 TestPublisher¸¦ »ç¿ëÇÑ Å×½ºÆà 13.3 PublisherProbe¸¦ »ç¿ëÇÑ Å×½ºÆà Chapter 14 Operators 14.1 Operator¶õ 14.2 Sequence »ý¼ºÀ» À§ÇÑ Operator 14.3 Sequence ÇÊÅ͸µ Operator 14.4 Sequence º¯È¯ Operator 14.5 SequenceÀÇ ³»ºÎ µ¿ÀÛ È®ÀÎÀ» À§ÇÑ Operator 14.6 ¿¡·¯ 󸮸¦ À§ÇÑ Operator 14.7 SequenceÀÇ µ¿ÀÛ ½Ã°£ ÃøÁ¤À» À§ÇÑ Operator 14.8 Flux Sequence ºÐÇÒÀ» À§ÇÑ Operator 14.9 ´Ù¼öÀÇ Subscriber¿¡°Ô Flux¸¦ ¸ÖƼij½ºÆÃ(Multicasting) Çϱâ À§ÇÑ Operator Part 03 Spring WebFlux Chapter 15 Spring WebFlux °³¿ä 15.1 Spring WebFluxÀÇ Åº»ý ¹è°æ 15.2 Spring WebFluxÀÇ ±â¼ú ½ºÅà 15.3 Spring WebFluxÀÇ ¿äû ó¸® È帧 15.4 Spring WebFluxÀÇ ÇÙ½É ÄÄÆ÷³ÍÆ® 15.5 Spring WebFluxÀÇ Non-Blocking ÇÁ·Î¼¼½º ±¸Á¶ 15.6 Spring WebFluxÀÇ ½º·¹µå ¸ðµ¨ Chapter 16 ¾Ö³ÊÅ×ÀÌ¼Ç ±â¹Ý ÄÁÆ®·Ñ·¯ (Annotated Controller) 16.1 Spring MVC ±â¹Ý Controller 16.2 Spring WebFlux ±â¹Ý Controller Chapter 17 ÇÔ¼öÇü ¿£µåÆ÷ÀÎÆ®(Functional Endpoint) 17.1 HandlerFunctionÀ» »ç¿ëÇÑ request ó¸® 17.2 request ¶ó¿ìÆÃÀ» À§ÇÑ RouterFunction 17.3 ÇÔ¼öÇü ¿£µåÆ÷ÀÎÆ®¿¡¼ÀÇ request body À¯È¿¼º °ËÁõ Chapter 18 Spring Data R2DBC 18.1 R2DBC¶õ 18.2 Spring Data R2DBC¶õ? 18.3 Spring Data R2DBC ¼³Á¤ 18.4 Spring Data R2DBC¿¡¼ÀÇ µµ¸ÞÀÎ ¿£Æ¼Æ¼ Ŭ·¡½º ¸ÅÇÎ 18.5 R2DBC Repositories¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ¾×¼¼½º 18.6 R2dbcEntityTemplateÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ¾×¼¼½º 18.7 Spring Data R2DBC¿¡¼ÀÇ ÆäÀÌÁö³×À̼Ç(Pagination) ó¸® Chapter 19 ¿¹¿Ü ó¸® 19.1 onErrorResume( ) Operator¸¦ ÀÌ¿ëÇÑ ¿¹¿Ü ó¸® 19.2 ErrorWebExceptionHandler¸¦ ÀÌ¿ëÇÑ ±Û·Î¹ú ¿¹¿Ü ó¸® Chapter 20 WebClient 20.1 WebClient¶õ? 20.2 WebClient·Î µµ¼ Á¤º¸ ¿äûÇϱâ 20.3 WebClient Connection Timeout ¼³Á¤ 20.4 exchangeToMono( )¸¦ »ç¿ëÇÑ ÀÀ´ä µðÄÚµù Chapter 21 Reactive Streaming µ¥ÀÌÅÍ Ã³¸® ã¾Æº¸±â
(°³)
1. ¹è¼Û
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 4½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ12½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù. ¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù. 2. ¹è¼Û·á ¹è¼Û·á´Â 25,000¿ø ÀÌ»óÀÌ °æ¿ì À̱×ÀëÇ÷¯½º¿¡¼ ºÎ´ãÇÏ°í, ¹Ì¸¸ÀÏ °æ¿ì °í°´ÀÌ 2,500¿øÀ» ºÎ´ãÇÕ´Ï´Ù. ´Ù¸¸ ±¸¸Å±Ý¾×ÀÌ 25,000¿ø ÀÌ»óÀε¥ Àû¸³±Ý µîÀ» »ç¿ëÇÏ¿© ½ÇÁ¦ °áÀç±Ý¾×ÀÌ 25,000¿ø ¹Ì¸¸ÀÌ µÇ´õ¶óµµ À̱×ÀëÇ÷¯½º¿¡¼ ¹è¼Û·á¸¦ ºÎ´ãÇÏ°í, Á¦ÁÖ¸¦ Á¦¿ÜÇÑ µµ¼Áö¿ªÀÇ °æ¿ì´Â 5,000¿øÀÌ Ãß°¡µË´Ï´Ù. Çؿܹè¼ÛÀº Àü¾× °í°´ºÎ´ãÀÌ µË´Ï´Ù. 5. ¹ÝÇ°/±³È¯
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù. 4. ȯºÒ ¹ÞÀ¸½Å ³¯ºÎÅÍ 2ÀÏ À̳»·Î Àüȳª 1:1 °Ô½Ã±Û·Î Àû¾îÁÖ¼Å¾ß °¡´ÉÇϽʴϴÙ. 5. ÁÖÀÇ °í°´´Ô º¯½ÉÀ¸·Î ÀÎÇÑ ±³È¯/¹ÝÇ°/ȯºÒ °í°´´Ô²²¼ Åùèºñ(¿Õº¹Åùèºñ)¸¦ ºÎ´ãÀÌ µÇ´Ï ÀÌÁ¡ À¯ÀÇÇØ ÁֽʽÿÀ. ¶ÇÇÑ °ÀÇÅ×ÀÙ/¾ãÀº¹®Á¦Áý/ºñ´ÒÆ÷ÀåµÈÁ¦Ç°µîÀº Çѹø ±¸¸ÅÇÏ½Ã¸é ±³È¯/¹ÝÇ°/ȯºÒÀÌ ÀüÇô ¾ÈµË´Ï´Ù. ½ÅÁßÈ÷ »ý°¢Çϼż ±¸¸Å ºÎŹµå¸³´Ï´Ù. ´Ù¸¸ ºÒ·®Å×ÀÙÀÇ °æ¿ì ±× ºÒ·®ÀÌ µÈ °³º°Å×ÀÙÀ» À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î A/S¸¦ Çص帳´Ï´Ù. 6. ÁÖ¹®Ãë¼Ò, ±³È¯, ¹ÝÇ° ¹× ȯºÒÀº ´çÀÏ 3½Ã ÀÌÀü¿¡ ÇØÁÖ¼Å¾ß °¡´ÉÇÕ´Ï´Ù. ±× ÀÌÈÄ´Â ¹è¼Û µî¿¡ µû¸¥ Á¦ºñ¿ëÀ» ºÎ´ãÇÏ¼Å¾ß ÇÕ´Ï´Ù.
|
|
||||||||
|
||||||||
|
||||||||
* »óÇ°»çÀÌÁî Ä¡¼ö´Â Àç´Â ¹æ¹ý°ú À§Ä¡¿¡ µû¶ó 1~3cm ¿ÀÂ÷°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.