ÄÜÅÙÃ÷ »ó¼¼º¸±â
Ŭ¶ó¿ìµå ³×ÀÌƼºê ½ºÇÁ¸µ ÀÎ ¾×¼Ç


Ŭ¶ó¿ìµå ³×ÀÌƼºê ½ºÇÁ¸µ ÀÎ ¾×¼Ç

Ŭ¶ó¿ìµå ³×ÀÌƼºê ½ºÇÁ¸µ ÀÎ ¾×¼Ç

<Å丶½º ºñÅ»·¹> Àú/<Â÷°Çȸ> ¿ª | Á¦ÀÌÆà

Ãâ°£ÀÏ
2024-06-14
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
21 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

Ŭ¶ó¿ìµå ȯ°æ¿¡ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÏ´Â È¿°úÀûÀÎ ¹æ¹ý

Ŭ¶ó¿ìµå ±â¼úÀÌ ¹ß´ÞÇϸ鼭 ¸¹Àº ¾ÖÇø®ÄÉÀ̼ÇÀÌ Å¬¶ó¿ìµå¿¡¼­ ¼­ºñ½ºµÇ°í ÀÖ´Ù. ÀÌ Ã¥¿¡¼­´Â °¡»óÀÇ ¿Â¶óÀÎ ¼­Á¡ ½Ã½ºÅÛÀ» °³¹ßÇϸç Ŭ¶ó¿ìµå ȯ°æ¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾î¶»°Ô ±¸ÃàÇÏ´ÂÁö »ó¼¼È÷ ¼³¸íÇÑ´Ù. ½ºÇÁ¸µÀ¸·Î Ŭ¶ó¿ìµå ³×ÀÌƼºê ¾ÛÀ» ºôµå ¹× Å×½ºÆ®ÇÏ°í, µµÄ¿·Î ÄÁÅ×À̳ÊÈ­Çϸç, Äí¹ö³×Ƽ½º·Î ÆÛºí¸¯ Ŭ¶ó¿ìµå¿¡ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. Ŭ¶ó¿ìµå ³×ÀÌƼºê ȯ°æ°ú °³¹ß ¿øÄ¢¿¡ ´ëÇÑ ÀÌÇغÎÅÍ ½ÃÀÛÇÏ¿© ¸ð¹ü »ç·Ê¿Í µðÀÚÀÎ ÆÐÅÏÀ» ÇнÀÇÏ°í, Àß ¾Ë·ÁÁöÁö ¾ÊÀº ÆÁ°ú ¿ä·ÉÀ» ¹è¿ö ¹®Á¦¾øÀÌ Å¬¶ó¿ìµå ³×ÀÌƼºê °³¹ßÀ» ÁøÇàÇϵµ·Ï µ½´Â´Ù. ³ª¾Æ°¡ º¸¾È, º¹¿ø·Â, È®À强 󸮿¡ ´ëÇØ ÀÌÇØÇÏ°í Áö¼ÓÀû ¹èÆ÷¿Í ±ê¿É½º±îÁö ½Ç½ÀÇغ»´Ù. Á¡Á¡ ´õ º¹ÀâÇØÁö´Â Ŭ¶ó¿ìµå ȯ°æÀ» Ž»öÇÏ´Â µ¥ ¿Ïº®ÇÑ ÀÔ¹®¼­°¡ µÉ °ÍÀÌ´Ù.

ÀúÀÚ¼Ò°³

º¹¿ø·Â ÀÖ°í ¾ÈÀüÇÑ Å¬¶ó¿ìµå ³×ÀÌƼºê ¿£ÅÍÇÁ¶óÀÌÁî ¾ÖÇø®ÄÉÀÌ¼Ç ±¸ÃàÀ» Àü¹®À¸·Î ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌÀÚ ¾ÆÅ°ÅØÆ®´Ù. µ§¸¶Å©ÀÇ Systematic¿¡¼­ ¼ÒÇÁÆ®¿þ¾î ¼³·ç¼ÇÀÇ ¼³°è ¹× °³¹ßÀ» ´ã´çÇÏ°í ÀÖÀ¸¸ç, °³¹ßÀÚ °æÇè°ú º¸¾È¿¡ ÁßÁ¡À» µÎ°í Ŭ¶ó¿ìµå ³×ÀÌƼºê ȯ°æÀ» À§ÇÑ Ç÷§Æû ¹× ¾ÖÇø®ÄÉÀÌ¼Ç Çö´ëÈ­ ÀÛ¾÷À» ÇØ¿Ô´Ù. ÁÖ¿ä °ü½É»ç ¹× Àü¹® ºÐ¾ß´Â ÀÚ¹Ù, ½ºÇÁ¸µ ºÎÆ®, Äí¹ö³×Ƽ½º, ÄÉÀ̳×ÀÌƼºê ¹× Ŭ¶ó¿ìµå ³×ÀÌƼºê ±â¼ú Àü¹ÝÀÌ´Ù. Áö¼ÓÀû Àü´Þ °üÇàÀ» ÁöÁöÇϸç ÇÔ²² Çù·ÂÇÏ´Â Çù¾÷ ¹®È­¸¦ ÅëÇØ »ç¿ëÀÚ, °í°´, ºñÁî´Ï½º¿¡ °¡Ä¡¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù°í ¹Ï°í ÀÖÀ¸¸ç, ½ºÇÁ¸µ º¸¾È ¹× ½ºÇÁ¸µ Ŭ¶ó¿ìµå¿Í °°Àº ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡ ±â¿©ÇÏ°í Ä¿¹Â´ÏƼ¿¡¼­ Áö½ÄÀ» ³ª´©´Â °Íµµ ÁÁ¾ÆÇÑ´Ù.

¸ñÂ÷

¿Å±äÀÌ ¸Ó¸®¸» xv
º£Å¸¸®´õ Èıâ xviii
Ãßõ ¼­¹®(Á¶½Ã ·Õ) xx
¸Ó¸®¸» xxii
°¨»çÀÇ ±Û xxiv
ÀÌ Ã¥¿¡ ´ëÇÏ¿© xxvi
Ç¥Áö¿¡ ´ëÇÏ¿© xxxii

