ÄÜÅÙÃ÷ »ó¼¼º¸±â
½Ç¹«¿¡ ¹Ù·Î ¾²´Â Go ¾ð¾î ÇÚÁî¿Â °¡À̵å


½Ç¹«¿¡ ¹Ù·Î ¾²´Â Go ¾ð¾î ÇÚÁî¿Â °¡À̵å

½Ç¹«¿¡ ¹Ù·Î ¾²´Â Go ¾ð¾î ÇÚÁî¿Â °¡À̵å

<¾Æ¹ÌÆ® »çÇÏ> Àú/<±èÂùºó> ¿ª | Á¦ÀÌÆà

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

ÄÜÅÙÃ÷ ¼Ò°³

Go ¾ð¾î °í·¾ÀÌ µÇ°í ½ÍÀº ¸ðµç °íÆÛ¸¦ À§ÇÑ Ã¥

Go ¾ð¾î¿¡ ÀÔ¹®ÇÏ°í Àç¹Ì¸¦ ¾Ë±â ½ÃÀÛÇߴµ¥ ½Ç¹«¿¡ Àû¿ëÇϱⰡ ¾î·Æ´Ù¸é ÀÌ Ã¥ÀÌ ¾È¼º¸ÂÃãÀÌ´Ù. Go ¾ð¾î·Î ¼ÒÇÁÆ®¿þ¾î ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ¸ç ½Ç¹«¿¡ ¹Ù·Î ¾²ÀÌ´Â ²ÜÆÁÀ» ¹è¿öº¸ÀÚ. Ä¿¸Çµå ¶óÀÎ µµ±¸, À¥ ¾ÖÇø®ÄÉÀ̼Ç, gRPC ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼ö ÀÖ´Â Áö½ÄÀ» µü ÇÊ¿äÇÑ ¸¸Å­ ¹è¿ï ¼ö ÀÖ´Ù. ½ÇÀü¿¡¼­ ¹ß»ýÇÒ ¸¸ÇÑ ¹®Á¦¸¦ ¼ÕÀ¸·Î Á÷Á¢ ÇØ°áÇسª°¡¸ç Go ·¹º§À» »ó½Â½ÃÅ°ÀÚ.

¸ñÂ÷

ÁöÀºÀÌ¡¤¿Å±äÀÌ ¼Ò°³ x
±â¼ú °¨¼öÀÚ ¼Ò°³ xi
¿Å±äÀÌ ¸Ó¸®¸» xii
º£Å¸¸®´õ Èıâ xiii
°¨»çÀÇ ±Û xv
ÀÌ Ã¥¿¡ ´ëÇÏ¿© xvi
½ÃÀÛÇϱâ xix

CHAPTER 1 Ä¿¸Çµå ¶óÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º 1

1.1 ù ¾ÖÇø®ÄÉÀÌ¼Ç 1
1.2 À¯´Ö Å×½ºÆ® ÀÛ¼º 10
1.3 Flag ÆÐÅ°Áö »ç¿ë 17
__1.3.1 Ç÷¡±× ÆÄ½Ì ·ÎÁ÷ Å×½ºÆ® 23
1.4 »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °³¼± 26
__1.4.1 Áߺ¹µÈ ¿À·ù ¸Þ½ÃÁö Á¦°Å 26
__1.4.2 »ç¿ë¹ý ¸Þ½ÃÁö »ç¿ëÀÚ Á¤ÀÇ 28
__1.4.3 À§Ä¡ Àμö¸¦ ÅëÇØ À̸§ ¹Þ±â 29
1.5 À¯´Ö Å×½ºÆ® ¾÷µ¥ÀÌÆ® 32
1.6 ¿ä¾à 37

CHAPTER 2 °í±Þ Ä¿¸Çµå ¶óÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç 38

