ÄÜÅÙÃ÷ »ó¼¼º¸±â
Go ¾ð¾î·Î ¹è¿ì´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß


Go ¾ð¾î·Î ¹è¿ì´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß

Go ¾ð¾î·Î ¹è¿ì´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß

<½Ã¹ÌÁî ¿äÀÌÄ¡·Î> Àú/<±è¿Ï¼·> ¿ª | Á¦ÀÌÆà

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

ÄÜÅÙÃ÷ ¼Ò°³

º£Å׶û °íÆÛ°¡ ¾Ë·ÁÁÖ´Â Go ¾ð¾î ÇÚÁî¿Â °¡À̵å

Go ¾ð¾î·Î REST API À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¶§ ¹Ýµå½Ã ¾Ë¾Æ¾ß ÇÒ Áö½ÄÀ» ¾Ë·ÁÁØ´Ù. Àü¹ÝºÎ¿¡´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇϱâ Àü¿¡ ¾Ë¾Æ¾ß ÇÒ Go ¾ð¾î °³³ä°ú Ç¥ÁØ ÆÐÅ°Áö ±â´ÉÀ» ¼Ò°³ÇÏ°í, ÈĹݺο¡´Â º»°ÝÀûÀ¸·Î Go ¾ð¾î¸¦ È°¿ëÇØ ToDo ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¸é¼­ ȯ°æ ¼³Á¤, µµÄ¿ ÄÁÅ×ÀÌ³Ê ÀÛ¼º, CI/CD ¼³Á¤, Å×½ºÆ® ÀÛ¼ºÀ» ´Ù·é´Ù. Å×½ºÆ® Äڵ带 ´Ü°èº°·Î ÀÛ¼º ¹× ¼öÁ¤ÇÏ´Â °úÁ¤À» ¹Ýº¹Çϸ鼭 ½ÇÁ¦ ¾÷¹«¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â API ¼­¹ö ±¸Ãà ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ´Ù. º£Å׶û °íÆÛ°¡ »ç¿ëÇÏ´Â µðÀÚÀÎ ÆÐÅÏ°ú Ç¥ÁØ ÆÐÅ°Áö, ¿ÜºÎ ¿ÀǼҽº¸¦ »ç¿ëÇÑ ÄÚµù ±â¹ý±îÁö Go ¾ð¾î ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÇÊ¿äÇÑ ¸ðµç °ÍÀ» ÀÍÈú ¼ö ÀÖ´Ù.

ÀúÀÚ¼Ò°³

1986³â ÀϺ» »çÀÌŸ¸¶Çö °¡¿Í±¸Ä¡½Ã¿¡¼­ ž´Ù. ¼Óµµ¿Í Á¤¹Ðµµ¸¦ ´Ù·ç´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» µ¿°æÇØ ¸®ÄÚ IT ¼³·ç¼Ç(Ricoh IT Solutions)¿¡¼­ ÀÏÇßÀ¸¸ç, 2017³â SaaSÇü Ŭ¶ó¿ìµå ¼­ºñ½º ȸ»çÀÎ freee ȸ°è(freee?ͪ)¸¦ °ÅÃÄ 2019³â ÀÎÅÍ³Ý ¼­ºñ½º¸¦ Á¦°øÇÏ´Â BASE¿¡¼­ ±Ù¹«Çß´Ù. ÇöÀç ºí·ÏüÀÎ ÄÁ¼³Æà ¾÷üÀÎ ·¹À̾½º(LayerX)¿¡¼­ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î·Î ÀÏÇÏ°í ÀÖ´Ù. C, C++, C#, ·çºñ, PHP µî ´Ù¾çÇÑ ¾ð¾î¸¦ ½Ç¹«¿¡ »ç¿ëÇßÀ¸¸ç, ±×Áß Go ¾ð¾î¸¦ °¡Àå ÁÁ¾ÆÇÑ´Ù.

¸ñÂ÷

¿Å±äÀÌ ¸Ó¸®¸» xiii
º£Å¸¸®´õ Èıâ xiv
°¨»çÀÇ ±Û xvi
ÀÌ Ã¥¿¡ ´ëÇÏ¿© xvii