PART I Ŭ¶ó¿ìµå ³×ÀÌƼºê °³¿ä
CHAPTER 1 Ŭ¶ó¿ìµå ³×ÀÌƼºê ¼Ò°³ 3
1.1 Ŭ¶ó¿ìµå ³×ÀÌƼºê¶õ ¹«¾ùÀΰ¡? 5
__1.1.1 Ŭ¶ó¿ìµå ³×ÀÌƼºê¿¡¼­ÀÇ ¼¼ °¡Áö P 5
1.2 Ŭ¶ó¿ìµå¿Í Ŭ¶ó¿ìµå ÄÄÇ»Æà ¸ðµ¨ 6
__1.2.1 ¼­ºñ½ºÇü ÀÎÇÁ¶ó½ºÆ®·°Ã³ 9 / 1.2.2 ¼­ºñ½ºÇü ÄÁÅ×ÀÌ³Ê 9 / 1.2.3 ¼­ºñ½ºÇü Ç÷§Æû 10 / 1.2.4 ¼­ºñ½ºÇü ÇÔ¼ö 10 / 1.2.5 ¼­ºñ½ºÇü ¼ÒÇÁÆ®¿þ¾î 11
1.3 Ŭ¶ó¿ìµå ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼ÇÀÇ Æ¯¼º 11
__1.3.1 È®À强 12 / 1.3.2 ´À½¼ÇÑ °áÇÕ 13 / 1.3.3 º¹¿ø·Â 15 / 1.3.4 °üÃø °¡´É¼º 16 / 1.3.5 °ü¸® ¿ëÀ̼º 17
1.4 Ŭ¶ó¿ìµå ³×ÀÌƼºê¸¦ Áö¿øÇÏ´Â ¹®È­ ¹× °üÇà 18
__1.4.1 ÀÚµ¿È­ 19 / 1.4.2 Áö¼ÓÀû Àü´Þ 21 / 1.4.3 µ¥ºê¿É½º 22
1.5 Ŭ¶ó¿ìµå°¡ ÃÖ¼±ÀÇ ¼±ÅÃÀΰ¡? 24
__1.5.1 ¼Óµµ 25 / 1.5.2 º¹¿ø·Â 26 / 1.5.3 È®À强 27 / 1.5.4 ºñ¿ë 27
1.6 Ŭ¶ó¿ìµå ³×ÀÌƼºê ±¸¼º 28
__1.6.1 ÄÁÅ×ÀÌ³Ê 29 / 1.6.2 ¿ÀÄɽºÆ®·¹ÀÌ¼Ç 32 / 1.6.3 ¼­¹ö¸®½º 33
1.7 Ŭ¶ó¿ìµå ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¾ÆÅ°ÅØó 35
__1.7.1 ´ÙÁß °èÃþ¿¡¼­ ¸¶ÀÌÅ©·Î¼­ºñ½º ¾ÆÅ°ÅØó±îÁö ±×¸®°í ±× ÀÌÈÄ 36 / 1.7.2 Ŭ¶ó¿ìµå ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¼­ºñ½º ±â¹Ý ¾ÆÅ°ÅØó 38
¿ä¾à 40

CHAPTER 2 Ŭ¶ó¿ìµå ³×ÀÌƼºê ÆÐÅÏ ¹× ±â¼ú 42
2.1 Ŭ¶ó¿ìµå ³×ÀÌƼºê °³¹ß ¿øÄ¢: 12¿ä¼Ò¿Í È®Àå 43
__2.1.1 ÇϳªÀÇ Äڵ庣À̽º, ÇϳªÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç 44 / 2.1.2 API ¿ì¼± 44 / 2.1.3 ÀÇÁ¸¼º °ü¸® 44 / 2.1.4 ¼³°è, ºôµå, ¸±¸®½º, ½ÇÇà 45 / 2.1.5 ¼³Á¤, Å©¸®µ§¼È ¹× ÄÚµå 45 / 2.1.6 ·Î±× 46 / 2.1.7 ÀÏȸ¼º 46 / 2.1.8 Áö¿ø ¼­ºñ½º 47 / 2.1.9 ȯ°æ µ¿Àϼº 47 / 2.1.10 °ü¸® ÇÁ·Î¼¼½º 47 / 2.1.11 Æ÷Æ® ¹ÙÀεù 48 / 2.1.12 »óŸ¦ °®Áö ¾Ê´Â ÇÁ·Î¼¼½º 48 / 2.1.13 µ¿½Ã¼º 49 / 2.1.14 ¿ø°Ý ÃøÁ¤ 49 / 2.1.15 ÀÎÁõ ¹× ½ÂÀÎ 49
2.2 ½ºÇÁ¸µÀ» »ç¿ëÇÑ Å¬¶ó¿ìµå ³×ÀÌƼºê ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà 50
__2.2.1 ½ºÇÁ¸µ °³¿ä 50 / 2.2.2 ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà 51
2.3 µµÄ¿¸¦ ÅëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅ×À̳ÊÈ­ 62
__2.3.1 µµÄ¿ ¼Ò°³: À̹ÌÁö ¹× ÄÁÅ×ÀÌ³Ê 63 / 2.3.2 ÄÁÅ×À̳ʸ¦ ÅëÇÑ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà 66
2.4 Äí¹ö³×Ƽ½º·Î ÄÁÅ×ÀÌ³Ê °ü¸® 68
__2.4.1 Äí¹ö³×Ƽ½º ¼Ò°³: ¹èÆ÷, Æĵå, ¼­ºñ½º 69 / 2.4.2 Äí¹ö³×Ƽ½º¿¡¼­ ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà 71
2.5 Æú¶ó ºÏ¼ó: Ŭ¶ó¿ìµå ³×ÀÌƼºê ¾ÖÇø®ÄÉÀÌ¼Ç 75
__2.5.1 ½Ã½ºÅÛ ¿ä±¸ »çÇ× ÀÌÇØ 75 / 2.5.2 ÇÁ·ÎÁ§Æ®¿¡¼­ »ç¿ëµÇ´Â ÆÐÅÏ°ú ±â¼ú 78
¿ä¾à 82

PART II Ŭ¶ó¿ìµå ³×ÀÌƼºê °³¹ß
CHAPTER 3 Ŭ¶ó¿ìµå ³×ÀÌƼºê °³¹ß ½ÃÀÛ 87

