Àü¹®°¡·Î ¼ºÀåÇϱâ À§ÇÑ ½ÇÀü ·¯½ºÆ® °¡ÀÌµå ¾ÈÁ¤¼º, ¼º´É, º¸¾È¼ºÀ̶ó´Â »ï¹ÚÀÚ¸¦ °®Ãá ·¯½ºÆ®. ÀÌ °·ÂÇÑ ¾ð¾îÀÇ ÀáÀç·ÂÀ» ²ø¾î³»´Â °ÍÀº ½±Áö ¾ÊÁö¸¸, ÀÌ Ã¥°ú ÇÔ²²¶ó¸é °¡´ÉÇÏ´Ù. dzºÎÇÑ ¿¹Á¦¸¦ ÅëÇØ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖºÎÅÍ À¥ °³¹ß, ºñµ¿±â¿Í µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö, ¼º´É ÃÖÀûȱîÁö ºü¸£°Ô ÇнÀÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ, È¿°úÀûÀÎ µðÀÚÀÎ ÆÐÅÏ°ú ÄÚµù ÆÁ, ´Ù¸¥ ¾ð¾î¿ÍÀÇ ¿øÈ°ÇÑ ÅëÇÕ ¹æ¹ý, Å×½ºÆÃ, ÄÚµå ºÐ¼®, ÇÁ·ÎÁ§Æ® °ü¸®¸¦ À§ÇÑ °·ÂÇÑ µµ±¸ µî ½ÇÀü¿¡¼ ¹Ù·Î È°¿ë °¡´ÉÇÑ ÇÁ·ÎÀÇ ³ëÇϿ츦 ¼Ò°³ÇÑ´Ù. ·¯½ºÆ® Àü¹®°¡°¡ µÇ±â À§ÇÑ ¸ðµç °ÍÀ» ÀÌ ÇÑ ±Ç¿¡ ´ã¾ÒÀ¸´Ï, Áö±Ý ¹Ù·Î ÀÌ Ã¥À» ÀÐ°í ·¯½ºÆ® ¸¶½ºÅÍÀÇ ±æ·Î ³ª¾Æ°¡ÀÚ.
¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌÀÚ ±â¾÷°¡À̸ç, ÃÊâ±âºÎÅÍ ·¯½ºÆ®¸¦ »ç¿ëÇØ¿Â ¿ÀÇ ¼Ò½º Âü¿©ÀÚ´Ù. 13³â ÀÌ»ó ±êÇãºê ±â¿©ÀÚ·Î È°µ¿Çϸç, ¿©·¯ ·¯½ºÆ® Å©·¹ÀÌÆ® ¹× ¿ÀÇ ¼Ò½º ·¯½ºÆ® ÇÁ·ÎÁ§Æ®¿¡ Âü¿©Çß°í, Á¦Ç° ¼öÁØÀÇ ·¯½ºÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» Àü¹®ÀûÀ¸·Î ±¸ÃàÇß´Ù.
¿Å±äÀÌ ¸Ó¸®¸» xiiº£Å¸¸®´õ Èıâ xiv½ÃÀÛÇϸç xviÀÌ Ã¥¿¡ ´ëÇÏ¿© xvii°¨»çÀÇ ±Û xxiÇ¥Áö¿¡ ´ëÇÏ¿© xxiiCHAPTER 1 ·¯½ºÆ®½º·¯¿î ´À³¦ 11.1 ·¯½ºÆ®´Â ¹«¾ùÀΰ¡? 21.2 ·¯½ºÆ®´Â ¹«¾ùÀÌ µ¶Æ¯ÇÑ°¡? 4__1.2.1 ·¯½ºÆ®´Â ¾ÈÀüÇÏ´Ù 5 / 1.2.2 ·¯½ºÆ®´Â Çö´ëÀûÀÌ´Ù 6 / 1.2.3 ¼ø¼ö ¿ÀÇ ¼Ò½º·Î¼ÀÇ ·¯½ºÆ® 7 / 1.2.4 ·¯½ºÆ®¿Í ´Ù¸¥ ¾ð¾î ºñ±³ 71.3 ¾ðÁ¦ ·¯½ºÆ®¸¦ ½á¾ß Çϴ°¡? 8__1.3.1 ·¯½ºÆ® »ç¿ë »ç·Ê 91.4 ÇÊ¿äÇÑ µµ±¸µé 101.5 ¿ä¾à 10PART I ÇÁ·Î ·¯½ºÆ®CHAPTER 2 Ä«°í·Î ÇÁ·ÎÁ§Æ® °ü¸®Çϱâ 132.1 Ä«°í µÑ·¯º¸±â 14__2.1.1 ±âº» »ç¿ë¹ý 14 / 2.1.2 »õ ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ¶óÀ̺귯¸® ¸¸µé±â 15 / 2.1.3 ºôµå, ½ÇÇà, Å×½ºÆ® 17 / 2.1.4 ÅøüÀÎ °£ º¯°æ 182.2 ÀÇÁ¸¼º °ü¸® 19__2.2.1 Cargo.lock ÆÄÀÏ ´Ù·ç±â 222.3 ±â´É Ç÷¡±× 222.4 Á¾¼Ó¼º ÆÐÄ¡Çϱâ 25__2.4.1 °£Á¢ Á¾¼Ó¼º 28 / 2.4.2 Á¾¼Ó¼º ÆÐÄ¡ÀÇ ¸ð¹ü »ç·Ê 282.5 Å©·¹ÀÌÆ® °Ô½Ã 29__2.5.1 CI/CD ÅëÇÕ 292.6 C ¶óÀ̺귯¸®¿¡ ¿¬°áÇϱâ 322.7 ¹ÙÀ̳ʸ® ¹èÆ÷ 35__2.7.1 ±³Â÷ ÄÄÆÄÀÏ 36 / 2.7.2 Á¤Àû ¿¬°á ¹ÙÀ̳ʸ® ¸¸µé±â 372.8 ·¯½ºÆ® ÇÁ·ÎÁ§Æ® ¹®¼ÈÇϱâ 38__2.8.1 ¹®¼È ¿¹Á¦ 412.9 ¸ðµâ 422.10 ÀÛ¾÷ °ø°£ 462.11 Àü¿ë ºôµå ½ºÅ©¸³Æ® 482.12 ÀÓº£µðµå ȯ°æ¿ë ·¯½ºÆ® ÇÁ·ÎÁ§Æ® 51__2.12.1 ¸Þ¸ð¸® ÇÒ´ç 522.13 ¿ä¾à 52CHAPTER 3 ·¯½ºÆ® µµ±¸ ÀÌ¿ëÇϱâ 533.1 ·¯½ºÆ® µµ±¸ °³¿ä 543.2 rust-analyzer¸¦ ÀÌ¿ëÇÏ¿© ·¯½ºÆ® ÅëÇÕ °³¹ß ȯ°æ¿¡ ÅëÇÕ 55__3.2.1 ¸¶¹ý ¿Ï¼º 563.3 rustfmt·Î ÄÚµå Á¤¸®Çϱâ 59__3.3.1 rustfmt ¼³Ä¡Çϱâ 61 / 3.3.2 rustfmt ¼³Á¤Çϱâ 613.4 ÄÚµå Ç°ÁúÀ» Çâ»óÇϱâ À§ÇÑ ClippyÀÇ »ç¿ë 62__3.4.1 Clippy ¼³Ä¡Çϱâ 62 / 3.4.2 ClippyÀÇ ¸°Æ® 63 / 3.4.3 Clippy ¼³Á¤Çϱâ 65 / 3.4.4 Clippy Á¦¾ÈÀ» ÀÚµ¿À¸·Î Àû¿ëÇϱâ 65 / 3.4.5 Clippy¸¦ CI/CD¿¡¼ »ç¿ëÇϱâ 663.5 sccache·Î ÄÄÆÄÀÏ ½Ã°£ ´ÜÃàÇϱâ 67__3.5.1 sccache ¼³Ä¡Çϱâ 67 / 3.5.2 sccache ¼³Á¤Çϱâ 683.6 VS Code µîÀÇ ÅëÇÕ °³¹ß ȯ°æ°ú ÅëÇÕÇϱâ 683.7 ÅøüÀÎ »ç¿ëÇϱâ: ¾ÈÁ¤ÀÌ³Ä nightly³Ä 69__3.7.1 nightly Àü¿ë ±â´É 70 / 3.7.2 °ø°³µÈ Å©·¹ÀÌÆ®¿¡ nightly ä³Î »ç¿ëÇϱâ 703.8 Ãß°¡ÀûÀÎ µµ±¸µé: cargo-update, cargo-expand, cargo-fuzz, cargo-watch, cargo-tree 71__3.8.1 ÆÐÅ°Áö¸¦ ÃÖ½ÅÀ¸·Î ¾÷µ¥ÀÌÆ®Çϱâ: cargo-update 72 / 3.8.2 ¸ÅÅ©·Î µð¹ö±ëÇϱâ: cargo-expand 72 / 3.8.3 cargo-fuzz·Î Å×½ºÆ®Çϱâ 73 / 3.8.4 cargo-watch·Î ¹Ýº¹Àû °³¹ß 74 / 3.8.5 Á¾¼Ó¼º °Ë»ç: cargo-tree 753.9 ¿ä¾à 76PART II ÄÚ¾î µ¥ÀÌÅÍCHAPTER 4 µ¥ÀÌÅÍ ±¸Á¶ 794.1 String, str, &str, &'static str¿¡ ´ëÇÑ ¼³¸í 80__4.1.1 String°ú str 80 / 4.1.2 È¿À²ÀûÀ¸·Î ¹®ÀÚ¿ »ç¿ëÇϱâ 814.2 ½½¶óÀ̽º¿Í ¹è¿ ÀÌÇØÇϱâ 844.3 º¤ÅÍ 87__4.3.1 VecÀ¸·Î ´õ ±íÀÌ ¶Ù¾îµé±â 87 / 4.3.2 º¤ÅÍ ·¡ÇÎÇϱâ 89 / 4.3.3 º¤ÅÍ °ü·Ã ŸÀÔ 894.4 ¸Ê 90__4.4.1 »ç¿ëÀÚ ÁöÁ¤ Çؽà ÇÔ¼ö 91 / 4.4.2 Çؽà °¡´ÉÇÑ Å¸ÀÔ ¸¸µé±â 924.5 ·¯½ºÆ® ŸÀÔ: ±âº»Çü, ±¸Á¶Ã¼, ¿°ÅÇü, º°Äª 93__4.5.1 ±âº» ŸÀÔ »ç¿ëÇϱâ 93 / 4.5.2 Æ©Çà »ç¿ëÇϱâ 97 / 4.5.3 ±¸Á¶Ã¼ »ç¿ëÇϱâ 98 / 4.5.4 ¿°ÅÇü »ç¿ëÇϱâ 101 / 4.5.5 º°Äª »ç¿ëÇϱâ 1044.6 Result·Î ¿À·ù ó¸®Çϱâ 1054.7 From/Into·Î ŸÀÔ º¯È¯Çϱâ 107__4.7.1 TryFrom°ú TryInto 109 / 4.7.2 From°ú Into¸¦ »ç¿ëÇϴ ŸÀÔ º¯È¯ÀÇ ¸ð¹ü »ç·Ê 1104.8 ·¯½ºÆ® ŸÀÔÀ¸·Î FFI ȣȯ¼º ó¸®Çϱâ 1104.9 ¿ä¾à 112CHAPTER 5 ¸Þ¸ð¸® ÀÛ¾÷ 1135.1 ¸Þ¸ð¸® °ü¸®: Èü°ú ½ºÅà 1145.2 ¼ÒÀ¯±Ç ÀÌÇØÇϱâ: º¹»ç, ´ë¿©, ÂüÁ¶, À̵¿ 1165.3 ±íÀº º¹»ç 1185.4 º¹»ç ÇÇÇϱâ 1195.5 ¹Ú½ºÇÒ °ÍÀΰ¡ ¸» °ÍÀΰ¡: ½º¸¶Æ® Æ÷ÀÎÅÍ 1215.6 ÂüÁ¶ Ä«¿îÆ® 1255.7 ¾²±â ½Ã º¹Á¦ 1285.8 ¸ÂÃã ÇÒ´çÀÚ 132__5.8.1 ¸ÂÃã ÇÒ´çÀÚ ÀÛ¼ºÇϱâ 133 / 5.8.2 º¸È£ ¸Þ¸ð¸®¸¦ À§ÇÑ ¸ÂÃã ÇÒ´çÀÚ ¸¸µé±â 1365.9 ½º¸¶Æ® Æ÷ÀÎÅÍ ¿ä¾à 1415.10 ¿ä¾à 142PART III Á¤È®¼ºCHAPTER 6 ´ÜÀ§ Å×½ºÆ® 1456.1 ·¯½ºÆ®¿¡¼ÀÇ Å×½ºÆ®´Â ¾î¶² Â÷ÀÌ°¡ Àִ°¡? 1466.2 ³»Àå Å×½ºÆ® ±â´É »ìÆ캸±â 1486.3 Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ© 1496.4 Å×½ºÆ®ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í: ÄÄÆÄÀÏ·¯°¡ ´ç½Åº¸´Ù ´õ Àß ¾Æ´Â ÀÌÀ¯ 1536.5 º´·Ä Å×½ºÆ® Ư¼ö »ç·Ê¿Í Àü¿ª »óÅ ó¸® 1546.6 ¸®ÆÑÅ͸µ¿¡ ´ëÇÑ °í·Á 1606.7 ¸®ÆÑÅ͸µ µµ±¸ 161__6.7.1 ÀçÇü½ÄÈ 161 / 6.7.2 À̸§ ¹Ù²Ù±â 161 / 6.7.3 Àç¹èÄ¡ 163 / 6.7.4 ´Ù½Ã ¾²±â 1636.8 ÄÚµå Ä¿¹ö¸®Áö 1656.9 º¯ÈÇÏ´Â »ýÅ°迡 ´ëóÇϱâ 1676.10 ¿ä¾à 168CHAPTER 7 ÅëÇÕ Å×½ºÆ® 1697.1 ÅëÇÕ Å×½ºÆ®¿Í ´ÜÀ§ Å×½ºÆ® ºñ±³ 1707.2 ÅëÇÕ Å×½ºÆ® Àü·« 1737.3 ³»Àå ÅëÇÕ Å×½ºÆ®¿Í ¿ÜºÎ ÅëÇÕ Å×½ºÆ® ºñ±³ 1757.4 ÅëÇÕ Å×½ºÆ® ¶óÀ̺귯¸®¿Í µµ±¸ 176__7.4.1 assert_cmd¸¦ »ç¿ëÇÏ¿© CLI ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ 176 / 7.4.2 ÅëÇÕ Å×½ºÆ®¿¡ proptest »ç¿ëÇϱâ 178 / 7.4.3 ´Ù¸¥ ÅëÇÕ Å×½ºÆ® µµ±¸ 1797.5 ÆÛÁî Å×½ºÆ® 1807.6 ¿ä¾à 184PART IV ºñµ¿±â ·¯½ºÆ®CHAPTER 8 ºñµ¿±â ·¯½ºÆ® 1878.1 ·±Å¸ÀÓ 1898.2 ºñµ¿±â½ÄÀ¸·Î »ç°íÇϱâ 1908.3 Futures: ºñµ¿±â ÀÛ¾÷ °á°ú ó¸®Çϱâ 192__8.3.1 #[tokio::main]À¸·Î ·±Å¸ÀÓ Á¤ÀÇÇϱâ 1948.4 async¿Í .await: ¾ðÁ¦ ±×¸®°í ¾îµð¼ »ç¿ëÇϴ°¡ 1958.5 asyncÀ¸·Î ÇÏ´Â µ¿½Ã¼º°ú º´·Ä¼º 1978.6 async °üÂûÀÚ ±¸ÇöÇϱâ 2028.7 µ¿±â½Ä°ú ºñµ¿±â½ÄÀ» È¥ÇÕÇϱâ 2088.8 async¸¦ »ç¿ëÇÏ¸é ¾È µÉ ¶§ 2108.9 ºñµ¿±â ÄÚµåÀÇ ÃßÀû°ú µð¹ö±ë 2118.10 Å×½ºÆ® ½Ã ºñµ¿±â ´Ù·ç±â 2148.11 ¿ä¾à 216CHAPTER 9 HTTP REST API ¼ºñ½º ¸¸µé±â 2179.1 À¥ ÇÁ·¹ÀÓ¿öÅ© °í¸£±â 2189.2 ¾ÆÅ°ÅØó ¸¸µé±â 2199.3 API ¼³°è 2209.4 ¶óÀ̺귯¸®¿Í µµ±¸ 2219.5 ¾ÖÇø®ÄÉÀÌ¼Ç ±âº» Ʋ ÀÛ¼º 223__9.5.1 main() 223 / 9.5.2 init_tracing() 224 / 9.5.3 init_dbpool() 2259.6 µ¥ÀÌÅÍ ¸ðµ¨¸µ 227__9.6.1 SQL ½ºÅ°¸¶ 227 / 9.6.2 µ¥ÀÌÅÍ¿Í ÀÎÅÍÆäÀ̽ÌÇϱâ 2289.7 API °æ·Î ¼±¾ðÇϱâ 2329.8 API °æ·Î ±¸Çö 2339.9 ¿À·ù ó¸® 2359.10 ¼ºñ½º ½ÇÇà 2379.11 ¿ä¾à 241CHAPTER 10 HTTP REST API ¸í·ÉÇà µµ±¸ ¸¸µé±â 24310.1 »ç¿ëÇÒ µµ±¸¿Í ¶óÀ̺귯¸® °áÁ¤ 24410.2 CLI ¼³°èÇϱâ 24510.3 ¸í·É ¼±¾ðÇϱâ 24610.4 ¸í·É ±¸ÇöÇϱâ 24810.5 ¿äûÀÇ ±¸Çö 25010.6 ¿À·ù¸¦ ÀûÀýÈ÷ ó¸®Çϱâ 25110.7 CLI °Ë»çÇϱâ 25210.8 ¿ä¾à 255PART V ÃÖÀûÈCHAPTER 11 ÃÖÀûÈ 25911.1 ¹«ºñ¿ë Ãß»óÈ 26011.2 º¤ÅÍ 261__11.2.1 º¤ÅÍ ¸Þ¸ð¸® ÇÒ´ç 261 / 11.2.2 º¤ÅÍ ¹Ýº¹ÀÚ 264 / 11.2.3 Vec°ú ½½¶óÀ̽º¸¦ ÀÌ¿ëÇÑ ºü¸¥ º¹»ç 26611.3 SIMD 26711.4 RayonÀ» ÅëÇÑ º´·ÄÈ 26911.5 ·¯½ºÆ®¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ ¾ð¾î °¡¼ÓÈÇϱâ 27211.6 ÀÌÁ¦ºÎÅÍ ³ª¾Æ°¡¾ß ÇÒ ±æ 27311.7 ¿ä¾à 274APPENDIX A ¼³Ä¡ Áöħ 275ã¾Æº¸±â 279