°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "ŸÀÔ½ºÅ©¸³Æ® Äü½ºÅ¸Æ®" Á¤°¡ 32,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1Àå ŸÀÔ½ºÅ©¸³Æ® ¼Ò°³ 1.1. ECMA½ºÅ©¸³Æ®¿Í ŸÀÔ½ºÅ©¸³Æ® 1.1.1. ECMA½ºÅ©¸³Æ®ÀÇ ¿ª»ç 1.1.2. ECMA½ºÅ©¸³Æ®¸¦ Áö¿øÇϴ ŸÀÔ½ºÅ©¸³Æ® 1.2. ŸÀÔ½ºÅ©¸³Æ® °³¿ä 1.2.1. ŸÀÔ½ºÅ©¸³Æ®ÀÇ Æ¯Â¡ 1.2.2. ŸÀÔ½ºÅ©¸³Æ®ÀÇ µµ±¸ Áö¿ø 1.2.3. ŸÀÔ½ºÅ©¸³Æ®ÀÇ ¿ª»ç 1.2.4. ŸÀÔ½ºÅ©¸³Æ®ÀÇ ¾ÆÅ°ÅØó 1.2.5. ŸÀÔ½ºÅ©¸³Æ® ÄÄÆÄÀÏ·¯ 1.2.6. ŸÀÔ½ºÅ©¸³Æ®¿Í ´Ù¸¥ ¾ð¾î °£ ºñ±³ 1.2.7. ŸÀÔ ½Ã½ºÅÛ °£ ºñ±³ 1.3. ŸÀÔ½ºÅ©¸³Æ®ÀÇ »ýÅ°è 1.3.1. ŸÀÔ½ºÅ©¸³Æ®ÀÇ Àαâ 1.3.2. ŸÀÔ½ºÅ©¸³Æ® ±â¹Ý ÇÁ·¹ÀÓ¿öÅ©
2Àå °³¹ß ȯ°æ ±¸Ãà 2.1. ŸÀÔ½ºÅ©¸³Æ® ¼³Ä¡ 2.1.1. Node.js ¼Ò°³¿Í ¼³Ä¡ 2.1.2. NPMÀÇ ÀÌÇØ 2.1.3. NPMÀ» ÀÌ¿ëÇÑ Å¸ÀÔ½ºÅ©¸³Æ® ¼³Ä¡¿Í ¾÷µ¥ÀÌÆ® 2.2. ŸÀÔ½ºÅ©¸³Æ® ½ÇÇà°ú ÇÁ·ÎÁ§Æ® ±¸¼º 2.2.1. Hello TypeScript! Ãâ·Â 2.2.2. tsc ¸í·É¾î¿Í ÄÄÆÄÀÏ ¿É¼Ç 2.2.3. tsconfig.json ÆÄÀÏÀ» ÀÌ¿ëÇÑ ÄÄÆÄÀÏ 2.2.4. ts-node ¸ðµâÀ» ÀÌ¿ëÇÑ ÄÄÆÄÀÏ°ú ½ÇÇà 2.3. ŸÀÔ½ºÅ©¸³Æ®ÀÇ °³¹ß µµ±¸ 2.3.1. VSCode ¼Ò°³ 2.3.2. VSCodeÀÇ ¼³Ä¡ 2.3.3. VSCodeÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º 2.3.4. ŽºÅ©·¯³Ê ¼³Á¤ 2.3.5. ŸÀÔ½ºÅ©¸³Æ®ÀÇ È®Àå ±â´É
3Àå º¯¼ö ¼±¾ð°ú ±âº» ŸÀÔ 3.1. º¯¼ö ¼±¾ð 3.1.1. var ¼±¾ðÀÚÀÇ Æ¯Â¡ 3.1.2. let ¼±¾ðÀÚÀÇ Æ¯Â¡ 3.1.3. »ó¼ö ¼±¾ð 3.2. ŸÀÔ °Ë»ç¿Í ŸÀÔ ¼±¾ð 3.2.1. Á¡ÁøÀû ŸÀÔ °Ë»ç 3.2.2. ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ µ¿Àû ŸÀÌÇÎ 3.2.3. ŸÀÔ °èÃþµµ 3.2.4. º¯¼ö¿¡ ŸÀÔ ÁöÁ¤ 3.3. ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ Å¸ÀÔ 3.3.1. ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ³»Àå ŸÀÔ 3.3.2. symbol ŸÀÔ 3.3.3. enum ŸÀÔ 3.4. ŸÀÔ½ºÅ©¸³Æ®ÀÇ ³»Àå ŸÀÔ 3.4.1. any ŸÀÔ 3.4.2. ¹è¿ ŸÀÔ°ú Á¦³×¸¯ ¹è¿ ŸÀÔ 3.4.3. Æ©Çà ŸÀÔ 3.4.4. void, null, undefined
4Àå Á¦¾î¹® 4.1. Á¶°Ç¹®ÀÇ Å¸ÀÔ Á¦¾à°ú Æú½º·ç 4.1.1. if ¹® »ç¿ë ½Ã ŸÀÔ Á¦¾à 4.1.2. switch ¹®°ú Æú½º·ç 4.2. ¹Ýº¹¹®ÀÇ ´Ù¾çÇÑ »ç¿ë¹ý 4.2.1. for ¹®°ú ÀÌÅÍ·¯ºí °´Ã¼ 4.2.2. while ¹®°ú do-while ¹®
5Àå ¿¬»êÀÚ 5.1. ±âº» ¿¬»êÀÚ 5.1.1. »ê¼ú ¿¬»êÀÚ 5.1.2. ºñ±³, ³í¸®, Á¶°Ç ¿¬»êÀÚ 5.2. µð½ºÆ®·°Ã³¸µ 5.2.1. °´Ã¼ µð½ºÆ®·°Ã³¸µ 5.2.2. ¹è¿ µð½ºÆ®·°Ã³¸µ 5.3. Àü°³ ¿¬»êÀÚ 5.3.1. Àü°³ ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÑ ¹è¿ ¿ä¼Ò È®Àå 5.3.2. Àü°³ ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÑ °´Ã¼ ¿ä¼Ò È®Àå
6Àå ÇÔ¼ö 6.1. ŸÀÔ½ºÅ©¸³Æ® ÇÔ¼ö »ç¿ë 6.1.1. ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö 6.1.2. ŸÀÔ ¾ÈÀü¼ºÀ» °®Ãá ŸÀÔ½ºÅ©¸³Æ® ÇÔ¼ö 6.2. ¸Å°³º¯¼öÀÇ È°¿ë 6.2.1. ±âº» ÃʱâÈ ¸Å°³º¯¼ö 6.2.2. ³ª¸ÓÁö ¸Å°³º¯¼ö 6.2.3. ¼±Åà ¸Å°³º¯¼ö 6.2.4. ÇÔ¼ö ¿À¹ö·Îµå 6.3. À͸í ÇÔ¼öÀÇ ÀÌÇØ¿Í È°¿ë 6.3.1. À͸í ÇÔ¼ö¿Í È»ìÇ¥ ÇÔ¼ö 6.3.2. À͸í ÇÔ¼öÀÇ ÇÔ¼ö ŸÀÔ 6.3.3. Äݹé ÇÔ¼öÀÇ Å¸ÀÔ ¼±¾ð°ú È°¿ë
7Àå Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º 7.1. °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú Ŭ·¡½º ±âÃÊ 7.1.1. ŸÀÔ½ºÅ©¸³Æ®ÀÇ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö Áö¿ø 7.1.2. Ŭ·¡½º ¼±¾ð°ú °´Ã¼ »ý¼º 7.1.3. »ó¼Ó °ü°è¿Í Æ÷ÇÔ °ü°è 7.1.4. Á¢±Ù Á¦ÇÑÀÚÀÇ »ç¿ë¹ý 7.1.5. Ãß»ó Ŭ·¡½º¸¦ ÀÌ¿ëÇÑ °øÅë ±â´É Á¤ÀÇ 7.2. ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÀÌÇØ 7.2.1. ÀÎÅÍÆäÀ̽º ¼Ò°³ 7.2.2. ÀÎÅÍÆäÀ̽ºÀÇ ¿ªÇÒ°ú ÄÄÆÄÀÏ °á°ú ºÐ¼® 7.2.3. Ŭ·¡½º¸¦ ¹è¿ ¿ä¼Ò ŸÀÔÀ¸·Î ÁöÁ¤ÇÔ 7.2.4. ÀÎÅÍÆäÀ̽º¸¦ ¹è¿ ŸÀÔÀ¸·Î ÁöÁ¤ÇÔ 7.2.5. ÀÎÅÍÆäÀ̽º¿¡ ÇÔ¼ö ŸÀÔÀ» Á¤ÀÇÇϱâ 7.3. Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽ºÀÇ È°¿ë 7.3.1. ¿À¹ö¶óÀ̵ùÀ¸·Î ¸Þ¼µå¸¦ ÀçÁ¤ÀÇÇϱâ 7.3.2. ¿À¹ö·ÎµùÀ» ±¸ÇöÇÏ´Â ¿©·¯ ¹æ¹ý 7.3.3. Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º ±â¹ÝÀÇ ´ÙÇü¼º ±¸ÇöÇϱâ 7.3.4. Ŭ·¡½º¿¡¼ getter¿Í setter 7.3.5. Á¤Àû º¯¼ö¿Í Á¤Àû ¸Þ¼µå 7.3.6. readonly Á¦ÇÑÀÚÀÇ È°¿ë
8Àå ¸ðµâ 8.1. ¸ðµâ¿¡ ´ëÇÑ ÀÌÇØ 8.1.1. ¸ðµâ¿¡ ´ëÇÑ ÀÌÇØ¿Í Çʿ伺 8.1.2. ³»ºÎ ¸ðµâ°ú ¿ÜºÎ ¸ðµâ 8.2. ³×ÀÓ½ºÆäÀ̽º 8.2.1. ³×ÀÓ½ºÆäÀ̽º¿¡ ´ëÇÑ ÀÌÇØ 8.2.2. ÇÑ ÆÄÀÏ¿¡ ¿©·¯ ³×ÀÓ½ºÆäÀ̽º ¼±¾ðÇϱâ 8.2.3. ³×ÀÓ½ºÆäÀ̽º Çϳª¸¦ ¿©·¯ ÆÄÀÏ¿¡ ¼±¾ðÇϱâ 8.2.4. ³×ÀÓ½ºÆäÀ̽º ¸ðµâ 8.2.5. ³×ÀÓ½ºÆäÀ̽ºÀÇ À̸§ È®Àå 8.2.6. ºê¶ó¿ìÀú¿¡¼ ³×ÀÓ½ºÆäÀ̽ºÀÇ ¸ðµâ È£Ãâ 8.3. ¸ðµâÀÇ ÀÌÇØ¿Í »ç¿ë 8.3.1. ¸ðµâ ¼±¾ð°ú ¸ðµâ ÀÓÆ÷Æ® 8.3.2. ¸ðµâÀ» °³º°ÀûÀ¸·Î ³ëÃâÇÏ°í »ç¿ëÇϱâ 8.3.3. ¿©·¯ ¸ðµâÀ» ÇÔ²² exportÇϱâ 8.3.4. ¸ðµâÀ» Àç³ëÃâÇØ »ç¿ëÇϱâ 8.3.5. µðÆúÆ® ¸ðµâÀÇ ÀÌÇØ¿Í »ç¿ë¹ý 8.4. ¸ðµâ ½Ã½ºÅÛ 8.4.1. ¸ðµâ ·Î´õ¿Í ¸ðµâ Çü½Ä 8.4.2. ¸ðµâ Çü½Ä¿¡ ¸ÂÃç ÄÄÆÄÀÏÇϱâ 8.4.3. ƯÁ¤ ¸ðµâ Çü½ÄÀ» ½ÇÇàÇϱâ À§ÇÑ Áغñ 8.5. °¢Á¾ ¸ðµâ Çü½Ä¿¡ ´ëÇÑ ¼Ò°³ 8.5.1. ES2015 ¸ðµâ Çü½Ä 8.5.2. CommonJS ¸ðµâ Çü½Ä 8.5.3. AMD ¸ðµâ Çü½Ä 8.5.4. UMD ¸ðµâ Çü½Ä 8.5.5. SystemJS ¸ðµâ Çü½Ä
09 °í±Þ ŸÀÔ 9.1. À¯´Ï¾ð ŸÀÔ°ú ŸÀÔ °¡µå 9.1.1. À¯´Ï¾ð ŸÀÔ 9.1.2. ŸÀÔ °¡µå 9.2. ¾Ë¾ÆµÎ¸é ¾µ¸ð ÀÖ´Â °í±Þ ŸÀÔµé 9.2.1. ¹®ÀÚ¿ ¸®ÅÍ·² ŸÀÔ 9.2.2. ·è¾÷ ŸÀÔ 9.2.3. non-nullable ŸÀÔ 9.2.4. ³×¹ö ŸÀÔ 9.2.5. this ŸÀÔ
10Àå ŸÀÔ ¼±¾ð°ú º¯°æ, ŸÀÔ È£È¯ 10.1. ŸÀÔ ¼±¾ð°ú º¯°æ 10.1.1. ŸÀÔ ¿¡Àϸ®¾î½º 10.1.2. ŸÀÔ Ãß·Ð 10.1.3. ŸÀÔ Ä³½ºÆÃ, º¯È¯, ¾î¼³¼Ç 10.2. ŸÀÔ È£È¯ 10.2.1. ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Å¸ÀÔ ½Ã½ºÅÛ 10.2.2. ´ö ŸÀÌÇÎ 10.2.3. ±¸Á¶ ŸÀÌÇÎ 10.2.4. ±¸Á¶ ¼ºêŸÀÌÇÎ 10.2.5. ¸í¸ñ ŸÀÌÇÎ
11Àå Á¦³×¸¯ 11.1. Á¦³×¸¯ ¼Ò°³ 11.1.1. any·Î ŸÀÔÀ» ´À½¼ÇÏ°Ô ¸¸µé±â 11.1.2. Á¦³×¸¯ ¼Ò°³ 11.2. Á¦³×¸¯ ÇÔ¼ö 11.2.1. Á¦³×¸¯ ÇÔ¼ö ¼±¾ð 11.2.2. ŸÀÔ ¸Å°³º¯¼öÀÇ È®Àå 11.3. Á¦³×¸¯ Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º 11.3.1. Á¦³×¸¯ Ŭ·¡½º ¼±¾ð 11.3.2. ŸÀÔ ¸Å°³º¯¼ö¿¡ ÀÎÅÍÆäÀ̽º¸¦ »ó¼ÓÇϱâ 11.4. Á¦³×¸¯ÀÇ ¿©·¯ È°¿ë ¹æ¹ý 11.4.1. ·è¾÷ ŸÀÔÀ» Á¦³×¸¯ Ŭ·¡½º¿¡ Àû¿ë 11.4.2. ÀÎÅÍÆäÀ̽º¸¦ »ó¼ÓÇØ Á¦³×¸¯ È®ÀåÇϱâ 11.4.3. ¸Ê °´Ã¼ÀÇ ¼±¾ð°ú ŸÀÔ ÁöÁ¤ ¹æ¹ý 11.4.4. Á¦³×¸¯ ±â¹ÝÀÇ ÀڷᱸÁ¶ ¸¸µé±â
12Àå ºñµ¿±â ó¸® 12.1. ÇÁ·Î¹Ì½º¸¦ ÀÌ¿ëÇÑ Á¦¾î È帧 °³¼± 12.1.1. ºñµ¿±â È£Ã⠽à Áßø ½ºÄÚÇÁÀÇ ¹®Á¦ 12.1.2. ÇÁ·Î¹Ì½º ¼Ò°³¿Í µ¿ÀÛ °úÁ¤ 12.1.3. ŸÀÔ½ºÅ©¸³Æ®¿¡¼ ÇÁ·Î¹Ì½º ÄÄÆÄÀÏ ¹æ¹ý 12.1.4. ÇÁ·Î¹Ì½º¸¦ »ç¿ëÇÑ Áßø ½ºÄÚÇÁ °³¼± 12.1.5. ÇÁ·Î¹Ì½ºÀÇ ºñµ¿±â È£Ãâ Á¦¾î 12.2. RxJS¸¦ È°¿ëÇÑ µ¥ÀÌÅÍ ½ºÆ®¸² ó¸® 12.2.1. ¹ÝÀÀÇü ÇÁ·Î±×·¡¹Ö 12.2.2. RxJS ¼Ò°³¿Í ¼³Ä¡ 12.2.3. µ¥ÀÌÅÍ ½ºÆ®¸²°ú ¿¬»êÀÚ¿¡ ´ëÇÑ ÀÌÇØ 12.2.4. RxJS ¿¬»êÀÚ¸¦ È°¿ëÇÑ µ¥ÀÌÅÍ ½ºÆ®¸² ó¸® 12.3. µ¿½Ã¼ºÀ» È°¿ëÇÑ ºñµ¿±â È£Ãâ Á¦¾î 12.3.1. µ¿½Ã¼º°ú µ¿±âÈ ÀÛ¾÷ 12.3.2. Async/Await ¼Ò°³¿Í ¼³Á¤ 12.3.3. Async/Await¸¦ ÀÌ¿ëÇÑ µ¿±âÈ
13Àå ¼µå ÆÄƼ ¶óÀ̺귯¸®¿Í ŸÀÔ Á¤ÀÇ ÆÄÀÏ 13.1. ¼µå ÆÄƼ ¶óÀ̺귯¸® 13.1.1. ŸÀÔ½ºÅ©¸³Æ®ÀÇ ¼µå ÆÄƼ ¶óÀ̺귯¸® 13.1.2. ŸÀÔ Á¤ÀÇ ÆÄÀÏ¿¡ ´ëÇÑ ÀúÀå¼Ò 13.2. ¶óÀ̺귯¸®¿Í ŸÀÔ Á¤ÀÇ ÆÄÀÏ ¼³Ä¡Çϱâ 13.2.1. ŸÀÌÇÎÀ» ÀÌ¿ëÇÑ Å¸ÀÔ Á¤ÀÇ ÆÄÀÏ ¼³Ä¡(1.x ¹öÀü) 13.2.2. ÆÐÅ°Áö·Î ³»·Á¹Þ¾Æ ŸÀÔ Á¤ÀÇ ÆÄÀÏ ¼³Ä¡(2.x ¹öÀü) 13.3. ŸÀÔ Á¤ÀÇ ÆÄÀÏ 13.3.1. ŸÀÔ Á¤ÀÇ ÆÄÀÏ ¼Ò°³ 13.3.2. ŸÀÔ Á¤ÀÇ ÆÄÀÏ ÀÛ¼º ½Ã ¾Úºñ¾ðÆ® ¼±¾ð 13.3.3. ÀÚ¹Ù½ºÅ©¸³Æ® ¶óÀ̺귯¸® È£Ãâ 13.3.4. ¶óÀ̺귯¸® È£Ã⠽à d.ts ÆÄÀÏ »ç¿ë 13.3.5. ŸÀÔ½ºÅ©¸³Æ®ÀÇ ³×ÀÌƼºê d.ts ÆÄÀÏ
14Àå ÇÁ·ÎÁ§Æ® ±¸¼º°ú ¹øµé¸µ 14.1. ŸÀÔ½ºÅ©¸³Æ® ÇÁ·ÎÁ§Æ®ÀÇ ¹øµé¸µ 14.1.1. ¹øµé·¯¸¦ ÀÌ¿ëÇÑ ¹øµé¸µ 14.1.2. À¥ÆÑÀ» ÀÌ¿ëÇÑ ¹øµé¸µ ÀÛ¾÷ 14.1.3. À¥ÆÑ ¼³Á¤ ÆÄÀÏÀ» ÀÌ¿ëÇÑ ¹øµé¸µ 14.1.4. ŸÀÔ½ºÅ©¸³Æ® ·Î´õ ¼³Á¤°ú À¥ÆÑ ½ÇÇà 14.2. ¶óÀ̺귯¸®¿¡ ±â¹ÝÇÑ ÇÁ·ÎÁ§Æ® ±¸¼º 14.2.1. jQuery ±â¹Ý ÇÁ·ÎÁ§Æ®ÀÇ ±¸¼º°ú ½Ç½À 14.2.2. AngularJS ±â¹Ý ÇÁ·ÎÁ§Æ®ÀÇ ±¸¼º°ú ½Ç½À 14.2.3. ½ºÅ¸ÅÍŶ°ú CLI
15Àå ºÏ¸¶Å© ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß 15.1. ŸÀÔ½ºÅ©¸³Æ®¸¸À¸·Î ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®¸¦ µ¿½Ã¿¡ °³¹ßÇϱâ 15.1.1. µ¿Çü ŸÀÔ½ºÅ©¸³Æ® 15.1.2. ºÏ¸¶Å© ¾ÖÇø®ÄÉÀÌ¼Ç ¼Ò°³ 15.2. ÇÁ·ÎÁ§Æ® ±¸¼º°ú °øÅë API Á¤ÀÇ 15.2.1. ÇÁ·ÎÁ§Æ® µð·ºÅ͸®ÀÇ ±¸Á¶ 15.2.2. ÇÁ·ÎÁ§Æ® °ü·Ã ÆÐÅ°Áö ¼³Ä¡¿Í ¼³Á¤ 15.3. ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ëÇÒ ±âº» ¼¹ö °³¹ß 15.3.1. Node.js ±â¹ÝÀÇ ¼¹ö °³¹ß 15.3.2. ¶ó¿ìÆà ó¸® Ŭ·¡½ºÀÇ °³¹ß 15.4. ŸÀÔ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ Å¬¶óÀ̾ðÆ® °³¹ß 15.4.1. ºÏ¸¶Å© ¾ÖÇø®ÄÉÀ̼ÇÀÇ È¸é °³¹ß 15.4.2. ºÏ¸¶Å© ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸ÞÀÎ ·ÎÁ÷ °³¹ß 15.4.3. À¥ÆÑÀ» ÀÌ¿ëÇÑ ºÏ¸¶Å© ¾ÖÇø®ÄÉÀÌ¼Ç ¹øµé¸µ 15.5. ŸÀÔ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ ¼¹ö °³¹ß 15.5.1. MVC ¸ðµ¨ 15.5.2. ¸ðµ¨ Ŭ·¡½ºÀÇ °³¹ß 15.5.3. ÄÁÆ®·Ñ·¯ Ŭ·¡½ºÀÇ °³¹ß 15.5.4. Á¤Àû ÆÄÀÏÀÌ ´ã±æ µð·ºÅ͸®¿Í ºä ¿£Áø ¼³Á¤ 15.5.5. ÀÀ´ä ½Ã »ç¿ëÇÒ ºä ÅÛÇø´ Á¤ÀÇ 15.6. ±×·±Æ®¸¦ ÀÌ¿ëÇÑ ÀÚµ¿ ÄÄÆÄÀÏ È¯°æ ±¸Ãà 15.6.1. ŽºÅ© ·¯³Ê¸¦ ÀÌ¿ëÇØ ´ÜÀ§ ÀÛ¾÷À» ÀÚµ¿ÈÇϱâ 15.6.2. ±×·±Æ® ¼³Ä¡¿Í ŽºÅ© ÆÐÅ°Áö ¼³Ä¡ 15.6.3. ±×·±Æ® ¼³Á¤ ÆÄÀÏ¿¡ À¥ÆÑ ÀÛ¾÷À» µî·Ï 15.6.4. ±×·±Æ® ¼³Á¤ ÆÄÀÏ¿¡ ŸÀÔ½ºÅ©¸³Æ® ÄÄÆÄÀÏ ÀÛ¾÷ µî·Ï 15.6.5. ±×·±Æ® ¼³Á¤ ÆÄÀÏ¿¡ ÆÄÀÏ º¹»ç ÀÛ¾÷ µî·Ï 15.6.6. ±×·±Æ® ¼³Á¤ ÆÄÀÏ¿¡ µ¿½Ã¼º ¼³Á¤ 15.6.7. ±×·±Æ® ¼³Á¤ ÆÄÀÏ¿¡ °¨½Ã ÀÛ¾÷ µî·Ï 15.6.8. ºê¶ó¿ìÀú µ¿±âÈ ÀÛ¾÷ ¼³Á¤ 15.6.9. ºÏ¸¶Å© ¾ÖÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà °á°ú È®ÀÎ
16Àå Å×½ºÆà 16.1. Å×½ºÆÿ¡ ´ëÇÑ Àü¹ÝÀûÀÎ ¼Ò°³ 16.1.1. Å×½ºÆÃÀÇ Çʿ伺 16.1.2. TDD¿Í ´ÜÀ§ Å×½ºÆà 16.1.3. BDD¿Í BDD Å×½ºÆà 16.2. Å×½ºÆ® ȯ°æ ±¸Ãà 16.2.1. Å×½ºÆ®¿¡ ÇÊ¿äÇÑ ÆÐÅ°Áö ¼³Ä¡ 16.2.2. ¸ðÄ«ÀÇ TDD¿Í BDD ½ºÅ¸ÀÏ¿¡ ´ëÇÑ ÀÌÇØ 16.2.3. °ÉÇÁ¸¦ ÀÌ¿ëÇÑ Å×½ºÆ® ȯ°æ ±¸Ãà 16.3. Å×½ºÆ® ½Ç½À 16.3.1. Ŭ·¡½º ¸ðµâ¿¡ ´ëÇÑ Å×½ºÆ® 16.3.2. ³×ÀÓ½ºÆäÀ̽º¸¦ °í·ÁÇÑ Å×½ºÆ® 16.3.3. DOM Å×½ºÆ®
ºÎ·Ï _ ŸÀÔ½ºÅ©¸³Æ® ÄÄÆÄÀÏ ¿É¼Ç
ÇÁ·ÎÁ§Æ®¿¡ ŸÀÔ ¾ÈÀü¼º°ú °³¹ß »ý»ê¼ºÀ» °í·ÁÇÑ´Ù¸é
ŸÀÔ½ºÅ©¸³Æ®´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡¼ ¸¸µç Â÷¼¼´ë ÀÚ¹Ù½ºÅ©¸³Æ®ÀÔ´Ï´Ù. ±¸±ÛÀ̳ª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® °°Àº ¼¼°èÀûÀÎ IT ȸ»ç¿¡¼ ÀÚ»çÀÇ Á¦Ç° °³¹ß ¾ð¾î·Î ŸÀÔ½ºÅ©¸³Æ®¸¦ äÅÃÇØ »ç¿ëÇÏ°í ÀÖ°í, Angular, Ionic µî°ú °°Àº À¯¸í ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡¼µµ Â÷±â ÇÁ·ÎÁ§Æ®ÀÇ ÁÖ·Â ¾ð¾î·Î ŸÀÔ½ºÅ©¸³Æ®¸¦ ¼±ÅÃÇß½À´Ï´Ù. ŸÀÔ½ºÅ©¸³Æ®´Â ECMAScript Ç¥ÁØÀ» ±â¹ÝÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ® ¹®¹ýÀ» Áö¿øÇÏ°í ÀÚ¹Ù½ºÅ©¸³Æ® »ýÅ°踦 Æ÷ÇÔÇØ ¹ßÀüÇÏ°í ÀÖ½À´Ï´Ù. ŸÀÔ½ºÅ©¸³Æ®´Â ŸÀÔ ½Ã½ºÅÛÀ» ±â¹ÝÀ¸·Î ¼öÁØ ³ôÀº ÀÎÅÚ¸®¼¾½º ȯ°æÀ» Áö¿øÇÏ°í, ¿À·ù ¾ø´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ¶ÇÇÑ, °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú ¸ðµâȸ¦ Áö¿øÇÔÀ¸·Î½á ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ °æÇèÇÏÁö ¸øÇß´ø ³î¶ó¿î »ý»ê¼ºÀ» ¹ÙÅÁÀ¸·Î ´ë±Ô¸ð À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ºü¸£°Ô °³¹ßÇÒ ¼ö ÀÖ½À´Ï´Ù.
¡Ø ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë - ŸÀÔ½ºÅ©¸³Æ® °³¹ß ȯ°æ°ú °³¹ß µµ±¸ - ŸÀÔ½ºÅ©¸³Æ®ÀÇ Å¸ÀÔ ½Ã½ºÅÛ°ú ÃֽŠECMAScript ¼Ò°³ - ŸÀÔ½ºÅ©¸³Æ® ±â¹ÝÀÇ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú ¸ðµâÈ - ŽºÅ©·¯³Ê¿Í °áÇÕÇÑ ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®ÀÇ ÇÁ·ÎÁ§Æ® ȯ°æ ±¸Ãà ¹× Å×½ºÆ® - ŸÀÔ½ºÅ©¸³Æ®¿Í ¿ÜºÎ ¶óÀ̺귯¸®¸¦ ¿¬µ¿ÇÑ È°¿ë ¿¹Á¦
¡Ø ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ - À¥ ¾ð¾î¸¦ óÀ½ ¹è¿ï ¶§ ÀÚ¹Ù½ºÅ©¸³Æ® ´ë½Å ŸÀÔ½ºÅ©¸³Æ®·Î ½ÃÀÛÇÏ°í ½ÍÀº ÇлýÀ̳ª °³¹ßÀÚ(´Ü, ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î °æÇèÀÚ) - ŸÀÔ½ºÅ©¸³Æ®ÀÇ ±âº»±â¸¦ °®Ãß·Á´Â °³¹ßÀÚ - ŸÀÔ½ºÅ©¸³Æ®¸¦ ÁÖ·Â ¾ð¾î·Î »ç¿ëÇÏ´Â Angular³ª Ionic µîÀ» È°¿ëÇÏ´Â °³¹ßÀÚ
¡Ø ÀÌ Ã¥ÀÇ ±¸¼º 1. ŸÀÔ½ºÅ©¸³Æ® ¼Ò°³ ŸÀÔ½ºÅ©¸³Æ®°¡ Áö¿øÇÏ´Â ECMAScript¿¡ ´ëÇØ ¼Ò°³ÇÏ°í ŸÀÔ½ºÅ©¸³Æ®°¡ °³¹ßµÈ ¹è°æ°ú Ư¡, ¾ÆÅ°ÅØó, ÄÄÆÄÀÏ ¹× ½ÇÇà ÀýÂ÷ ±×¸®°í ŸÀÔ½ºÅ©¸³Æ®ÀÇ »ýÅ°踦 »ìÆ캽À¸·Î½á ŸÀÔ½ºÅ©¸³Æ®¸¦ ¿Ö ¹è¿ö¾ß ÇÏ´ÂÁö¿Í ¾ÕÀ¸·ÎÀÇ °¡´É¼º¿¡ ´ëÇØ °¡´ÆÇØ º¾´Ï´Ù. ¶ÇÇÑ, Node.js¿Í ŸÀÔ½ºÅ©¸³Æ®¸¦ ¼³Ä¡ÇØ ±âº»ÀûÀÎ °³¹ßȯ°æÀ» ±¸ÃàÇÏ°í, ÇÁ·ÎÁ§Æ® ±¸¼º°ú ÄÄÆÄÀÏÀ» À§ÇÑ °¢Á¾ ¼³Á¤À» »ìÆ캾´Ï´Ù. ±×¸®°í ÀÌ Ã¥¿¡¼ ÁÖ·Î »ç¿ëÇÏ´Â ºñÁÖ¾ó½ºÆ©µð¿À ÄÚµå(VSCode)¿¡¼ ŸÀÔ½ºÅ©¸³Æ® °³¹ß ȯ°æÀ» ±¸¼ºÇغ¾´Ï´Ù.
2. ŸÀÔ½ºÅ©¸³Æ® ±âÃÊ Å¸ÀÔ½ºÅ©¸³Æ®ÀÇ ±âº» ŸÀÔ°ú ¹®¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. ±âº»ÀûÀÎ º¯¼ö ¼±¾ð¹ýÀ» ¼Ò°³ÇÏ¸é¼ ½ºÄÚÇÁ¿Í È£À̽ºÆÿ¡ °üÇØ ¾Ë¾Æº¸°í, ŸÀÔ½ºÅ©¸³Æ®¿¡¼ »ç¿ëÇϴ ŸÀÔÀÇ Á¾·ù¿Í ŸÀÔ ¼±¾ð, ŸÀÔ °Ë»ç µî¿¡ °üÇØ ÀÚ¼¼ÇÏ°Ô »ìÆ캾´Ï´Ù. ±×¸®°í Á¦¾î¹®, ¿¬»êÀÚ(µð½ºÆ®·°Ã³¸µ Æ÷ÇÔ), ÇÔ¼ö(À͸í, È»ìÇ¥ ÇÔ¼ö Æ÷ÇÔ) µî ±âÁ¸ ÀÚ¹Ù½ºÅ©¸³Æ® ¹®¹ýÀÌ Å¸ÀÔ½ºÅ©¸³Æ®¿¡¼ ¾î¶»°Ô È°¿ëµÇ´ÂÁö ¶Ç´Â ´Þ¶óÁö´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹®¹ýÀ» ¼³¸íÇÒ ¶§´Â ´ëºÎºÐ ±âÁ¸ ÀÚ¹Ù½ºÅ©¸³Æ® ¹®¹ýÀ» È°¿ëÇÏÁö¸¸, ŸÀÔ½ºÅ©¸³Æ®¸¸ÀÇ Æ¯¼º¿¡ ÃÊÁ¡À» µÎ¾î ¼³¸íÇÕ´Ï´Ù. Áï, ¹Ýº¹ÀûÀÎ ·ÎÁ÷À» ¼³¸íÇϱ⺸´Ù ŸÀÔ ½Ã½ºÅÛÀ» »ç¿ëÇÔÀ¸·Î½á ´Þ¶óÁö´Â Á¡ÀÌ ¹«¾ùÀÎÁö ¾Ë ¼ö ÀÖµµ·Ï ±¸¼ºÇß½À´Ï´Ù.
3. ±âº»±â Çâ»óÇϱ⠴ë±Ô¸ð À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» ½±°Ô ÇÏ´Â °´Ã¼ÁöÇâ ±â¹ýÀ» ÀÚ¼¼ÇÏ°Ô ´Ù·ì´Ï´Ù. ŸÀÔ½ºÅ©¸³Æ®´Â ÀÚ¹Ù½ºÅ©¸³Æ®º¸´Ù °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ» ´õ È®½ÇÇÏ°Ô Áö¿øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Æ¯Â¡µéÀ» Çϳª¾¿ »ìÆ캸°í, Ŭ·¡½º¿Í »ó¼Ó, Á¢±Ù Á¦ÇÑÀÚ, Ãß»ó Ŭ·¡½º¿Í ¸Þ¼µå, ÀÎÅÍÆäÀ̽º, ¸ðµâ, ³×ÀÓ½ºÆäÀ̽º µî °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ ±âº»ºÎÅÍ °í±Þ±îÁö ´Ù·ì´Ï´Ù.
4. ±íÀÌ »ìÆ캸±â ŸÀ̽ºÅ©¸³Æ®ÀÇ ÇÙ½ÉÀΠŸÀÔ¿¡ ´ëÇØ ´õ ±íÀÌ ¾Ë¾Æº¾´Ï´Ù. ŸÀÔ½ºÅ©¸³Æ®ÀÇ °í±Þ ŸÀÔ°ú ŸÀÔ º¯È¯, ij½ºÆÃ, ¿¡Àϸ®¾î½Ì, Ãß·Ð, ¾î¼³¼Ç, ŸÀÔ È£È¯ µîÀ» ´Ù·ì´Ï´Ù. ±×¸®°í Á¦³×¸¯°ú ºñµ¿±â ó¸®(ÇÁ·Î¹Ì½º, RxJS, Async/Await) µî °í±Þ ÁÖÁ¦µµ ºñÁß ÀÖ°Ô ´Ù·ì´Ï´Ù.
5. ÇÁ·ÎÁ§Æ® ±¸¼º ¹× ÀÀ¿ë Áö±Ý±îÁö ¹è¿î ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ºÏ¸¶Å© ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®¸¦ µ¿½Ã¿¡ °³¹ßÇغ¾´Ï´Ù. ¿©±â¼´Â ¼µå ÆÄƼ ¶óÀ̺귯¸® µîÀ» È°¿ëÇÏ´Â ¹æ¹ý°ú ŸÀÔ Á¤ÀÇ ÆÄÀÏ¿¡ °üÇØ ¾Ë¾Æº¸°í, ÇÁ·ÎÁ§Æ® ¹øµé¸µ°ú ÇÔ²² jQuery³ª AngularJS °°Àº ¶óÀ̺귯¸®¿¡ ±â¹ÝÀ» µÐ ÇÁ·ÎÁ§Æ® ±¸¼º ¹æ¹ýÀ» ¾Ë¾Æº¾´Ï´Ù. ºÏ¸¶Å© ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¶§´Â ÇÁ·ÎÁ§Æ® ±¸¼º°ú °øÅë API Á¤ÀǺÎÅÍ Node.js·Î ¼¹ö ±¸Ãà, ȸé°ú ·ÎÁ÷ °³¹ß, À¥ÆÑÀ» ÀÌ¿ëÇÑ ¹øµé¸µ, ±×·±Æ®¸¦ ÀÌ¿ëÇÑ ÀÚµ¿ ÄÄÆÄÀÏ È¯°æ µîÀ» ±¸ÃàÇغ¾´Ï´Ù. ±×¸®°í MochaÀÇ TDD¿Í BDD Å×½ºÆÿ¡ °üÇØ ¾Ë¾Æº¸°í Gulp¸¦ ÀÌ¿ëÇÑ Å×½ºÆ® ȯ°æÀ» ±¸ÃàÇØ Å¬·¡½º ¸ðµâ, ³×ÀÓ½ºÆäÀ̽º, DOM Å×½ºÆ®¸¦ ½Ç½ÀÇغ¾´Ï´Ù.
¡Ø ¿¹Á¦ ¼Ò½º ³»·Á¹Þ±â: https://github.com/happygrammer/typescript À庰·Î ±¸¼ºµÈ ÇÁ·ÎÁ§Æ® Æú´õ¿¡ Ã¥ÀÇ ¸ðµç ¿¹Á¦¸¦ ½±°Ô µû¶ó ÇØ º¼ ¼ö ÀÖµµ·Ï Àüü ¼Ò½º¸¦ Á¦°øÇÏ°í Ã¥¿¡¼ »ó¼¼ÇÏ°Ô ¾È³»ÇÕ´Ï´Ù. ÀÌ Ã¥¿¡ ´ã±ä ¼Ò½º´Â ŸÀÔ½ºÅ©¸³Æ® 2.7.2, Node.js: 8.9.4·Î ½Ç½ÀÇÏ°í Å×½ºÆ®Çß½À´Ï´Ù.
|
|
|
|
|