3.1 Ŭ¶ó¿ìµå ³×ÀÌƼºê ÇÁ·ÎÁ§Æ® ºÎÆ®½ºÆ®·¡ÇÎ 88
__3.1.1 ÇϳªÀÇ Äڵ庣À̽º, ÇϳªÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç 88 / 3.1.2 ±×·¡µé°ú ¸ÞÀ̺ìÀÇ ÀÇÁ¸¼º °ü¸® 90
3.2 ÀÓº£µðµå ¼­¹ö·Î ÀÛ¾÷ 92
__3.2.1 ½ÇÇà °¡´ÉÇÑ JAR ¹× ÀÓº£µðµå ¼­¹ö 93 / 3.2.2 ¿äû´ç ½º·¹µå ¸ðµ¨ ÀÌÇØ 95 / 3.2.3 ³»Àå ÅèĹ ¼³Á¤ 97
3.3 ½ºÇÁ¸µ MVC¸¦ ÀÌ¿ëÇÑ RESTful ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà 100
__3.3.1 REST API¸¦ ¸ÕÀú, ºñÁî´Ï½º ·ÎÁ÷Àº ±×´ÙÀ½ 100 / 3.3.2 ½ºÇÁ¸µ MVC¸¦ ÀÌ¿ëÇÑ REST API ±¸Çö 106 / 3.3.3 µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç ¹× ¿À·ù ó¸® 109 / 3.3.4 ¹Ì·¡ ¿ä±¸ »çÇ×À» À§ÇØ ÁøÈ­ÇÏ´Â API 114
3.4 ½ºÇÁ¸µ RESTful ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® 115
__3.4.1 JUnit 5¸¦ ÀÌ¿ëÇÑ ´ÜÀ§ Å×½ºÆ® 117 / 3.4.2 @SpringBootTest¸¦ ÅëÇÑ ÅëÇÕ Å×½ºÆ® 119 / 3.4.3 @WebMvcTest¸¦ »ç¿ëÇÑ REST ÄÁÆ®·Ñ·¯ÀÇ Å×½ºÆ® 122 / 3.4.4 @JsonTest¸¦ »ç¿ëÇÑ JSON Á÷·ÄÈ­ Å×½ºÆ® 124
3.5 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: ºôµå ¹× Å×½ºÆ® 126
__3.5.1 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎÀÇ Ä¿¹Ô ´Ü°è ÀÌÇØ 127 / 3.5.2 ±êÇãºê ¾×¼ÇÀ» ÀÌ¿ëÇÑ Ä¿¹Ô ´Ü°è ±¸Çö 129
¿ä¾à 133

CHAPTER 4 ¿ÜºÎÈ­ ¼³Á¤ °ü¸® 136M
4.1 ½ºÇÁ¸µ ¼³Á¤ : ¼Ó¼º°ú ÇÁ·ÎÆÄÀÏ 139
__4.1.1 ¼Ó¼º: ¼³Á¤À» À§ÇÑ Å°-°ª ½Ö 140 / 4.1.2 ÇÁ·ÎÆÄÀÏ: ±â´É Ç÷¡±×¿Í ¼³Á¤ ±×·ì 146
4.2 ¿ÜºÎÈ­µÈ ±¸¼º: ÇϳªÀÇ ºôµå, ¿©·¯ ¼³Á¤ 150
__4.2.1 Ä¿¸Çµå¶óÀÎ Àμö¸¦ ÅëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤ 152 / 4.2.2 JVM ½Ã½ºÅÛ ¼Ó¼ºÀ» ÅëÇØ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 152 / 4.2.3 ȯ°æ º¯¼ö¸¦ ÅëÇØ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 153
4.3 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö·Î Áß¾Ó½Ä ¼³Á¤ °ü¸®Çϱâ 155
__4.3.1 ±êÀ» ÅëÇÑ ¼³Á¤ µ¥ÀÌÅÍ ÀúÀå 158 / 4.3.2 ¼³Á¤ ¼­¹ö ±¸¼º 160 / 4.3.3 º¹¿ø·Â ³ôÀº ¼³Á¤ ¼­¹ö »ý¼º 164 / 4.3.4 ¼³Á¤ ¼­¹ö REST API ÀÌÇØ 166
4.4 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× Å¬¶óÀ̾ðÆ®·Î ¼³Á¤ ¼­¹ö »ç¿ë 168
__4.4.1 ¼³Á¤ Ŭ¶óÀ̾ðÆ® ±¸Ãà 168 / 4.4.2 ³»°áÇÔ¼ºÀÌ ³ôÀº ¼³Á¤ Ŭ¶óÀ̾ðÆ®ÀÇ ±¸Ãà 171 / 4.4.3 ·±Å¸ÀÓ ½Ã ¼³Á¤ »õ·Î°íħ 173
¿ä¾à 176

CHAPTER 5 Ŭ¶ó¿ìµå¿¡¼­ µ¥ÀÌÅÍ ÀúÀå°ú °ü¸® 178
5.1 Ŭ¶ó¿ìµå ³×ÀÌƼºê ½Ã½ºÅÛÀ» À§ÇÑ µ¥ÀÌÅͺ£À̽º 179
__5.1.1 Ŭ¶ó¿ìµå¿¡¼­ÀÇ µ¥ÀÌÅÍ ¼­ºñ½º 180 / 5.1.2 PostgreSQLÀ» ÄÁÅ×À̳ʷΠ½ÇÇà 183
5.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ¿¡ ´ëÇÑ µ¥ÀÌÅÍ Áö¼Ó¼º JDBC 185
__5.2.1 JDBC·Î µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°á 187 / 5.2.1 ½ºÇÁ¸µ µ¥ÀÌÅ͸¦ ÅëÇÑ Áö¼Ó¼º ¿£Æ¼Æ¼ Á¤ÀÇ 190 / 5.2.3 JDBC °¨»ç È°¼ºÈ­¿Í ¼³Á¤ 195 / 5.2.4 ½ºÇÁ¸µ µ¥ÀÌÅÍÀÇ µ¥ÀÌÅÍ ¸®Æ÷ÁöÅ͸® 198
5.3 ½ºÇÁ¸µ ¹× Å×½ºÆ®ÄÁÅ×À̳ʷΠµ¥ÀÌÅÍ Áö¼Ó¼º Å×½ºÆ®Çϱâ 202
__5.3.1 PostgreSQLÀ» À§ÇÑ Å×½ºÆ®ÄÁÅ×ÀÌ³Ê ¼³Á¤ 203 / 5.3.2 @DataJdbcTest ¹× Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÅëÇÑ µ¥ÀÌÅÍ Áö¼Ó¼º Å×½ºÆ® 205 / 5.3.3 @SpringBootTest ¹× Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÀÌ¿ëÇÑ ÅëÇÕ Å×½ºÆ® 206
5.4 ÇöóÀÌ¿þÀ̸¦ ÅëÇÑ ÇÁ·Î´ö¼Ç ȯ°æ¿¡¼­ÀÇ µ¥ÀÌÅͺ£À̽º °ü¸® 207
__5.4.1 ÇöóÀÌ¿þÀÌ ÀÌÇØ: µ¥ÀÌÅͺ£À̽º ¹öÀü °ü¸® 208 / 5.4.2 ÇöóÀÌ¿þÀ̸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ½ºÅ°¸¶ ÃʱâÈ­ 210 / 5.4.3 ÇöóÀÌ¿þÀ̸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ÁøÈ­ 211
¿ä¾à 213

