¼öÇè¼ | Âü°í¼ | Àڰݼ | ÀϹݵµ¼ | + ½°ÅÍ |
ºñÁ¦ÀÌÆÛºí¸¯ ½ºÇÁ¸µÀ¸·Î ½ÃÀÛÇÏ´Â ¸®¿¢Æ¼ºê ÇÁ·Î±×·¡¹Ö ȲÁ¤½Ä
- »óÇ°Á¤º¸
- »óÇ°Æò°¡
- »óÇ°¹®ÀÇ
- ¹è¼Û/¹ÝÇ°/ȯºÒ
½ºÇÁ¸µÀ¸·Î ½ÃÀÛÇÏ´Â ¸®¿¢Æ¼ºê ÇÁ·Î±×·¡¹Ö
Spring WebFlux¸¦ ÀÌ¿ëÇÑ Non-Blocking ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö
Á¤°¡ : 30,000¿øÆǸŰ¡ 27,000¿ø (10% ÇÒÀÎ)
Ç°¸ñÁ¤º¸
¹ßÇàÀÏ | 2023³â 04¿ù 11ÀÏ |
---|---|
Âʼö, ¹«°Ô, Å©±â | 520ÂÊ | 173*230*35mm |
ISBN13 | 9791165922047 |
ISBN10 | 1165922045 |
Ã¥¼Ò°³
¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÇ ±âº»±â¸¦ È®½ÇÇÏ°Ô ´Ù½Å´Ù
¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀº ÀûÀº ÄÄÇ»Æà ÆÄ¿ö·Î ´ë·®ÀÇ ¿äû Æ®·¡ÇÈÀ» È¿°úÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¸®¾×Ƽºê ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ ÇÙ½É ±¸¼º ¿ä¼ÒÀÔ´Ï´Ù. ÀÌ Ã¥Àº ½ºÇÁ¸µ ¸®¾×Ƽºê À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö¿¡ ÀÖ¾î Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â ReactorÀÇ ÇÙ½É °³³äµéÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÃæºÐÇÑ ¼³¸í°ú ´Ù¾çÇÑ ¿¹Á¦ ÄÚµå, ¸¶ºí ´ÙÀ̾î±×·¥ µîÀ» Á¦°øÇÕ´Ï´Ù. ¶ÇÇÑ Reactor¿¡ ´ëÇÑ ÇнÀÀ» Åä´ë·Î Spring WebFlux ±â¹ÝÀÇ Non-Blocking I/O ¹æ½ÄÀÇ »ùÇà ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇØ º¸¸é¼ ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÔ¹®À̶ó´Â ±æ·Î ÀÚ¿¬½º·´°Ô ¾È³»ÇÕ´Ï´Ù
¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀº ÀûÀº ÄÄÇ»Æà ÆÄ¿ö·Î ´ë·®ÀÇ ¿äû Æ®·¡ÇÈÀ» È¿°úÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¸®¾×Ƽºê ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ ÇÙ½É ±¸¼º ¿ä¼ÒÀÔ´Ï´Ù. ÀÌ Ã¥Àº ½ºÇÁ¸µ ¸®¾×Ƽºê À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Çö¿¡ ÀÖ¾î Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â 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 µ¥ÀÌÅÍ Ã³¸®
ã¾Æº¸±â
ÁöÀºÀÌÀÇ ¸»
±â¼ú °¨¼öÀÚ ¼Ò°³
±â¼ú °¨¼öÀÚÀÇ ¸»
̵̧ȍ
ÀÏ·¯µÎ±â
ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
ÀÌ Ã¥ÀÇ ±¸¼º
¿¹Á¦ ÄÚµå ±¸¼º
¼ÒÇÁÆ®¿þ¾î ¹öÀü
ÁÖÀÇ »çÇ×
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 µ¥ÀÌÅÍ Ã³¸®
ã¾Æº¸±â
(0°³)
¸®ºäº¸µå
µî·ÏµÈ ¸®ºä°¡ ¾ø½À´Ï´Ù.
(0°³)
»óÇ°¹®ÀÇ
»óÇ° °í½Ã Á¤º¸
1. ¹è¼Û
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 5½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ1½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù.
¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù.
´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù.
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 5½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ1½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù.
¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù.
´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù.
2. ¹è¼Û·á
¹è¼Û·á´Â 3¸¸¿ø ÀÌ»óÀÌ °æ¿ì À̱×ÀëÇ÷¯½º¿¡¼ ºÎ´ãÇÏ°í, ¹Ì¸¸ÀÏ °æ¿ì °í°´ÀÌ 2,500¿øÀ» ºÎ´ãÇÕ´Ï´Ù.
´Ù¸¸ ±¸¸Å±Ý¾×ÀÌ 3¸¸¿ø ÀÌ»óÀε¥ Àû¸³±Ý µîÀ» »ç¿ëÇÏ¿© ½ÇÁ¦ °áÀç±Ý¾×ÀÌ 3¸¸¿ø ¹Ì¸¸ÀÌ µÇ´õ¶óµµ À̱×ÀëÇ÷¯½º¿¡¼ ¹è¼Û·á¸¦ ºÎ´ãÇÏ°í, Á¦ÁÖ¸¦ Á¦¿ÜÇÑ µµ¼Áö¿ªÀÇ °æ¿ì´Â 5,000¿øÀÌ Ãß°¡µÈ´ä´Ï´Ù. Çؿܹè¼ÛÀº Àü¾× °í°´ºÎ´ãÀÌ µÈ´ä´Ï´Ù.
5. ¹ÝÇ°/±³È¯
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù.
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù.
4. ȯºÒ
¹ÞÀ¸½Å ³¯ºÎÅÍ 2ÀÏ À̳»·Î Àüȳª 1:1 °Ô½Ã±Û·Î Àû¾îÁÖ¼Å¾ß °¡´ÉÇϽʴϴÙ.
5. ÁÖÀÇ
°í°´´Ô º¯½ÉÀ¸·Î ÀÎÇÑ ±³È¯/¹ÝÇ°/ȯºÒ °í°´´Ô²²¼ Åùèºñ(¿Õº¹Åùèºñ)¸¦ ºÎ´ãÀÌ µÇ´Ï ÀÌÁ¡ À¯ÀÇÇØ ÁֽʽÿÀ. ¶ÇÇÑ °ÀÇÅ×ÀÙ/¾ãÀº¹®Á¦Áý/ºñ´ÒÆ÷ÀåµÈÁ¦Ç°µîÀº Çѹø ±¸¸ÅÇÏ½Ã¸é ±³È¯/¹ÝÇ°/ȯºÒÀÌ ÀüÇô ¾ÈµË´Ï´Ù. ½ÅÁßÈ÷ »ý°¢Çϼż ±¸¸Å ºÎŹµå¸³´Ï´Ù. ´Ù¸¸ ºÒ·®Å×ÀÙÀÇ °æ¿ì ±× ºÒ·®ÀÌ µÈ °³º°Å×ÀÙÀ» À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î A/S¸¦ Çص帳´Ï´Ù.
6. ÁÖ¹®Ãë¼Ò, ±³È¯, ¹ÝÇ° ¹× ȯºÒÀº ´çÀÏ 5½Ã ÀÌÀü¿¡ ÇØÁÖ¼Å¾ß °¡´ÉÇÕ´Ï´Ù.
±× ÀÌÈÄ´Â ¹è¼Û µî¿¡ µû¸¥ Á¦ºñ¿ëÀ» ºÎ´ãÇÏ¼Å¾ß ÇÕ´Ï´Ù.