º£Å׶û °íÆÛ°¡ ¾Ë·ÁÁÖ´Â 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ÀÌ Ã¥¿¡ ´ëÇÏ¿© xviiCHAPTER 1 Go ¾ð¾î ¾Ë¾Æº¸±â001 ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Åº»ý ¹è°æÀ» ¾Ë¾Æ¾ß ÇÏ´Â ÀÌÀ¯ 003002 ¸Á¼³¿©Áú ¶§´Â °£´ÜÇÑ °ÍÀ» ¼±ÅÃÇϱâ 006CHAPTER 2 context ÆÐÅ°Áö003 context ÆÐÅ°Áö °³¿ä 009004 ¿Ö context ÆÐÅ°Áö¸¦ »ç¿ëÇϴ°¡? 011005 Áß´Ü ¾Ë¸² 013006 Áß´Ü ¾Ë¸² ¹Þ±â 015007 context.Context ŸÀÔ°ª¿¡ µ¥ÀÌÅÍ Æ÷ÇÔ½ÃÅ°±â 018008 context.Context ŸÀÔ°ªÀ» ó¸®ÇÒ ¶§ ÁÖÀÇÁ¡ 020009 context.Context ŸÀÔ°ª¿¡ Æ÷ÇԵǴ Á¤º¸ 022010 context.Context ŸÀÔ°ªÀÇ Á¤º¸°¡ ¼¹ö¿¡ Àü´ÞµÇ´Â°¡? 025011 ±âÁ¸ Äڵ尡 context.Context ŸÀÔ°ªÀ» Àμö·Î ¹ÞÁö ¾Ê´Â °æ¿ì 026CHAPTER 3 database/sql ÆÐÅ°Áö012 database/sql ÆÐÅ°ÁöÀÇ ±âº» ó¸® 031013 sql.Open ÇÔ¼ö´Â ÇÑ ¹ø¸¸ »ç¿ë 033014 Xxx ¸Þ¼µå¿Í XxxContext°¡ Á¸ÀçÇÒ ¶§´Â XxxContext ¸Þ¼µå »ç¿ë 035015 *sql.Row ŸÀÔ°ªÀ» ¹ÝȯÇÏ´Â ¸Þ¼µå¸¸ sql.ErrNoRows ¹ß»ý 036016 Æ®·£Àè¼ÇÀ» »ç¿ëÇÒ ¶§´Â defer ¹®À¸·Î Rollback ¸Þ¼µå È£Ãâ 038017 database/sql ÆÐÅ°Áö ´ë½Å ¸¹ÀÌ »ç¿ëÇÏ´Â ¿ÀǼҽº ÆÐÅ°Áö 041CHAPTER 4 °¡½Ã¼º°ú Go018 public/private°ú exported/unexportedÀÇ Â÷ÀÌ 045CHAPTER 5 Go Modules019 ¸ðµâ°ú ÆÐÅ°Áö 051020 Go Modules 053021 Go Modules ½ÃÀÛ ¹æ¹ý 055022 Go Modules¿¡¼ ÀÚÁÖ »ç¿ëÇÏ´Â ¸í·É 058023 ÀÇÁ¸ ´ë»ó Äڵ忡 µð¹ö±× ÄÚµå Ãß°¡ 059024 Go Modules¸¦ ½ÇÇöÇÏ´Â »ýÅ°è 061025 ÇÁ¶óÀ̺ø ¸ðµâÀ» »ç¿ëÇÑ °³¹ß 062026 ÀÚü ÀÛ¼º ÆÐÅ°ÁöÀÇ ¹öÀü °ü¸® 064CHAPTER 6 Go¿Í °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö027 °´Ã¼ÁöÇâ¿¡ ÁØÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Á¶°Ç 067028 Go¿¡¼´Â ¼ºêŬ·¡½ºÈ »ç¿ë ºÒ°¡ 069029 ³»Àå°ú »ó¼Ó 071CHAPTER 7 ÀÎÅÍÆäÀ̽º030 »ç¿ëÀÚ°¡ ÃÖ¼ÒÇÑÀÇ ÀÎÅÍÆäÀ̽º Á¤ÀÇÇϱâ 077031 ¶óÀ̺귯¸®·Î¼ÀÇ ÀÎÅÍÆäÀ̽º ¹Ýȯ 079032 ÀÎÅÍÆäÀ̽º »ç¿ë ½Ã ÁÖÀÇÁ¡ 081CHAPTER 8 ¿À·ù ó¸®033 ¿À·ù 087034 À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ÀÇ panic »ç¿ë¹ý 101CHAPTER 9 À͸í ÇÔ¼ö ¹× Ŭ·ÎÀú035 Go¿¡¼ ÇÔ¼ö¸¦ ´Ù·ç´Â ¹æ¹ý 105036 »óŸ¦ °¡Áø ÇÔ¼ö ¸¸µé±â 107037 °í·çƾ ÀÌ¿ë ½Ã À͸í ÇÔ¼ö¿¡¼ ¿ÜºÎ ÇÔ¼öÀÇ ÂüÁ¶ ÇÇÇϱâ 109CHAPTER 10 ȯ°æ º¯¼ö Àû¿ë ¹æ¹ý038 Go¿¡¼ÀÇ È¯°æ º¯¼ö ó¸® 113039 ȯ°æ º¯¼ö °ü·Ã Å×½ºÆ® 116CHAPTER 11 Go¿Í ÀÇÁ¸¼º ÁÖÀÔ040 ÀÇÁ¸°ü°è ¿ªÀü ¿øÄ¢ 121041 database/sql/driver ÆÐÅ°Áö¿Í DIP 122042 DIP¿¡ ÁØÇÏ´Â ±¸Çö 124043 °úµµÇÑ Ãß»óÈ(ÀÎÅÍÆäÀ̽º È°¿ë) ÁÖÀÇ 129CHAPTER 12 ¹Ìµé¿þ¾î ÆÐÅÏ044 ¹Ìµé¿þ¾î¸¦ ¸¸µå´Â ¹ý 133045 º¹¿ø ¹Ìµé¿þ¾î 135046 Á¢¼Ó ·Î±× ¹Ìµé¿þ¾î 137047 ¿äû ¹Ùµð¸¦ ·Î±×¿¡ ³²±â´Â ¹Ìµé¿þ¾î 138048 »óÅ ÄÚµå ¹× ÀÀ´ä ¹Ùµð¸¦ ÀúÀåÇÏ´Â ¹Ìµé¿þ¾î 140049 context.Context ŸÀÔ°ª¿¡ Á¤º¸¸¦ ºÎ¿©ÇÏ´Â ¹Ìµé¿þ¾î 142050 À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÚüÀÇ ¹Ìµé¿þ¾î ÆÐÅÏ 143CHAPTER 13 ½Ç½À ³»¿ë¿¡ ´ëÇØ051 ½Ç½À ÁøÇà ¹æ½Ä 147052 °³¹ßÇÒ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¿ä 149CHAPTER 14 HTTP ¼¹ö ¸¸µé±â053 ÇÁ·ÎÁ§Æ® ÃʱâÈ 155054 À¥ ¼¹ö ½ÇÇàÇϱâ 159055 ¸®ÆÑÅ͸µ°ú Å×½ºÆ® ÄÚµå 161056 Æ÷Æ® ¹øÈ£¸¦ º¯°æÇÒ ¼ö ÀÖµµ·Ï ¸¸µé±â 170CHAPTER 15 °³¹ß ȯ°æ Á¤ºñÇϱâ057 µµÄ¿¸¦ »ç¿ëÇÑ ½ÇÇà ȯ°æ 177058 Makefile Ãß°¡Çϱâ 183059 ±êÇãºê ¾×¼ÇÀ» »ç¿ëÇÑ Áö¼ÓÀû ÅëÇÕ È¯°æ 185CHAPTER 16 HTTP ¼¹ö¸¦ ¾àÇÑ °áÇÕ ±¸¼ºÀ¸·Î º¯°æÇϱâ060 ȯ°æ º¯¼ö·ÎºÎÅÍ ¼³Á¤ ºÒ·¯¿À±â 193061 ½Ã±×³Î ó¸®Çϱâ 198062 Server ±¸Á¶Ã¼ Á¤ÀÇÇϱâ 202063 ¶ó¿ìÆà Á¤ÀǸ¦ ºÐÇÒÇÑ NewMux Á¤ÀÇÇϱâ 205064 run ÇÔ¼ö¸¦ ´Ù½Ã ¸®ÆÑÅ͸µÇϱâ 208CHAPTER 17 ¿£µåÆ÷ÀÎÆ® Ãß°¡Çϱâ065 entity.Task ŸÀÔ Á¤ÀÇ¿Í ¿µ±¸ ÀúÀå ¹æ¹ýÀÇ Àӽà ±¸Çö 213066 ÇïÆÛ ÇÔ¼ö¸¦ ±¸ÇöÇϱâ 216067 ŽºÅ©¸¦ µî·ÏÇÏ´Â ¿£µåÆ÷ÀÎÆ® ±¸Çö 220068 Å×À̺í ÁÖµµ Å×½ºÆ®¿Í °ñµç Å×½ºÆ®¸¦ Á¶ÇÕÇÑ Å×½ºÆ® ÄÚµå 223069 ŽºÅ© ¸ñ·ÏÀ» ¹ÝȯÇÏ´Â ¿£µåÆ÷ÀÎÆ® ±¸Çö 227070 HTTP Çڵ鷯¸¦ ¶ó¿ìÆÃÀ¸·Î ¼³Á¤Çϱâ 229071 µ¿ÀÛ °ËÁõ 231CHAPTER 18 RDBMS¸¦ »ç¿ëÇÑ µ¥ÀÌÅͺ£À̽º ó¸® ±¸ÇöÇϱâ072 MySQL ½ÇÇà ȯ°æ ±¸Ãà 235073 RDBMS ó¸® ±¸Çö 242074 RDBMS °ü·Ã ±â´ÉÀ» Å×½ºÆ®Çϱâ À§ÇÑ ÄÚµå ±¸Çö 251CHAPTER 19 ±â´Éº°·Î HTTP Çڵ鷯 ±¸Çö ºÐÇÒÇϱâ075 HTTP Çڵ鷯¿¡¼ RDBMS¸¦ »ç¿ëÇÑ ¿µ±¸ ÀúÀå ó¸®Çϱâ 261076 HTTP Çڵ鷯 ±â´É ºÐÇÒ 267077 go generate ¸í·ÉÀ» »ç¿ëÇÑ ¸ñ ÀÚµ¿ »ý¼º 268078 ¸ñ ÄÚµå ÀÚµ¿ »ý¼º 270079 »ç¿ëÀÚ µî·Ï ±â´É ÀÛ¼º 277080 µ¿ÀÛ È®ÀÎ 283CHAPTER 20 ·¹µð½º¿Í JWT¸¦ »ç¿ëÇÑ ÀÎÁõ ¹× ±ÇÇÑ081 À̹ø Àå¿¡¼ ±¸ÇöÇÏ´Â ±â´É 287082 ·¹µð½º Áغñ 288083 JWTÀÇ ¼¸í Áغñ 297084 JWT¸¦ »ç¿ëÇÑ ¾×¼¼½º ÅäÅ« ÀÛ¼º 299085 »ç¿ëÀÚ ·Î±×ÀÎ ¿£µåÆ÷ÀÎÆ® ±¸Çö 315086 ¹Ìµé¿þ¾î ÆÐÅÏÀ» »ç¿ëÇÑ ÀÎÁõ ±â´É 327087 ¿äû¿¡ Æ÷ÇÔµÈ ÀÎÁõ°ú ±ÇÇÑ Á¤º¸¸¦ »ç¿ëÇÑ ¿£µåÆ÷ÀÎÆ® º¸È£ 329088 µ¿ÀÛ È®ÀÎ 339ã¾Æº¸±â 347