CHAPTER 6 ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×À̳ÊÈ­ 215
6.1 µµÄ¿¿¡¼­ ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ÀÛ¾÷Çϱâ 216
__6.1.1 ÄÁÅ×ÀÌ³Ê À̹ÌÁö ÀÌÇØ 217 / 6.1.2 µµÄ¿ÆÄÀÏÀ» ÅëÇÑ À̹ÌÁö »ý¼º 218 / 6.1.3 ±êÇãºê ÄÁÅ×ÀÌ³Ê ÀúÀå¼Ò·Î À̹ÌÁö ÀúÀå 222
6.2 ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÁÅ×ÀÌ³Ê À̹ÌÁö·Î ÆÐÅ°Áö 226
__6.2.1 ½ºÇÁ¸µ ºÎÆ®ÀÇ ÄÁÅ×À̳ÊÈ­¸¦ À§ÇÑ Áغñ 226 / 6.2.2 µµÄ¿ÆÄÀÏ·Î ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×À̳ÊÈ­ 229 / 6.2.3 ÇÁ·Î´ö¼ÇÀ» À§ÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö ºôµå 231 / 6.2.4 Ŭ¶ó¿ìµå ³×ÀÌƼºê ºôµåÆÑÀ» ÀÌ¿ëÇÑ ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×À̳ÊÈ­ 237
6.3 µµÄ¿ ÄÄÆ÷Á ÅëÇÑ ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×À̳ÊÀÇ °ü¸® 242
__6.3.1 µµÄ¿ ÄÄÆ÷Á ÅëÇÑ ÄÁÅ×ÀÌ³Ê ¶óÀÌÇÁ»çÀÌŬ °ü¸® 243 / 6.3.2 ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×ÀÌ³Ê µð¹ö±ë 244
6.4 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: ÆÐÅ°Áö ¹× µî·Ï 247
__6.4.1 Ä¿¹Ô ´Ü°è¿¡¼­ ¸±¸®½º Èĺ¸ ºôµå 248 / 6.4.2 ±êÇãºê ¾×¼ÇÀ» ÅëÇÑ ÄÁÅ×ÀÌ³Ê À̹ÌÁö µî·Ï 249
¿ä¾à 254

CHAPTER 7 ½ºÇÁ¸µ ºÎÆ®¸¦ À§ÇÑ Äí¹ö³×Ƽ½º ±âÃÊ 256
7.1 µµÄ¿¿¡¼­ Äí¹ö³×Ƽ½º·ÎÀÇ À̵¿ 257
__7.1.1 ·ÎÄà Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ 259 / 7.1.2 ·ÎÄà Ŭ·¯½ºÅÍ¿¡¼­ µ¥ÀÌÅÍ ¼­ºñ½º °ü¸® 261
7.2 ½ºÇÁ¸µ ºÎÆ®¸¦ À§ÇÑ Äí¹ö³×Ƽ½º ¹èÆ÷ 263
__7.2.1 ÄÁÅ×À̳ʿ¡¼­ Æĵå·Î 263 / 7.2.2 ¹èÆ÷¸¦ ÅëÇÑ Æĵå Á¦¾î 264 / 7.2.3 ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¹èÆ÷ °´Ã¼ »ý¼º 265
7.3 ¼­ºñ½º °Ë»ö ¹× ºÎÇÏ ºÐ»ê 271
__7.3.1 ¼­ºñ½º °Ë»ö ¹× ºÎÇÏ ºÐ»êÀÇ ÀÌÇØ 271 / 7.3.2 Ŭ¶óÀ̾ðÆ® Ãø ¼­ºñ½º °Ë»ö ¹× ºÎÇÏ ºÐ»ê 272 / 7.3.3 ¼­¹ö Ãø ¼­ºñ½º °Ë»ö ¹× ºÎÇÏ ºÐ»ê 274 / 7.3.4 Äí¹ö³×Ƽ½º ¼­ºñ½º¸¦ ÅëÇÑ ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ³ëÃâ 276
7.4 È®À强°ú ÀÏȸ¼º 279
__7.4.1 ÀÏȸ¼ºÀ» À§ÇÑ Á¶°Ç: ºü¸¥ ½ÃÀÛ 280 / 7.4.2 ÀÏȸ¼ºÀ» À§ÇÑ Á¶°Ç: ¿ì¾ÆÇÑ Á¾·á 280 / 7.4.3 ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç È®Àå 283
7.5 Æ¿Æ®¸¦ »ç¿ëÇÑ ·ÎÄà Äí¹ö³×Ƽ½º °³¹ß 286
__7.5.1 Æ¿Æ®¸¦ »ç¿ëÇÑ ³»ºÎ °³¹ß ·çÇÁ 286 / 7.5.2 ¿ÁźƮ¸¦ »ç¿ëÇÑ Äí¹ö³×Ƽ½º ¿öÅ©·Îµå ½Ã°¢È­ 289
7.6 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: Äí¹ö³×Ƽ½º ¸Å´ÏÆ佺Ʈ À¯È¿¼º °Ë»ç 292
__7.6.1 Ä¿¹Ô ´Ü°è¿¡¼­ Äí¹ö³×Ƽ½º ¸Å´ÏÆ佺Ʈ °ËÁõ 292 / 7.6.2 ±êÇãºê ¾×¼ÇÀ» ÅëÇÑ Äí¹ö³×Ƽ½º ¸Å´ÏÆ佺Ʈ À¯È¿¼º °Ë»ç ÀÚµ¿È­ 294
¿ä¾à 295

PART III Ŭ¶ó¿ìµå ³×ÀÌƼºê ºÐ»ê ½Ã½ºÅÛ
CHAPTER 8 ¸®¾×Ƽºê ½ºÇÁ¸µ: º¹¿ø·Â°ú È®À强 299