2.1 ¼­ºêÄ¿¸Çµå ±¸Çö 38
__2.1.1 ¼­ºêÄ¿¸Çµå ÁÖµµ ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó 43
__2.1.2 ¸ÞÀÎ ÆÐÅ°Áö Å×½ºÆ® 49
__2.1.3 Cmd ÆÐÅ°Áö Å×½ºÆ® 52
2.2 °­°ÇÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º 54
__2.2.1 µ¥µå¶óÀÎÀ» »ç¿ëÇÑ »ç¿ëÀÚ ÀÔ·Â 55
__2.2.2 »ç¿ëÀÚ ½Ã±×³Î ó¸® 59
2.3 ¿ä¾à 64

CHAPTER 3 HTTP Ŭ¶óÀ̾ðÆ® ÀÛ¼º 65

3.1 µ¥ÀÌÅÍ ´Ù¿î·Îµå 65
__3.1.1 µ¥ÀÌÅÍ ´Ù¿î·Î´õ Å×½ºÆ® 67
3.2 ¼ö½Å µ¥ÀÌÅÍ ¿ªÁ÷·ÄÈ­ 69
3.3 µ¥ÀÌÅÍ ¼Û½Å 75
3.4 ¹ÙÀ̳ʸ® µ¥ÀÌÅÍ Ãë±Þ 82
3.5 ¿ä¾à 91

CHAPTER 4 °í±Þ HTTP Ŭ¶óÀ̾ðÆ® 92

4.1 Ä¿½ºÅÒ HTTP Ŭ¶óÀ̾ðÆ® »ç¿ë 92
__4.1.1 °úºÎÈ­ »óÅÂÀÇ ¼­¹ö¿¡¼­ ´Ù¿î·Îµå 92
__4.1.2 ŸÀӾƿô µ¿ÀÛ Å×½ºÆ® 97
__4.1.3 ¸®´ÙÀÌ·ºÆ® µ¿ÀÛ ¼³Á¤ 100
4.2 »ç¿ëÀÚ ¿äû Ä¿½ºÅ͸¶ÀÌ¡ 103
4.3 Ŭ¶óÀ̾ðÆ® ¹Ìµé¿þ¾î ±¸Çö 105
__4.3.1 RoundTripper ÀÎÅÍÆäÀ̽º ÀÌÇØ 106
__4.3.2 ·Î±ë ¹Ìµé¿þ¾î 107
__4.3.3 ¸ðµç ¿äû¿¡ Çì´õ Ãß°¡ 110
4.4 Ä¿³Ø¼Ç Ç®¸µ 113
__4.4.1 Ä¿³Ø¼Ç Ç® ¼³Á¤ 116
4.5 ¿ä¾à 118

CHAPTER 5 HTTP ¼­¹ö ÀÛ¼º 119

5.1 ù HTTP ¼­¹ö 119
5.2 ¿äû Çڵ鷯 ¼³Á¤ 122
__5.2.1 Çڵ鷯 ÇÔ¼ö 123
5.3 ¼­¹ö Å×½ºÆ® 126
5.4 Request ±¸Á¶Ã¼ 129
__5.4.1 ¸Þ¼­µå 130
__5.4.2 URL 130
__5.4.3 Proto, ProtoMajor, ProtoMinor 131
__5.4.4 Header 131
__5.4.5 Host 131
__5.4.6 Body 131
__5.4.7 Form, PostForm 131
__5.4.8 MultipartForm 132
5.5 Request °´Ã¼¿¡ ¸ÞŸµ¥ÀÌÅÍ ºÎÂø 133
5.6 ½ºÆ®¸®¹Ö ¿äû ó¸® 137
5.7 ÀÀ´ä µ¥ÀÌÅÍ ½ºÆ®¸®¹Ö 143
5.8 ¿ä¾à 150

CHAPTER 6 °í±Þ HTTP ¼­¹ö ¾ÖÇø®ÄÉÀÌ¼Ç 151