CHAPTER 1 Go ¾ð¾î ¾Ë¾Æº¸±â

001 ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Åº»ý ¹è°æÀ» ¾Ë¾Æ¾ß ÇÏ´Â ÀÌÀ¯ 003
002 ¸Á¼³¿©Áú ¶§´Â °£´ÜÇÑ °ÍÀ» ¼±ÅÃÇϱâ 006

CHAPTER 2 context ÆÐÅ°Áö

003 context ÆÐÅ°Áö °³¿ä 009
004 ¿Ö context ÆÐÅ°Áö¸¦ »ç¿ëÇϴ°¡? 011
005 Áß´Ü ¾Ë¸² 013
006 Áß´Ü ¾Ë¸² ¹Þ±â 015
007 context.Context ŸÀÔ°ª¿¡ µ¥ÀÌÅÍ Æ÷ÇÔ½ÃÅ°±â 018
008 context.Context ŸÀÔ°ªÀ» ó¸®ÇÒ ¶§ ÁÖÀÇÁ¡ 020
009 context.Context ŸÀÔ°ª¿¡ Æ÷ÇԵǴ Á¤º¸ 022
010 context.Context ŸÀÔ°ªÀÇ Á¤º¸°¡ ¼­¹ö¿¡ Àü´ÞµÇ´Â°¡? 025
011 ±âÁ¸ Äڵ尡 context.Context ŸÀÔ°ªÀ» Àμö·Î ¹ÞÁö ¾Ê´Â °æ¿ì 026

CHAPTER 3 database/sql ÆÐÅ°Áö

012 database/sql ÆÐÅ°ÁöÀÇ ±âº» ó¸® 031
013 sql.Open ÇÔ¼ö´Â ÇÑ ¹ø¸¸ »ç¿ë 033
014 Xxx ¸Þ¼­µå¿Í XxxContext°¡ Á¸ÀçÇÒ ¶§´Â XxxContext ¸Þ¼­µå »ç¿ë 035
015 *sql.Row ŸÀÔ°ªÀ» ¹ÝȯÇÏ´Â ¸Þ¼­µå¸¸ sql.ErrNoRows ¹ß»ý 036
016 Æ®·£Àè¼ÇÀ» »ç¿ëÇÒ ¶§´Â defer ¹®À¸·Î Rollback ¸Þ¼­µå È£Ãâ 038
017 database/sql ÆÐÅ°Áö ´ë½Å ¸¹ÀÌ »ç¿ëÇÏ´Â ¿ÀǼҽº ÆÐÅ°Áö 041

CHAPTER 4 °¡½Ã¼º°ú Go

018 public/private°ú exported/unexportedÀÇ Â÷ÀÌ 045

CHAPTER 5 Go Modules

019 ¸ðµâ°ú ÆÐÅ°Áö 051
020 Go Modules 053
021 Go Modules ½ÃÀÛ ¹æ¹ý 055
022 Go Modules¿¡¼­ ÀÚÁÖ »ç¿ëÇÏ´Â ¸í·É 058
023 ÀÇÁ¸ ´ë»ó Äڵ忡 µð¹ö±× ÄÚµå Ãß°¡ 059
024 Go Modules¸¦ ½ÇÇöÇÏ´Â »ýÅ°è 061
025 ÇÁ¶óÀ̺ø ¸ðµâÀ» »ç¿ëÇÑ °³¹ß 062
026 ÀÚü ÀÛ¼º ÆÐÅ°ÁöÀÇ ¹öÀü °ü¸® 064

CHAPTER 6 Go¿Í °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö

027 °´Ã¼ÁöÇâ¿¡ ÁØÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Á¶°Ç 067
028 Go¿¡¼­´Â ¼­ºêŬ·¡½ºÈ­ »ç¿ë ºÒ°¡ 069
029 ³»Àå°ú »ó¼Ó 071

CHAPTER 7 ÀÎÅÍÆäÀ̽º