8.1 ¸®¾×ÅÍ¿Í ½ºÇÁ¸µÀÇ ºñµ¿±â ¹× ºñÂ÷´Ü ¾ÆÅ°ÅØó 301
__8.1.1 ¿äû´ç ½º·¹µå¿¡¼­ À̺¥Æ® ·çÇÁ·Î 302 / 8.1.2 ÇÁ·ÎÁ§Æ® ¸®¾×ÅÍ: ¸ð³ë¿Í Ç÷°½º¸¦ °®´Â ¸®¾×Ƽºê ½ºÆ®¸² 304 / 8.1.3 ½ºÇÁ¸µ ¸®¾×Ƽºê ½ºÅà ÀÌÇØ 306
8.2 ½ºÇÁ¸µ À¥Ç÷°½º¿Í ½ºÇÁ¸µ µ¥ÀÌÅÍ R2DBC¸¦ °®´Â ¸®¾×Ƽºê ¼­¹ö 307
__8.2.1 ½ºÇÁ¸µ ºÎÆ®¸¦ ÅëÇÑ ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀÌ¼Ç ºÎÆ®½ºÆ®·¡ÇÎ 309 / 8.2.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ R2DBC¸¦ »ç¿ëÇÑ ¸®¾×Ƽºê µ¥ÀÌÅÍ Áö¼Ó¼º 311 / 8.2.3 ¸®¾×Ƽºê ½ºÆ®¸²À» ÀÌ¿ëÇÑ ºñÁî´Ï½º ·ÎÁ÷ ±¸Çö 318 / 8.2.4 ½ºÇÁ¸µ À¥Ç÷°½º·Î REST API ³ëÃâ 321
8.3 ½ºÇÁ¸µ À¥ Ŭ¶óÀ̾ðÆ®¸¦ »ç¿ëÇÑ ¸®¾×Ƽºê Ŭ¶óÀ̾ðÆ® 323
__8.3.1 ½ºÇÁ¸µ¿¡¼­ ¼­ºñ½º °£ Åë½Å 324 / 8.3.2 µ¥ÀÌÅÍ ±³È¯ ¹æ¹ý¿¡ ´ëÇÑ ÀÌÇØ 326 / 8.3.3 À¥ Ŭ¶óÀ̾ðÆ®¸¦ ÅëÇÑ REST Ŭ¶óÀ̾ðÆ® ±¸Çö 328
8.4 ¸®¾×Ƽºê ½ºÇÁ¸µÀ» ÅëÇÑ º¹¿ø·Â ³ôÀº ¾ÖÇø®ÄÉÀÌ¼Ç 332
__8.4.1 ŸÀӾƿô 332 / 8.4.2 Àç½Ãµµ 336 / 8.4.3 Æú¹é ¹× ¿À·ù ó¸® 339
8.5 ½ºÇÁ¸µ, ¸®¾×ÅÍ, Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÀÌ¿ëÇÑ ¸®¾×Ƽºê ¾ÖÇø®ÄÉÀ̼ÇÀÇ Å×½ºÆ® 341
__8.5.1 ¸ðÀÇ À¥ ¼­¹ö·Î REST Ŭ¶óÀ̾ðÆ® Å×½ºÆ® 341 / 8.5.2 @DataR2dbcTest ¹× Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ Áö¼Ó¼º Å×½ºÆ® 344 / 8.5.3 @WebFluxTest¸¦ ÀÌ¿ëÇÑ REST ÄÁÆ®·Ñ·¯ Å×½ºÆ® 346
¿ä¾à 348

CHAPTER 9 API °ÔÀÌÆ®¿þÀÌ¿Í ¼­Å¶ ºê·¹ÀÌÄ¿ 350
9.1 ¿¡Áö ¼­¹ö¿Í ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ 352
__9.1.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ ÀÌ¿ëÇÑ ¿¡Áö ¼­¹ö ºÎÆ®½ºÆ®·¡ÇÎ 354 / 9.1.2 °æ·Î¿Í ¼ú¾îÀÇ Á¤ÀÇ 356 / 9.1.3 ÇÊÅ͸¦ ÅëÇÑ ¿äû ¹× ÀÀ´ä ó¸® 360
9.2 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¼­Å¶ ºê·¹ÀÌÄ¿¿Í Resilience4J·Î ³»°áÇÔ¼º °³¼±Çϱâ 362
__9.2.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¼­Å¶ ºê·¹ÀÌÄ¿¸¦ ÅëÇÑ ¼­Å¶ ºê·¹ÀÌÄ¿ ¼Ò°³ 364 / 9.2.2 Resilience4J ¼­Å¶ ºê·¹ÀÌÄ¿ ¼³Á¤ 365 / 9.2.3 ½ºÇÁ¸µ À¥Ç÷°½º¸¦ ÀÌ¿ëÇÑ Æú¹é REST API Á¤ÀÇ 366 / 9.2.4 ¼­Å¶ ºê·¹ÀÌÄ¿, Àç½Ãµµ ¹× ½Ã°£ Á¦ÇÑÀÇ °áÇÕ 367
9.3 ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ¿Í ·¹µð½º¸¦ ÅëÇÑ ¿äû »ç¿ë·ü Á¦ÇÑ 371
__9.3.1 ·¹µð½º ÄÁÅ×ÀÌ³Ê ½ÇÇà 372 / 9.3.2 ½ºÇÁ¸µ°ú ·¹µð½ºÀÇ ÅëÇÕ 373 / 9.3.3 ¿äû »ç¿ë·ü Á¦ÇÑ ¼³Á¤ 374
9.4 ·¹µð½º¸¦ ÅëÇÑ ºÐ»ê ¼¼¼Ç °ü¸® 377
__9.4.1 ½ºÇÁ¸µ ¼¼¼Ç µ¥ÀÌÅÍ ·¹µð½º¸¦ ÅëÇÑ ¼¼¼Ç ó¸® 378
9.5 Äí¹ö³×Ƽ½º Àα׷¹½º¸¦ ÅëÇÑ ¿ÜºÎ ¾×¼¼½º °ü¸® 382
__9.5.1 Àα׷¹½º API¿Í Àα׷¹½º ÄÁÆ®·Ñ·¯ ÀÌÇØ 382 / 9.5.2 Àα׷¹½º °´Ã¼ »ç¿ë 385
¿ä¾à 388