6.1 Handler ŸÀÔ 151
6.2 Çڵ鷯 ÇÔ¼ö °£¿¡ µ¥ÀÌÅÍ °øÀ¯ 153
6.3 ¼­¹ö ¹Ìµé¿þ¾î ÀÛ¼º 158
__6.3.1 Ä¿½ºÅÒ HTTP Çڵ鷯 ±â¹ý 158
__6.3.2 HandlerFunc ±â¹ý 159
__6.3.3 ¹Ìµé¿þ¾î üÀÌ´× 162
6.4 º¹ÀâÇÑ ¼­¹ö ¾ÖÇø®ÄÉÀ̼ÇÀÇ Å×½ºÆ® ÀÛ¼º 167
__6.4.1 ÄÚµå Á¤¸® 167
__6.4.2 Çڵ鷯 ÇÔ¼ö Å×½ºÆ® 173
__6.4.3 ¹Ìµé¿þ¾î Å×½ºÆ® 176
__6.4.4 Ãʱ⠼­¹ö ½ÃÀÛ Å×½ºÆ® 178
6.5 ¿ä¾à 181

CHAPTER 7 ½Ç¼­ºñ½º °¡´ÉÇÑ HTTP ¼­¹ö 182

7.1 ¿äû Çڵ鸵 Áß´Ü 182
__7.1.1 ¿äû ó¸® Áß´Ü Àü·« 186
__7.1.2 Ŭ¶óÀ̾ðÆ® ¿¬°á ²÷±è ó¸® 191
7.2 ¼­¹ö´Ü ŸÀӾƿô 195
__7.2.1 ¸ðµç Çڵ鷯 ÇÔ¼ö¿¡ ŸÀӾƿô ±¸Çö 195
__7.2.2 ¼­¹ö ŸÀӾƿô ±¸Çö 196
__7.2.3 ¿ì¾ÆÇÑ Á¾·á ±¸Çö 203
7.3 TLS¸¦ È°¿ëÇÑ º¸¾È Åë½Å 207
__7.3.1 TLS¿Í HTTP/2 ±¸¼º 208
__7.3.2 TLS ¼­¹ö Å×½ºÆ® 212
7.4 ¿ä¾à 216

CHAPTER 8 gRPC¸¦ »ç¿ëÇÑ RPC ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß 217

8.1 gRPC¿Í ÇÁ·ÎÅäÄÝ ¹öÆÛ 217
8.2 ù ¼­ºñ½º ÀÛ¼º 221
__8.2.1 ¼­¹ö ÀÛ¼º 223
__8.2.2 Ŭ¶óÀ̾ðÆ® ÀÛ¼º 229
__8.2.3 ¼­¹ö Å×½ºÆ® 234
__8.2.4 Ŭ¶óÀ̾ðÆ® Å×½ºÆ® 238
8.3 ÇÁ·ÎÅäÄÝ ¹öÆÛ ¸Þ½ÃÁö »ìÆ캸±â 241
__8.3.1 ¸¶¼£¸µ°ú ¾ð¸¶¼£¸µ 241
__8.3.2 »óÀ§ ȣȯ¼º ¹× ÇÏÀ§ ȣȯ¼º 247
8.4 ¿©·¯ °³ÀÇ ¼­ºñ½º 249
8.5 ¿¡·¯ Çڵ鸵 256
8.6 ¿ä¾à 259

CHAPTER 9 °í±Þ gRPC ¾ÖÇø®ÄÉÀÌ¼Ç 260