030 »ç¿ëÀÚ°¡ ÃÖ¼ÒÇÑÀÇ ÀÎÅÍÆäÀ̽º Á¤ÀÇÇϱâ 077
031 ¶óÀ̺귯¸®·Î¼­ÀÇ ÀÎÅÍÆäÀ̽º ¹Ýȯ 079
032 ÀÎÅÍÆäÀ̽º »ç¿ë ½Ã ÁÖÀÇÁ¡ 081

CHAPTER 8 ¿À·ù ó¸®

033 ¿À·ù 087
034 À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ÀÇ panic »ç¿ë¹ý 101

CHAPTER 9 À͸í ÇÔ¼ö ¹× Ŭ·ÎÀú

035 Go¿¡¼­ ÇÔ¼ö¸¦ ´Ù·ç´Â ¹æ¹ý 105
036 »óŸ¦ °¡Áø ÇÔ¼ö ¸¸µé±â 107
037 °í·çƾ ÀÌ¿ë ½Ã À͸í ÇÔ¼ö¿¡¼­ ¿ÜºÎ ÇÔ¼öÀÇ ÂüÁ¶ ÇÇÇϱâ 109

CHAPTER 10 ȯ°æ º¯¼ö Àû¿ë ¹æ¹ý

038 Go¿¡¼­ÀÇ È¯°æ º¯¼ö ó¸® 113
039 ȯ°æ º¯¼ö °ü·Ã Å×½ºÆ® 116

CHAPTER 11 Go¿Í ÀÇÁ¸¼º ÁÖÀÔ

040 ÀÇÁ¸°ü°è ¿ªÀü ¿øÄ¢ 121
041 database/sql/driver ÆÐÅ°Áö¿Í DIP 122
042 DIP¿¡ ÁØÇÏ´Â ±¸Çö 124
043 °úµµÇÑ Ãß»óÈ­(ÀÎÅÍÆäÀ̽º È°¿ë) ÁÖÀÇ 129

CHAPTER 12 ¹Ìµé¿þ¾î ÆÐÅÏ

044 ¹Ìµé¿þ¾î¸¦ ¸¸µå´Â ¹ý 133
045 º¹¿ø ¹Ìµé¿þ¾î 135
046 Á¢¼Ó ·Î±× ¹Ìµé¿þ¾î 137
047 ¿äû ¹Ùµð¸¦ ·Î±×¿¡ ³²±â´Â ¹Ìµé¿þ¾î 138
048 »óÅ ÄÚµå ¹× ÀÀ´ä ¹Ùµð¸¦ ÀúÀåÇÏ´Â ¹Ìµé¿þ¾î 140
049 context.Context ŸÀÔ°ª¿¡ Á¤º¸¸¦ ºÎ¿©ÇÏ´Â ¹Ìµé¿þ¾î 142
050 À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÚüÀÇ ¹Ìµé¿þ¾î ÆÐÅÏ 143

CHAPTER 13 ½Ç½À ³»¿ë¿¡ ´ëÇØ

051 ½Ç½À ÁøÇà ¹æ½Ä 147
052 °³¹ßÇÒ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¿ä 149

CHAPTER 14 HTTP ¼­¹ö ¸¸µé±â

053 ÇÁ·ÎÁ§Æ® ÃʱâÈ­ 155
054 À¥ ¼­¹ö ½ÇÇàÇϱâ 159
055 ¸®ÆÑÅ͸µ°ú Å×½ºÆ® ÄÚµå 161
056 Æ÷Æ® ¹øÈ£¸¦ º¯°æÇÒ ¼ö ÀÖµµ·Ï ¸¸µé±â 170

CHAPTER 15 °³¹ß ȯ°æ Á¤ºñÇϱâ

057 µµÄ¿¸¦ »ç¿ëÇÑ ½ÇÇà ȯ°æ 177
058 Makefile Ãß°¡Çϱâ 183
059 ±êÇãºê ¾×¼ÇÀ» »ç¿ëÇÑ Áö¼ÓÀû ÅëÇÕ È¯°æ 185

CHAPTER 16 HTTP ¼­¹ö¸¦ ¾àÇÑ °áÇÕ ±¸¼ºÀ¸·Î º¯°æÇϱâ