CHAPTER 10 À̺¥Æ® Á᫐ ¾ÖÇø®ÄÉÀ̼ǰú ÇÔ¼ö 390
10.1 À̺¥Æ® Á᫐ ¾ÆÅ°ÅØó 392
__10.1.1 À̺¥Æ® Á᫐ ¸ðµ¨ ÀÌÇØ 392 / 10.1.2 ¹ßÇàÀÚ/±¸µ¶ÀÚ ¸ðµ¨ÀÇ »ç¿ë 393
10.2 ¸Þ½ÃÁö ºê·ÎÄ¿¿Í ·¡ºøMQ 395
__10.2.1 ¸Þ½Ã¡ ½Ã½ºÅÛÀÇ AMQP ÀÌÇØ 396 / 10.2.2 ¹ßÇà/±¸µ¶ Åë½ÅÀ» À§ÇÑ ·¡ºøMQ »ç¿ë 397
10.3 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÇÔ¼ö¸¦ ÅëÇÑ ÇÔ¼ö 399
__10.3.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÇÔ¼öÀÇ ÇÔ¼öÀû Æз¯´ÙÀÓ »ç¿ë 400 / 10.3.2 ÇÔ¼öÀÇ ÇÕ¼º ¹× ÅëÇÕ: REST, ¼­¹ö¸®½º, µ¥ÀÌÅÍ ½ºÆ®¸² 406 / 10.3.3 @FunctionalSpringBootTest¸¦ ÅëÇÑ ÅëÇÕ Å×½ºÆ® 408
10.4 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸²À» ÅëÇÑ ¸Þ½ÃÁö ó¸® 410
__10.4.1 ·¡ºøMQ¿ÍÀÇ ÅëÇÕ ¼³Á¤ 410 / 10.4.2 ÇÔ¼öÀÇ ¸Þ½ÃÁö ä³Î ¹ÙÀεù 412 / 10.4.3 Å×½ºÆ® ¹ÙÀδõ¸¦ ÅëÇÑ ÅëÇÕ Å×½ºÆ® 419 / 10.4.4 ½ÇÆп¡ ´ëÇÑ ¸Þ½ÃÁö º¹¿ø·Â 422
10.5 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸²À» ÅëÇÑ ¸Þ½ÃÁö »ý¼º ¹× ¼Òºñ 423
__10.5.1 À̺¥Æ® ¼ÒºñÀÚ ±¸Çö ¹× ¸èµî¼º ¹®Á¦ 423 / 10.5.2 À̺¥Æ® »ý¼ºÀÚ ±¸Çö°ú ¿øÀÚ¼º ¹®Á¦ 427
¿ä¾à 433

CHAPTER 11 º¸¾È: ÀÎÁõ°ú SPA 435
11.1 ½ºÇÁ¸µ º¸¾È ±âÃÊ 436
11.2 ŰŬ·ÏÀ» ÅëÇÑ »ç¿ëÀÚ °èÁ¤ °ü¸® 441
__11.2.1 º¸¾È ¿µ¿ª Á¤ÀÇ 443 / 11.2.2 »ç¿ëÀÚ ¹× ¿ªÇÒ °ü¸® 444
11.3 ¿ÀÇÂID Ä¿³ØÆ®, JWT ¹× ŰŬ·ÏÀ» ÅëÇÑ ÀÎÁõ 445
__11.3.1 ¿ÀÇÂID Ä¿³ØÆ®¸¦ ÅëÇÑ »ç¿ëÀÚ ÀÎÁõ 446 / 11.3.2 JWT¸¦ ÅëÇÑ »ç¿ëÀÚ Á¤º¸ ±³È¯ 450 / 11.3.3 ŰŬ·Ï¿¡¼­ ¾ÖÇø®ÄÉÀÌ¼Ç µî·Ï 452
11.4 ½ºÇÁ¸µ º¸¾È ¹× ¿ÀÇÂID Ä¿³ØÆ®·Î »ç¿ëÀÚ ÀÎÁõ 455
__11.4.1 »õ ÀÇÁ¸¼º Ãß°¡ 456 / 11.4.2 ½ºÇÁ¸µ º¸¾È°ú ŰŬ·ÏÀÇ ÅëÇÕ ¼³Á¤ 457 / 11.4.3 ±âÃÊÀûÀÎ ½ºÇÁ¸µ º¸¾È ¼³Á¤ 458 / 11.4.4 ÀÎÁõµÈ »ç¿ëÀÚ ÄÜÅؽºÆ® °Ë»ç 460 / 11.4.5 ½ºÇÁ¸µ º¸¾È ¹× ŰŬ·Ï¿¡¼­ »ç¿ëÀÚ ·Î±×¾Æ¿ô ¼³Á¤ 464
11.5 ½ºÇÁ¸µ º¸¾È°ú SPA ÅëÇÕ 468
__11.5.1 ¾Þ±Ö·¯ ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà 469 / 11.5.2 ÀÎÁõ È帧 Á¦¾î 471 / 11.5.3 »çÀÌÆ® °£ ¿äû À§Á¶ ¹æÁö 474
11.6 ½ºÇÁ¸µ º¸¾È ¹× ¿ÀÇÂID Ä¿³ØÆ® Å×½ºÆ® 477
__11.6.1 OIDC ÀÎÁõ Å×½ºÆ® 477 / 11.6.2 CSRF Å×½ºÆ® 479
¿ä¾à 482

CHAPTER 12 º¸¾È: ±ÇÇÑ°ú °¨»ç 484
12.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ¿Í OAuth2¸¦ ÅëÇÑ ±ÇÇÑ°ú ¿ªÇÒ 485
__12.1.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ¿¡¼­ ´Ù¸¥ ¼­ºñ½º·ÎÀÇ ÅäÅ« Àü´Þ 488 / 12.1.2 ÅäÅ« »ç¿ëÀÚ ÁöÁ¤ ¹× »ç¿ëÀÚ ¿ªÇÒ ÀüÆÄ 491
12.2 ½ºÇÁ¸µ º¸¾È ¹× OAuth2¸¦ ÅëÇÑ API º¸È£(¸í·ÉÇü) 497
__12.2.1 ½ºÇÁ¸µ ºÎÆ® OAuth2 ¸®¼Ò½º ¼­¹ö º¸È£ 497 / 12.2.2 ½ºÇÁ¸µ º¸¾È ¹× JWT¸¦ ÅëÇÑ ¿ªÇÒ ±â¹Ý Á¢±Ù Á¦¾î 501 / 12.2.3 ½ºÇÁ¸µ º¸¾È ¹× Å×½ºÆ®ÄÁÅ×À̳ʸ¦ ÀÌ¿ëÇÑ OAuth2 Å×½ºÆ® 504
12.3 ½ºÇÁ¸µ º¸¾È°ú OAuth2¸¦ ÀÌ¿ëÇÑ API º¸È£(¹ÝÀÀÇü) 511
__12.3.1 ½ºÇÁ¸µ ºÎÆ® OAuth2 ¸®¼Ò½º ¼­¹ö º¸È£ 511 / 12.3.2 ½ºÇÁ¸µ º¸¾È ¹× Å×½ºÆ®ÄÁÅ×À̳ʷΠOAuth2 Å×½ºÆ® 514
12.4 ½ºÇÁ¸µ º¸¾È ¹× ½ºÇÁ¸µ µ¥ÀÌÅÍ·Î µ¥ÀÌÅÍ º¸È£ ¹× °¨»ç 516
__12.4.1 ½ºÇÁ¸µ º¸¾È ¹× ½ºÇÁ¸µ µ¥ÀÌÅÍ JDBC¸¦ »ç¿ëÇÑ µ¥ÀÌÅÍ °¨»ç 517 / 12.4.2 ½ºÇÁ¸µ µ¥ÀÌÅÍ¿Í @WithMockUser¸¦ ÅëÇÑ µ¥ÀÌÅÍ °¨»ç Å×½ºÆ® 520 / 12.4.3 ½ºÇÁ¸µ º¸¾È ¹× ½ºÇÁ¸µ µ¥ÀÌÅÍ R2DBC·Î »ç¿ëÀÚ µ¥ÀÌÅÍ º¸È£ 522 / 12.4.4 @WithMockUser ¹× ½ºÇÁ¸µ µ¥ÀÌÅÍ R2DBC¸¦ ÅëÇÑ µ¥ÀÌÅÍ °¨»ç ¹× º¸È£ Å×½ºÆ® 526
¿ä¾à 528

