·¯½ºÆ® ±âÃʺÎÅÍ ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö±îÁö ¹Ù·Î ½á¸ÔÀ» ¼ö ÀÖ´Â ¿¹Á¦µéÀ» ¸ðµÎ ¸ð¾Ò´Ù!ÀÌ Ã¥Àº ·¯½ºÆ® ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ±âÃʺÎÅÍ ½ÃÀÛÇÏ¿©, ´ë±Ô¸ð ½Ã½ºÅÛ °³¹ß°ú ÅëÇÕ¿¡ À̸£´Â Àü¹®ÀûÀÎ ³ëÇϿ츦 Á¦°øÇÑ´Ù. ¶ÇÇÑ, ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ ±íÀÌ ÀÖ´Â Áö½ÄÀ» ½ÀµæÇϸç, ·¯½ºÆ®¸¦ È°¿ëÇÑ ¸®´ª½º Ä¿³Î ¸ðµâ °³¹ß±îÁö ´Ù·ç¾î ½Ç¿ëÀûÀÎ °æÇèÀ» ½×À» ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ Ã¥Àº À̷аú ½Ç½ÀÀ» °áÇÕÇÑ Á¢±Ù ¹æ½ÄÀ¸·Î, ·¯½ºÆ®¸¦ È°¿ëÇÑ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¿¹Á¦µé·Î °¡µæ Â÷ ÀÖ´Ù. À̸¦ ÅëÇØ µ¶ÀÚµéÀº ·¯½ºÆ®¸¦ ÅëÇÑ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀÇ Àü¹®¼ºÀ» ÇÑÃþ ´õ ³ôÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¢Ã 01Àå: ·¯½ºÆ® ¼Ò°³
1.1 ¿Ö ·¯½ºÆ®¸¦ ¹è¿ö¾ß Çϴ°¡?
___°³¿ä
___·¯½ºÆ®ÀÇ ¿ª»ç
1.2 ·¯½ºÆ® Ư¡
___¾ÈÀüÇÑ ¸Þ¸ð¸® °ü¸®
___öÀúÇÑ ¿À·ù ó¸®
___½±°í ÆíÇÑ ºñµ¿±â ÇÁ·Î±×·¡¹Ö
___Æí¸®ÇÑ ÆÐÅ°Áö °ü¸® µµ±¸
1.3 ·¯½ºÆ®·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖ³ª?
___·¯½ºÆ® Æ÷ ¸®´ª½º ÇÁ·ÎÁ§Æ®
___±¸±ÛÀÇ Â÷¼¼´ë ¿î¿µÃ¼Á¦ Ç»½Ã¾Æ
___ºí·ÏüÀÎ
___ºü¸£°í ¾ÈÁ¤ÀûÀÎ ¹é¿£µå ½Ã½ºÅÛ °³¹ß
___±× ¿Ü ´Ù¾çÇÑ ÀÀ¿ë »ç·Ê
1.4 °³¹ß ȯ°æ ¼³Á¤Çϱâ
___¸®´ª½º ȯ°æ¿¡ ·¯½ºÆ® ¼³Ä¡
___À©µµ¿ì ȯ°æ¿¡ ·¯½ºÆ® ¼³Ä¡
___·¯½ºÆ® Ç÷¹À̱׶ó¿îµå
1.5 Hello World
___ºñÁÖ¾ó ½ºÆ©µð¿À ÄÚµå·Î ·¯½ºÆ® ÄÚµå ½ÇÇàÇϱâ
1.6 ¿ä¾à
¢Ã 02Àå: ·¯½ºÆ® ±âÃÊ
2.1 ÀÚ·áÇü
___ÀÚ·áÇü È®ÀÎÇϱâ
___Æ©ÇÃ
___¹è¿
___¹®ÀÚ¿
2.2 ºÒº¯¼º°ú °¡º¯¼º
___¼¨µµÀ×
2.3 Á¦¾î¹®
___if
___match
2.4 ¹Ýº¹¹®
___loop
___for
___while
2.5 ÇÔ¼ö
2.6 Ŭ·ÎÀú
2.7 n¹ø° ¼ö¸¦ Ãâ·ÂÇÏ´Â ÇǺ¸³ªÄ¡ ÇÔ¼ö ¸¸µé±â
2.8 ±¸Á¶Ã¼
___±¸Á¶Ã¼ Á¤ÀÇ
___±¸Á¶Ã¼ ¸Þ¼µå
___¿¬°ü ÇÔ¼ö
2.9 ¿°ÅÇü
___Option ¿°ÅÇü
2.10 ±¸Á¶Ã¼·Î ¿¬°á ¸®½ºÆ® ¸¸µé±â
2.11 ¿ä¾à
¢Ã 03Àå: ¼ÒÀ¯±Ç°ú ¸Þ¸ð¸® ÇÒ´ç
3.1 ¼ÒÀ¯±Ç
___ºô¸²
___µ¥ÀÌÅÍ º¹Á¦
3.2 µ¿Àû ¸Þ¸ð¸® ÇÒ´ç
___Box
___Rc
___RefCell
___¾àÇÑ ÂüÁ¶
___Box¿Í Rc
3.3 ¶óÀÌÇÁŸÀÓ Áö½ÃÀÚ
___Á¤Àû º¯¼ö
3.4 ÀÌÁß ¿¬°á ¸®½ºÆ® ¸¸µé±â
3.5 ¿ä¾à
¢Ã 04Àå: ·¯½ºÆ® ½ÉÈ
4.1 ÇÁ·ÎÁ§Æ® ±¸Á¶¿Í ¸ðµâÈ
___¸ðµâÈ
___°£´ÜÇÑ ¸ðµâ ¸¸µé¾îº¸±â
___mod·Î °èÃþ ±¸¼ºÇϱâ
___¸ðµâ ´ÜÀ§·Î ÆÄÀÏ ºÐ¸®
___use »ç¿ëÇϱâ
___°¡½Ã¼º Á¦¾î
4.2 ¿À·ù ó¸®
___º¹±¸ °¡´ÉÇÑ ¿À·ù
___º¹±¸ ºÒ°¡´ÉÇÑ ¿À·ù
___º¹±¸ °¡´ÉÇÑ ¿À·ù vs. º¹±¸ ºÒ°¡´ÉÇÑ ¿À·ù
4.3 Ä÷º¼Ç
___Vec
___LinkedList
___HashMap
___ÇؽüÂ
___BinaryHeap
___String
___Ä÷º¼ÇÀÇ ¼ÒÀ¯±Ç
4.4 °£´ÜÇÑ ÆÄÀÏ ±â¹Ý µ¥ÀÌÅͺ£À̽º ¸¸µé±â
4.5 ¿ä¾à
¢Ã 05Àå: µ¿½Ã¼º, ÀÔÃâ·Â, ³×Æ®¿öÅ·, IPC
5.1 µ¿½Ã¼º
___std::thread »ç¿ëÇϱâ
___async/await
___À̺¥Æ® ·çÇÁ
___µ¿½Ã¼º Á¦¾î ±â¹ý
___´ÙÁß ½º·¹µå¿¡¼ ¹ß»ýÇÏ´Â ´Ù¾çÇÑ ¹®Á¦µé
5.2 ÀÔÃâ·Â
___µ¿±â½Ä ÀÔÃâ·Â
___ºñµ¿±â½Ä ÀÔÃâ·Â
___µ¥ÀÌÅÍ ¹öÆÛ¸µ
___µ¥ÀÌÅÍ Á÷·ÄÈ
___SQLite »ç¿ëÇϱâ
5.3 ³×Æ®¿öÅ·°ú IPC
___°£´ÜÇÑ HTTP Ŭ¶óÀ̾ðÆ® ¸¸µé±â
___REST API »ç¿ëÇϱâ
___°£´ÜÇÑ À¥¼¹ö ¸¸µé±â
___TCP ¼¹ö¿Í Ŭ¶óÀ̾ðÆ® ¸¸µé±â
___±âŸ ´Ù¾çÇÑ IPC ±â¹ýµé
5.4 äÆà ¼ºñ½º ¸¸µé±â
5.5 ¿ä¾à
¢Ã 06Àå: ·¯½ºÆ® ¶óÀ̺귯¸® È°¿ë
6.1 ·¯½ºÆ® Ç¥ÁØ ¶óÀ̺귯¸®
___·¯½ºÆ® Ç¥ÁØ Æ®·¹ÀÕ
___AsRef
___½Ã½ºÅÛ ÄÝ
6.2 ÆÄÀÏ, µð·ºÅ͸® ´Ù·ç±â
___std::fs
___std::path
___tree ¸í·É¾î ¸¸µé±â
6.3 ½Ã°£ ó¸®
___½Ã°£ ¹× ³¯Â¥ °ü·Ã ¶óÀ̺귯¸®
___½Ã°£ ¿¬»ê
6.4 °£´ÜÇÑ ¼Ð Å͹̳Π¸¸µé±â
6.5 ¿ä¾à
¢Ã 07Àå: °´Ã¼ÁöÇâ°ú µðÀÚÀÎ ÆÐÅÏ
7.1 °´Ã¼ÁöÇâ ·¯½ºÆ®
___ĸ½¶È
___´ÙÇü¼º
___»ó¼Ó
7.2 µðÀÚÀÎ ÆÐÅÏ
___ÆÑÅ丮 ¸Þ¼µå ÆÐÅÏ
___½Ì±ÛÅÏ ÆÐÅÏ
___ºô´õ ÆÐÅÏ
___¾î´ðÅÍ ÆÐÅÏ
___ÄÄÆ÷ÁöÆ® ÆÐÅÏ
___µ¥ÄÚ·¹ÀÌÅÍ ÆÐÅÏ
___ÇöóÀÌ¿þÀÌÆ® ÆÐÅÏ
___¿ÉÀú¹ö ÆÐÅÏ
___Àü·« ÆÐÅÏ
___»óÅÂ ÆÐÅÏ
7.3 ¿ä¾à
¢Ã 08Àå: ¸ÅÅ©·Î
8.1 ¸ÅÅ©·Î¶õ?
___¸ÅÅ©·Î¸¦ »ç¿ëÇÏ´Â ¸ñÀû
8.2 print!¿Í vec!
___print! ¸ÅÅ©·Î
___vec! ¸ÅÅ©·Î
8.3 ¸ÅÅ©·Î ¹®¹ý
___macro_rules!
___¸ÅÅ©·Î¿¡¼ ´Ù¸¥ ¸ÅÅ©·Î È£Ãâ
8.4 ¸ÅÅ©·Î µð¹ö±ë
8.5 ¿ä¾à
¢Ã 09Àå: ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö
9.1 ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ̶õ
9.2 FFI
___BindgenÀ» »ç¿ëÇØ C ÄÚµå È£ÃâÇϱâ
___autocxx¸¦ »ç¿ëÇØ C++ÄÚµå »ç¿ëÇϱâ
___Unsafe
9.3 ·¹°Å½Ã ¶óÀ̺귯¸® ¿¬µ¿
___libc »ç¿ëÇϱâ
___OS ÀÚ·áÇü
___·¹°Å½Ã Äڵ带 ·¯½ºÆ®·Î ¸¶À̱׷¹À̼ÇÇϱâ À§ÇÑ ´Ü°èº° Àü·«
9.4 ¸®´ª½º ½Ã½ºÅÛ ÇÁ·Î±×·¥ ¸¸µé±â
___°øÀ¯ ¸Þ¸ð¸® ´Ù·ç±â
___mmapÀ¸·Î ÇÁ·Î¼¼½º °£ ÆÄÀÏ °øÀ¯
___ioctl·Î µð¹ÙÀ̽º Á¦¾îÇϱâ
___½Ã±×³Î Çڵ鷯 ´Ù·ç±â
___DBus ¼¹ö/Ŭ¶óÀ̾ðÆ® °³¹ß
9.5 ¿ä¾à
¢Ã 10Àå: Ä¿³Î °³¹ßÀ» À§ÇØ ¾Ë¾Æ¾ß ÇÒ °Í
10.1 ¸®´ª½º Ä¿³ÎÀÇ ¿ª»ç
___¸®´ª½º ¿î¿µÃ¼Á¦¿Í ¸®´ª½º Ä¿³Î
___¸®´ª½º Ä¿³ÎÀÇ ¿ª»ç
___¸®´©½º Åä¹ßÁî¿Í Ÿ³Ù¹Ù¿ò ±³¼öÀÇ ³íÀï
___¸ð³î¸®½Ä Ä¿³Î°ú ¸¶ÀÌÅ©·Î Ä¿³Î
___¸®´ª½º Ä¿³ÎÀÇ ¼º°ø ¿äÀÎ
___¸®´ª½º Ä¿³Î °ü¸® ¹× °³¹ß
___¸®´ª½º Ä¿³Î ÄÚµå ¹Ý¿µ ¹æ¹ý
___¸®´ª½º ¿î¿µÃ¼Á¦¿Í À¯´Ð½º
10.2 Ä¿³Î °³¹ßÀ» À§ÇÑ È¯°æ ¼³Á¤
___·¯½ºÆ® ÅøüÀÎ ´Ù¿î·Îµå ¹× ¼³Ä¡ ¹æ¹ý
___·¯½ºÆ® Ä¿³Î ´Ù¿î·Îµå
___·¯½ºÆ® Ä¿³Î ºôµå ¹æ¹ý
___QEMU ȯ°æ ±¸Ãà
10.3 ·¯½ºÆ® Ä¿³Î ¸ðµâ ºôµå ¹× ½ÇÇà
10.4 ¿ä¾à
¢Ã 11Àå: ¸®´ª½º Ä¿³Î ¾ÆÅ°ÅØó
11.1 ¸®´ª½º Ä¿³Î ¾ÆÅ°ÅØó
11.2 ÇÁ·Î¼¼½º °ü¸®
___ÇÁ·Î¼¼½ºÀÇ °³³ä°ú Ư¡
___½º·¹µå
___ÇÁ·Î¼¼½º »óÅÂ¿Í »ý¸íÁÖ±â
___ÇÁ·Î¼¼½º °ü¸®¸¦ À§ÇÑ ÀÚ·á ±¸Á¶
___ÇÁ·Î¼¼½º ½ºÄÉÁÙ¸µ
___ÇÁ·Î¼¼½º µ¿±âÈ¿Í Åë½Å
11.3 ¸Þ¸ð¸® °ü¸®
11.4 ÆÄÀÏ ½Ã½ºÅÛ
11.5 À¯Àú ¸ðµå vs. Ä¿³Î ¸ðµå
11.6 ¿ä¾à
¢Ã 12Àå: C¸¦ »ç¿ëÇØ Ä¿³Î ¸ðµâ ¸¸µé±â
12.1 ºôµå ȯ°æ ±¸¼º
12.2 °£´ÜÇÑ Ä¿³Î ¸ðµâ ¸¸µé±â
12.3 À¯Àú ¸ðµå ÇÁ·Î±×·¥°ú »óÈ£ÀÛ¿ëÇϱâ
12.4 ¿ä¾à
¢Ã 13Àå: ·¯½ºÆ® ÀÌ¿ëÇÑ Ä¿³Î °³¹ß
13.1 ·¯½ºÆ® Æ÷ ¸®´ª½º
13.2 ·¯½ºÆ®¸¦ ÀÌ¿ëÇÑ Ä¿³Î °³¹ß
13.3 Ä¿³Î °³¹ßÀ» µ½´Â ´Ù¾çÇÑ Å©·¹ÀÌÆ®
___Ä¿³Î Å©·¹ÀÌÆ®
___ÇÒ´ç Å©·¹ÀÌÆ®
___ÄÚ¾î Å©·¹ÀÌÆ®
13.4 ·¯½ºÆ®¸¦ »ç¿ëÇØ °£´ÜÇÑ Ä¿³Î ¸ðµâ ¸¸µé±â
___°£´ÜÇÑ Ä¿³Î ¸ðµâ ¸¸µé±â
___¸®´ª½º Ä¿³Î¿¡¼ FFI »ç¿ëÇϱâ
___Ä¿³Î ¸ðµâ¿¡ ÆĶó¹ÌÅÍ ³Ñ±â±â
___À¯Àú ÇÁ·Î±×·¥°ú »óÈ£ÀÛ¿ëÇϱâ
___Ä¿³ÎÀÇ µ¿±âÈ ¿ä¼Ò »ç¿ëÇϱâ
___À¯Àú ¸ðµå¿¡¼ »ç¿ë °¡´ÉÇÑ Ä¿³Î ¼¼¸¶Æ÷¾î ±¸ÇöÇϱâ
13.5 ¿ä¾à
¢Ã 14Àå: Ä¿³Î ¸ðµâ °³¹ß ½ÉÈ
14.1 Ä¿³Î ÇÙ½É ¸ðµâ °³¹ß
___Ä¿³Î ¸Þ¸ð¸® ÇÒ´ç
___Ä¿³Î ½º·¹µå ±¸Çö
___Ä¿³Î ÀÎÅÍ·´Æ® Çڵ鷯 ±¸Çö
14.2 DMA¿Í Á¦·Î Ä«ÇÇ Àü·«
___Á¦·Î Ä«ÇÇ Àü·«
___DMA
___mmap°ú DMA¸¦ »ç¿ëÇÑ Á¦·Î Ä«ÇÇ Àü·«
14.3 µå¶óÀ̹ö ·¹º§¿¡¼ ioctl ±¸Çö
___ioctl ±¸Çö
14.4 °£´ÜÇÑ ¹®ÀÚ µå¶óÀ̹ö ¸¸µé±â
___¹®ÀÚ µå¶óÀ̹ö ±¸Çö
14.5 °£´ÜÇÑ ºí·Ï µð¹ÙÀ̽º µå¶óÀ̹ö ¸¸µé±â
___ºí·Ï µð¹ÙÀ̽º µå¶óÀ̹ö ±¸Çö
14.6 ¿ä¾à
¢Ã 15Àå: Ä¿³Î µð¹ö±ë
15.1 ¼º´É ÇÁ·ÎÆÄÀÏ
___ftrace
___eBPF
15.2 ·Î±ë
___Ä¿³Î ·Î±× Ãâ·Â ¹× È®ÀÎ
___·¯½ºÆ®·Î Ä¿³Î ·Î±× Ãâ·Â ¹æ¹ý
15.3 ½Ã½ºÅÛ ÇÁ·Î¼¼½º Á¤º¸ È®ÀÎ ¹æ¹ý
15.4 Ä¿³Î ÆдРºÐ¼®
___kdump »ç¿ë¹ý
15.5 ¿ä¾à
¢Ã 16Àå: Á¾ÇÕ ¿¹Á¦
16.1 LXC¸¦ »ç¿ëÇØ ³ª¸¸ÀÇ ÄÁÅ×ÀÌ³Ê ¸¸µé±â
16.2 Fuse¸¦ ÀÌ¿ëÇÑ À¯Àú ¿µ¿ª ÆÄÀÏ µå¶óÀ̹ö ¸¸µé±â
___ÆÄÀÏ µå¶óÀ̹ö ±¸Á¶
___FUSE
___FUSE¸¦ ÀÌ¿ëÇÑ À¯Àú ¿µ¿ª ÆÄÀÏ µå¶óÀ̹ö ¸¸µé±â
16.3 ¿ä¾à
¢Ã 17Àå: ¸¶Ä¡¸ç
17.1 Á¤¸®Çϱâ
17.2 ·¯½ºÆ®ÀÇ ¹Ì·¡
¢Ã ºÎ·ÏA: À¥ ¾î¼Àºí¸®
A.1 À¥ ¾î¼Àºí¸® ¼Ò°³
A.2 À¥ ¾î¼Àºí¸®ÀÇ ÀÛµ¿ °úÁ¤
A.3 À¥ ¾î¼Àºí¸® °³¹ßÇϱâ
___°³¹ß ȯ°æ ±¸¼º
___°£´ÜÇÑ À¥ ¾î¼Àºí¸® ¸¸µé±â
___wasmÀ» ±¸µ¿ÇÒ À¥ ¼¹ö ¼³Á¤
A.4 yew¸¦ »ç¿ëÇØ °£´ÜÇÑ SPA ±¸µ¿Çϱâ
¢Ã ºÎ·ÏB: Å©·Î½º Ç÷§Æû
B.1 Å©·Î½º Ç÷§Æû ¼Ò°³
___ARM64¿ë Hello World °³¹ßÇϱâ
B.2 Android NDK °³¹ß
___°³¹ß ȯ°æ ±¸¼º
B.3 °£´ÜÇÑ NDK »ùÇà ¸¸µé±â
___ÀÚ¹Ù¿Í ·¯½ºÆ®ÀÇ ¼º´É ºñ±³
¢Ã ºÎ·ÏC: GUI ÇÁ·Î±×·¡¹Ö
C.1 ICED
C.2 egui
C.3 gtk-rs