060 ȯ°æ º¯¼ö·ÎºÎÅÍ ¼³Á¤ ºÒ·¯¿À±â 193
061 ½Ã±×³Î ó¸®Çϱâ 198
062 Server ±¸Á¶Ã¼ Á¤ÀÇÇϱâ 202
063 ¶ó¿ìÆà Á¤ÀǸ¦ ºÐÇÒÇÑ NewMux Á¤ÀÇÇϱâ 205
064 run ÇÔ¼ö¸¦ ´Ù½Ã ¸®ÆÑÅ͸µÇϱâ 208

CHAPTER 17 ¿£µåÆ÷ÀÎÆ® Ãß°¡Çϱâ

065 entity.Task ŸÀÔ Á¤ÀÇ¿Í ¿µ±¸ ÀúÀå ¹æ¹ýÀÇ Àӽà ±¸Çö 213
066 ÇïÆÛ ÇÔ¼ö¸¦ ±¸ÇöÇϱâ 216
067 ŽºÅ©¸¦ µî·ÏÇÏ´Â ¿£µåÆ÷ÀÎÆ® ±¸Çö 220
068 Å×À̺í ÁÖµµ Å×½ºÆ®¿Í °ñµç Å×½ºÆ®¸¦ Á¶ÇÕÇÑ Å×½ºÆ® ÄÚµå 223
069 ŽºÅ© ¸ñ·ÏÀ» ¹ÝȯÇÏ´Â ¿£µåÆ÷ÀÎÆ® ±¸Çö 227
070 HTTP Çڵ鷯¸¦ ¶ó¿ìÆÃÀ¸·Î ¼³Á¤Çϱâ 229
071 µ¿ÀÛ °ËÁõ 231

CHAPTER 18 RDBMS¸¦ »ç¿ëÇÑ µ¥ÀÌÅͺ£À̽º ó¸® ±¸ÇöÇϱâ

072 MySQL ½ÇÇà ȯ°æ ±¸Ãà 235
073 RDBMS ó¸® ±¸Çö 242
074 RDBMS °ü·Ã ±â´ÉÀ» Å×½ºÆ®Çϱâ À§ÇÑ ÄÚµå ±¸Çö 251

CHAPTER 19 ±â´Éº°·Î HTTP Çڵ鷯 ±¸Çö ºÐÇÒÇϱâ

075 HTTP Çڵ鷯¿¡¼­ RDBMS¸¦ »ç¿ëÇÑ ¿µ±¸ ÀúÀå ó¸®Çϱâ 261
076 HTTP Çڵ鷯 ±â´É ºÐÇÒ 267
077 go generate ¸í·ÉÀ» »ç¿ëÇÑ ¸ñ ÀÚµ¿ »ý¼º 268
078 ¸ñ ÄÚµå ÀÚµ¿ »ý¼º 270
079 »ç¿ëÀÚ µî·Ï ±â´É ÀÛ¼º 277
080 µ¿ÀÛ È®ÀÎ 283

CHAPTER 20 ·¹µð½º¿Í JWT¸¦ »ç¿ëÇÑ ÀÎÁõ ¹× ±ÇÇÑ

081 À̹ø Àå¿¡¼­ ±¸ÇöÇÏ´Â ±â´É 287
082 ·¹µð½º Áغñ 288
083 JWTÀÇ ¼­¸í Áغñ 297
084 JWT¸¦ »ç¿ëÇÑ ¾×¼¼½º ÅäÅ« ÀÛ¼º 299
085 »ç¿ëÀÚ ·Î±×ÀÎ ¿£µåÆ÷ÀÎÆ® ±¸Çö 315
086 ¹Ìµé¿þ¾î ÆÐÅÏÀ» »ç¿ëÇÑ ÀÎÁõ ±â´É 327
087 ¿äû¿¡ Æ÷ÇÔµÈ ÀÎÁõ°ú ±ÇÇÑ Á¤º¸¸¦ »ç¿ëÇÑ ¿£µåÆ÷ÀÎÆ® º¸È£ 329
088 µ¿ÀÛ È®ÀÎ 339

ã¾Æº¸±â 347