PART IV ÇÁ·Î´ö¼Ç¿¡¼­ÀÇ Å¬¶ó¿ìµå ³×ÀÌƼºê
CHAPTER 13 °üÃø °¡´É¼º ¹× ¸ð´ÏÅ͸µ 533

13.1 ½ºÇÁ¸µ ºÎÆ®, ·ÎÅ° ¹× Ç÷ç¾ðÆ® ºñÆ®¸¦ »ç¿ëÇÑ ·Î±ë 534
__13.1.1 ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÑ ·Î±ë 535 / 13.1.2 ·ÎÅ°, Ç÷ç¾ðÆ® ºñÆ®, ±×¶óÆijª·Î ·Î±× °ü¸®Çϱâ 538
13.2 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ¿Í Äí¹ö³×Ƽ½º¸¦ »ç¿ëÇÑ »óÅ ÇÁ·Îºê 544
__13.2.1 ¾×Ãß¿¡ÀÌÅ͸¦ ÅëÇÑ ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç »óÅ ÇÁ·Îºê Á¤ÀÇ 545 / 13.2.2 ½ºÇÁ¸µ ºÎÆ® ¹× Äí¹ö³×Ƽ½º¿¡¼­ »óÅ ÇÁ·Îºê ¼³Á¤ 548
13.3 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ, ÇÁ·Î¸ÞÅ׿콺, ±×¶óÆijª¸¦ ÅëÇÑ ¸ÞÆ®¸¯ ¹× ¸ð´ÏÅ͸µ 553
__13.3.1 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ ¹× ¸¶ÀÌÅ©·Î¹ÌÅÍ·Î ¸ÞÆ®¸¯ ¼³Á¤ 554 / 13.3.2 ÇÁ·Î¸ÞÅ׿콺¿Í ±×¶óÆijª¸¦ ÅëÇÑ ¸ÞÆ®¸¯ ¸ð´ÏÅ͸µ 557 / 13.3.3 Äí¹ö³×Ƽ½º¿¡¼­ ÇÁ·Î¸ÞÅ׿콺 ¸ÞÆ®¸¯ ¼³Á¤ 562
13.4 ¿ÀÇÂÅÚ·¹¸ÞÆ®¸® ¹× ÅÛÆ÷¸¦ »ç¿ëÇÑ ºÐ»ê ÃßÀû 563
__13.4.1 ÅÛÆ÷¿Í ±×¶óÆijª¸¦ ÅëÇÑ Æ®·¹À̽º °ü¸® 566 / 13.4.2 ¿ÀÇÂÅÚ·¹¸ÞÆ®¸®¸¦ »ç¿ëÇØ ½ºÇÁ¸µ ºÎÆ®¿¡¼­ ÃßÀû ±¸¼ºÇϱâ 567
13.5 ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅ͸¦ ÅëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç °ü¸® ¹× ¸ð´ÏÅ͸µ 572
__13.5.1 ½ºÇÁ¸µ ºÎÆ®¿¡¼­ ÇöóÀÌ¿þÀÌ ¸¶À̱׷¹ÀÌ¼Ç ¸ð´ÏÅ͸µ 573 / 13.5.2 ¾ÖÇø®ÄÉÀÌ¼Ç Á¤º¸ ³ëÃâ 574 / 13.5.3 Èü ´ýÇÁ »ý¼º ¹× ºÐ¼® 577
¿ä¾à 579

CHAPTER 14 ¼³Á¤°ú ½ÃÅ©¸´ °ü¸® 581
14.1 Äí¹ö³×Ƽ½º¿¡¼­ ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤Çϱâ 582
__14.1.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼¸¦ ÅëÇÑ ¼³Á¤ ¼­¹ö º¸¾È 583 / 14.1.2 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¹ö½º¸¦ ÅëÇÑ ·±Å¸ÀÓ ¼³Á¤ »õ·Î°íħ 584 / 14.1.3 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇDZ׸¦ ÅëÇÑ ½ÃÅ©¸´ °ü¸® 586 / 14.1.4 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ºñÈ°¼ºÈ­ 587
14.2 Äí¹ö³×Ƽ½º¿¡¼­ ÄÁÇDZ׸ʰú ½ÃÅ©¸´ »ç¿ë 588
__14.2.1 ÄÁÇDZ׸ÊÀ» ÅëÇÑ ½ºÇÁ¸µ ºÎÆ® ¼³Á¤ 589 / 14.2.2 ½ÃÅ©¸´À¸·Î ¹Î°¨ÇÑ Á¤º¸¸¦ ÀúÀåÇϰųª ÀúÀåÇÏÁö ¾Ê±â 594 / 14.2.3 ½ºÇÁ¸µ Ŭ¶ó¿ìµå Äí¹ö³×Ƽ½º¸¦ ÅëÇÑ ·±Å¸ÀÓ ¼³Á¤ °»½Å 597
14.3 Ä¿½ºÅ͸¶ÀÌÁ ÅëÇÑ ¼³Á¤ °ü¸® 600
__14.3.1 Ä¿½ºÅ͸¶ÀÌÁ ÅëÇÑ ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç °ü¸® ¹× ¼³Á¤ 601 / 14.3.2 Ä¿½ºÅ͸¶ÀÌÁ ÅëÇÑ ¿©·¯ ȯ°æ¿¡ ´ëÇÑ Äí¹ö³×Ƽ½º ¼³Á¤ °ü¸® 606 / 14.3.3 ½ºÅ×ÀÌ¡À» À§ÇÑ ¼³Á¤ ¿À¹ö·¹ÀÌ Á¤ÀÇ 609 / 14.3.4 ȯ°æ º¯¼ö »ç¿ëÀÚ ÁöÁ¤ º¯°æ 610 / 14.3.5 ÄÁÇÇ±×¸Ê »ç¿ëÀÚ Á¤ÀÇ º¯°æ 612 / 14.3.6 À̹ÌÁö À̸§ ¹× ¹öÀüÀÇ »ç¿ëÀÚ ÁöÁ¤ º¯°æ 613 / 14.3.7 º¹Á¦º» ¼ö »ç¿ëÀÚ ÁöÁ¤ º¯°æ 614
¿ä¾à 618