9.1 ½ºÆ®¸®¹Ö Ä¿¹Â´ÏÄÉÀÌ¼Ç 260
__9.1.1 ¼­¹ö »çÀÌµå ½ºÆ®¸®¹Ö 261
__9.1.2 Ŭ¶óÀ̾ðÆ® »çÀÌµå ½ºÆ®¸®¹Ö 269
__9.1.3 ¾ç¹æÇâ ½ºÆ®¸®¹Ö 272
9.2 ÀÓÀÇÀÇ µ¥ÀÌÅÍ ¼Û¼ö½Å 281
9.3 ÀÎÅͼÁÅ͸¦ È°¿ëÇÑ ¹Ìµé¿þ¾î ±¸Çö 292
__9.3.1 Ŭ¶óÀ̾ðÆ® »çÀ̵å ÀÎÅͼÁÅÍ 294
__9.3.2 ¼­¹ö »çÀ̵å ÀÎÅͼÁÅÍ 301
__9.3.3 ½ºÆ®¸² ·¡ÇÎ 307 / 9.3.4 ÀÎÅͼÁÅÍ Ã¼ÀÌ´× 309
9.4 ¿ä¾à 311

CHAPTER 10 ½Ç¼­ºñ½º °¡´ÉÇÑ gRPC ¾ÖÇø®ÄÉÀÌ¼Ç 312

10.1 TLS¸¦ È°¿ëÇÑ º¸¾È Åë½Å 312
10.2 ¼­¹öÀÇ °­°Ç¼º 315
__10.2.1 Çコ üũ ±¸Çö 316
__10.2.2 ·±Å¸ÀÓ ¿À·ù ó¸® 324
__10.2.3 ¿äû ó¸® Áß´Ü 328
10.3 °­°ÇÇÑ Å¬¶óÀ̾ðÆ® 338
__10.3.1 ¿¬°á ±¸¼º °³¼± 338
__10.3.2 ÀϽÃÀûÀÎ Àå¾Ö »óȲ ´ëÀÀ 340
__10.3.3 ¸Þ¼­µå È£Ãâ¿¡ ŸÀӾƿô ¼³Á¤ 346
10.4 ¿¬°á °ü¸® 348
10.5 ¿ä¾à 351

CHAPTER 11 µ¥ÀÌÅÍ ÀúÀå¼Ò È°¿ë 352

11.1 ¿ÀºêÁ§Æ® ÀúÀå¼Ò È°¿ë 353
__11.1.1 ÆÐÅ°Áö ¼­¹ö Á¢±Ù ¹× È°¿ë 354
__11.1.2 ÆÐÅ°Áö ¾÷·Îµå Å×½ºÆ® 365
__11.1.3 ±â¹Ý µå¶óÀ̹ö ŸÀÔ Á¢±Ù 368
11.2 °ü°èÇü µ¥ÀÌÅͺ£À̽º È°¿ë 370
__11.2.1 ÆÐÅ°Áö ¼­¹ö¿Í ÅëÇÕ 372
__11.2.2 µ¥ÀÌÅÍ ½ºÅ丮Áö Å×½ºÆ® 383
__11.2.3 µ¥ÀÌÅÍ Å¸ÀÔ Çü º¯È¯ 388
__11.2.4 µ¥ÀÌÅͺ£À̽º Æ®·£Àè¼Ç ÀÌ¿ë 392
11.3 ¿ä¾à 394

APPENDIX A ¾ÖÇø®ÄÉÀ̼ÇÀ» °üÃø °¡´ÉÇÏ°Ô ¸¸µé±â 395
A.1 ·Î±×, ¸ÞÆ®¸¯, ±×¸®°í Æ®·¹À̽º 395
A.2 ÅÚ·¹¸ÞÆ®¸® µ¥ÀÌÅÍ ³»º¸³»±â 399
__A.2.1 Ä¿¸Çµå ¶óÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç 399
__A.2.2 HTTP ¾ÖÇø®ÄÉÀÌ¼Ç 408
__A.2.3 gRPC ¾ÖÇø®ÄÉÀÌ¼Ç 413
A.3 ¿ä¾à 415

APPENDIX B ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷Çϱâ 415
B.1 ȯ°æ¼³Á¤ Á¤º¸ °ü¸® 415
B.2 ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ 418
B.3 ¼­¹ö ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷ 421
B.4 ¿ä¾à 422

ã¾Æº¸±â 423