CHAPTER 15 Áö¼ÓÀû Àü´Þ°ú ±ê¿É½º 620
15.1 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: ¼ö¶ô ´Ü°è 621
__15.1.1 Áö¼ÓÀû ¹èÆ÷¸¦ À§ÇÑ ¸±¸®½º Èĺ¸ ¹öÀü ÁöÁ¤ 621 / 15.1.2 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ ¼ö¶ô ´Ü°èÀÇ ÀÌÇØ 626 / 15.1.3 ±êÇãºê ¾×¼ÇÀ¸·Î ¼ö¶ô ´Ü°è ±¸Çö 628
15.2 ÇÁ·Î´ö¼ÇÀ» À§ÇÑ ½ºÇÁ¸µ ºÎÆ® ¼³Á¤ 631
__15.2.1 ÇÁ·Î´ö¼ÇÀ» À§ÇÑ ¼³Á¤ ¿À¹ö·¹ÀÌ Á¤ÀÇ 632 / 15.2.2 ½ºÇÁ¸µ ºÎÆ® ÄÁÅ×ÀÌ³Ê CPU ¹× ¸Þ¸ð¸® ¼³Á¤ 638 / 15.2.3 ÇÁ·Î´ö¼Ç ȯ°æ¿¡ ½ºÇÁ¸µ ºÎÆ® ¹èÆ÷ 644
15.3 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: ÇÁ·Î´ö¼Ç ´Ü°è 646
__15.3.1 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎÀÇ ÇÁ·Î´ö¼Ç ´Ü°è ÀÌÇØ 647 / 15.3.2 ±êÇãºê ¾×¼ÇÀ» ÅëÇÑ ÇÁ·Î´ö¼Ç ´Ü°è ±¸Çö 647
15.4 ±ê¿É½º¸¦ »ç¿ëÇÑ Áö¼ÓÀû ¹èÆ÷ 654
__15.4.1 ¾Æ¸£°í CD·Î ±ê¿É½º ±¸Çö 656 / 15.4.2 Á¾ÇÕÇϱâ 660
¿ä¾à 662

CHAPTER 16 ¼­¹ö¸®½º, ±×¶öVM ¹× ÄÉÀ̳×ÀÌƼºê 664
16.1 ½ºÇÁ¸µ ³×ÀÌƼºê ¹× ±×¶öVMÀ» »ç¿ëÇÑ ³×ÀÌƼºê À̹ÌÁö 665
__16.1.1 ±×¶öVM°ú ³×ÀÌƼºê À̹ÌÁö ÀÌÇØÇϱâ 666 / 16.1.2 ½ºÇÁ¸µ ³×ÀÌƼºê¸¦ ÅëÇÑ ±×¶öVMÀÇ ½ºÇÁ¸µ ºÎÆ® Áö¿ø 667 / 16.1.3 ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ ³×ÀÌƼºê À̹ÌÁö ÄÄÆÄÀÏ 674
16.2 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÇÔ¼ö¸¦ »ç¿ëÇÑ ¼­¹ö¸®½º ¾ÖÇø®ÄÉÀÌ¼Ç 678
__16.2.1 ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÇÔ¼ö¸¦ ÅëÇÑ ¼­¹ö¸®½º ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà 679 / 16.2.2 ¹èÆ÷ ÆÄÀÌÇÁ¶óÀÎ: ºôµå ¹× µî·Ï 685 / 16.2.3 ¼­¹ö¸®½º ¾ÖÇø®ÄÉÀ̼ÇÀÇ Å¬¶ó¿ìµå ¹èÆ÷ 687
16.3 ÄÉÀ̳×ÀÌƼºê¸¦ ÅëÇÑ ¼­¹ö¸®½º ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ 688
__16.3.1 ·ÎÄà ÄÉÀ̳×ÀÌƼºê Ç÷§Æû ±¸Ãà 689 / 16.3.2 ÄÉÀ̳×ÀÌƼºê CLI·Î ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ 690 / 16.3.3 ÄÉÀ̳×ÀÌƼºê ¸Å´ÏÆ佺Ʈ¸¦ ÅëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ 692
¿ä¾à 696

APPENDIX ºÎ·Ï
APPENDIX A °³¹ß ȯ°æ ¼³Á¤ 701
A.1 ÀÚ¹Ù 701
A.2 µµÄ¿ 703
A.3 Äí¹ö³×Ƽ½º 705
A.4 ´Ù¸¥ Åø 707

APPENDIX B µðÁöÅпÀ¼Ç ÇÁ·Î´ö¼Ç ȯ°æÀ» À§ÇÑ Äí¹ö³×Ƽ½º 710
B.1 µðÁöÅпÀ¼Ç¿¡¼­ Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ½ÇÇà 711
B.2 µðÁöÅпÀ¼Ç¿¡¼­ PostgresQL µ¥ÀÌÅͺ£À̽º ½ÇÇà 715
B.3 µðÁöÅпÀ¼Ç¿¡¼­ ·¹µð½º ½ÇÇà 717
B.4 Äí¹ö³×Ƽ½º ¿ÀÆÛ·¹ÀÌÅ͸¦ ÅëÇÑ ·¡ºøMQ ½ÇÇà 719
B.5 Ç︧ Â÷Æ®¸¦ »ç¿ëÇÑ Å°Å¬·Ï ½ÇÇà 720
B.6 Æú¶ó UI ½ÇÇà 723
B.7 ¸ðµç Ŭ¶ó¿ìµå ¸®¼Ò½º »èÁ¦ 723

ã¾Æº¸±â 725