½Ç¹«¿¡ ¹Ù·Î Àû¿ë °¡´ÉÇÑ Äڵ常 ´Ù·ç´Â Vue ÇÙ½É °¡À̵åVue.js´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·¹ÀÓ¿öÅ© Áß¿¡¼ °£Æí¼º°ú À¯¿¬¼ºÀ¸·Î ÁÖ¸ñ¹Þ°í ÀÖÀ¸¸ç, ºü¸£°Ô º¯ÈÇÏ´Â ÇÁ·±Æ®¿£µå °³¹ß ȯ°æ¿¡¼ ±× Á߿伺ÀÌ ´õ¿í Ä¿Áö°í ÀÖ´Ù. ƯÈ÷, Vue 3¿Í Pinia, Vite µîÀÇ ÃֽŠµµ±¸µéÀÌ µîÀåÇÔ¿¡ µû¶ó °³¹ß È¿À²¼º°ú È®À强ÀÌ Å©°Ô Çâ»óµÇ¾ú´Ù.ÀÌ Ã¥¿¡¼´Â ÀÌ·¯ÇÑ ÃֽŠ±â¼ú È帧À» ¹Ý¿µÇØ Vue 3ÀÇ ÇÙ½É ±â´ÉÀ» ½Ç¹«¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖµµ·Ï, ½Ç¿ëÀûÀÎ ÄÚµå ¿¹Á¦¿Í ÇÔ²² ±¸Ã¼ÀûÀ¸·Î ¼³¸íÇÑ´Ù. ÄÄÆ÷Áö¼Ç API, Pinia, ¶ó¿ìÅÍ ¼³Á¤, ±×¸®°í ¼¹ö »çÀÌµå ·»´õ¸µ µî Çö´ë À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà¿¡ ÇʼöÀûÀÎ ÁÖÁ¦µéÀ» »ó¼¼È÷ ¼Ò°³ÇÑ´Ù. ¶ÇÇÑ, ÃֽŠÇÁ·±Æ®¿£µå °³¹ß Æ®·»µå¿¡ ¸ÂÃá ´ÜÀ§ Å×½ºÆ®, CI/CD ÅëÇÕ, Æ®·£Áö¼Ç ¹× ¾Ö´Ï¸ÞÀÌ¼Ç ±â´É±îÁö ¼³¸íÇÏ¸ç ½ÇÀü¿¡¼ ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÁ§Æ®¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» Á¦½ÃÇÑ´Ù. ÃʽÉÀÚµµ ½±°Ô µû¶óÇÒ ¼ö ÀÖµµ·Ï ±âÃʺÎÅÍ °í±Þ ±â¼ú±îÁö ü°èÀûÀ¸·Î ±¸¼ºµÇ¾î ÀÖ¾î, Vue.js¸¦ ¹è¿ì°íÀÚ ÇÏ´Â ¸ðµç ÇÁ·±Æ®¿£µå °³¹ßÀÚ¿¡°Ô ¿Ïº®ÇÑ ½ÇÀü °¡À̵尡 µÉ °ÍÀÌ´Ù. ÀÌ Ã¥À» ÅëÇØ Å©°Ô Çâ»óµÈ Vue.js ±â¼ú ¿ª·®À¸·Î ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ ¶Ù¾î³ ¼º°ú¸¦ °ÅµÎ±æ ¹Ù¶õ´Ù.
¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¼ö¼® ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î. MBA, ÄÄÇ»ÅÍ °øÇÐ Çлç, °æÁ¦ÇÐ ÇÐ»ç µîÀÇ ´Ù¾çÇÑ Çо÷Àû ¹è°æÀ» °®Ãß°í ÀÖ´Ù. ¶ÇÇÑ À¥ ¹× ÇÁ·±Æ®¿£µå °³¹ß ºÐ¾ßÀÇ Àü¹®°¡À̸ç ŸÀÔ½ºÅ©¸³Æ®, ¸®¾×Æ®, Vue µî¿¡ µÎ·ç ´ÉÅëÇÏ´Ù. ±×³à´Â ¿ÀÇ ¼Ò½º ÀüÀÚ »ó°Å·¡ ÇÁ·¹ÀÓ¿öÅ©ÀÎ StorefrontUIÀÇ ÄÚ¾î ¸ÞÀÎÅ×À̳ÊÀ̱⵵ ÇÏ´Ù. °³¹ßÀڷμ Á¢±Ù¼º ³ôÀº °í¼º´É ÄÄÆ÷³ÍÆ®¸¦ Àü´ÞÇÏ´Â µ¥ ÁÖ·ÂÇϸç, ¹Ù´Ò¶ó ÀÚ¹Ù½ºÅ©¸³Æ® Áö½ÄÀÇ Á߿伺À» ¹«¾ùº¸´Ù °Á¶ÇÑ´Ù. ÄÚµù ºÐ¾ß ¿Ü¿¡µµ ±¹Á¦ÀûÀ¸·Î ¸í¸ÁÀÌ ³ôÀº °¿¬ÀÚÀÌÀÚ ÃâÆÇ ÀúÀڷμ ÀÚ½ÅÀÇ ¿ª·®À» À¯°¨¾øÀÌ ¹ßÈÖÇÏ°í ÀÖ´Ù. À¥ °³¹ß, UX/UI, Á¢±Ù¼º, °ß°íÇÑ ÄÚµù Ç¥ÁØÀ» ¿Á¤ÀûÀ¸·Î ÁöÁöÇÏ¸ç ºí·Î±×(https://mayashavin.com), X(Twitter ) (@mayashavin), ÄÁÆÛ·±½º¸¦ ÅëÇØ Áö½ÄÀ» °øÀ¯ÇÑ´Ù. ÇÑÆíÀ¸·Î À¥ °³¹ß, ƯÈ÷ Vue¸¦ ÁÖÁ¦·Î ÇÑ ÇÚÁî¿Â ¿öÅ©¼¥À» ÁÖÃÖÇϱ⵵ ÇÑ´Ù.
CHAPTER 1 Vue.jsÀÇ ¼¼°è·Î_1.1 Vue.js¶õ?_1.2 Çö´ë À¥ °³¹ß°ú VueÀÇ ÀÌÁ¡_1.3 Node.js ¼³Ä¡_1.4 Vue °³¹ßÀÚ µµ±¸_1.5 ºô´õ °ü¸® µµ±¸ Vite.js_1.6 Vue ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼º_1.7 ÆÄÀÏ ¸®Æ÷ÁöÅ͸® ±¸Á¶Á¤¸®CHAPTER 2 VueÀÇ ±âº» ÀÛµ¿ ¹æ½Ä_2.1 °¡»ó DOM µé¿©´Ùº¸±â_2.2 Vue ¾Û ÀνºÅϽº ¹× ¿É¼Ç API _2.3 ¿É¼Ç API Ž»ö_2.4 ÅÛÇø´ ±¸¹® _2.5 µ¥ÀÌÅÍ ÇÁ·ÎÆÛƼ¸¦ ÅëÇÑ ·ÎÄà »óÅ »ý¼º_2.6 VueÀÇ ¹ÝÀÀ¼ºÀÌ ÀÛµ¿ÇÏ´Â ¹æ½Ä_2.7 v-modelÀ» ÀÌ¿ëÇÑ ¾ç¹æÇâ ¹ÙÀεù_2.8 v-model.lazy ¼öÁ¤ÀÚ_2.9 v-bind¸¦ ÅëÇÑ ¹ÝÀÀÇü µ¥ÀÌÅÍ ¹ÙÀεù ¹× Props µ¥ÀÌÅÍ Àü´Þ_2.10 Ŭ·¡½º ¹× ½ºÅ¸ÀÏ ¼Ó¼º ¹ÙÀεù_2.11 v-for¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ Ä÷º¼Ç ¼øȸ_2.12 v-onÀ» ÀÌ¿ëÇÑ À̺¥Æ® ¸®½º³Ê Ãß°¡_2.13 v-if, v-else, v-else-if¸¦ ÀÌ¿ëÇÑ Á¶°ÇºÎ ·»´õ¸µ _2.14 v-show¸¦ ÀÌ¿ëÇÑ Á¶°ÇºÎ Ç¥½Ã_2.15 v-htmlÀ» ÀÌ¿ëÇÑ µ¿Àû HTML ÄÚµå Ç¥½Ã_2.16 v-text¸¦ ÀÌ¿ëÇÑ ÅؽºÆ® ÄÜÅÙÃ÷ Ç¥½Ã_2.17 v-once ¹× v-memo¸¦ ÀÌ¿ëÇÑ ·»´õ¸µ ÃÖÀûÈ_2.18 Àü¿ª ÄÄÆ÷³ÍÆ® µî·Ï Á¤¸®CHAPTER 3 ÄÄÆ÷³ÍÆ® ±¸¼º3.1 Vue ½Ì±Û ÆÄÀÏ ÄÄÆ÷³ÍÆ® ±¸Á¶3.2 defineComponent()¿Í ŸÀÔ½ºÅ©¸³Æ® Áö¿ø3.3 ÄÄÆ÷³ÍÆ® ¶óÀÌÇÁ»çÀÌŬ ÈÅ3.4 ¸Þ¼µå3.5 computed ÇÁ·ÎÆÛƼ3.6 ¿Íó 3.7 ½½·Ô 3.8 ÅÛÇø´°ú v-slotÀ¸·Î ¸í¸íµÈ ½½·Ô3.9 refÀÇ ÀÌÇØ3.10 ¹Í½ºÀΰú ÄÄÆ÷³ÍÆ® ¼³Á¤ °øÀ¯3.11 ÄÄÆ÷³ÍÆ® ½ºÅ¸ÀÏ°ú Àû¿ë ¹üÀ§3.12 CSS ¸ðµâ°ú ÄÄÆ÷³ÍÆ® ½ºÅ¸ÀÏ Á¤¸®CHAPTER 4 ÄÄÆ÷³ÍÆ® »óÈ£ÀÛ¿ë_4.1 ÀÚ½Ä ÄÄÆ÷³ÍÆ®ÀÇ µ¥ÀÌÅÍ È帧_4.2 Ä¿½ºÅÒ À̺¥Æ®¿Í ÄÄÆ÷³ÍÆ® °£ Åë½Å_4.3 defineEmits()¸¦ ÀÌ¿ëÇÑ Ä¿½ºÅÒ À̺¥Æ® Á¤ÀÇ_4.4 Á¦°ø/ÁÖÀÔ ÆÐÅÏÀ» ÀÌ¿ëÇÑ ÄÄÆ÷³ÍÆ® Åë½Å_4.5 ÅÚ·¹Æ÷Æ® APIÁ¤¸®CHAPTER 5 ÄÄÆ÷Áö¼Ç API_5.1 ÄÄÆ÷Áö¼Ç API¸¦ ÅëÇÑ ÄÄÆ÷³ÍÆ® ¼³Á¤_5.2 ref()¿Í reactive()·Î µ¥ÀÌÅÍ Ã³¸®Çϱâ_5.3 ¶óÀÌÇÁ»çÀÌŬ ÈÅ_5.4 ÄÄÆ÷Áö¼Ç APIÀÇ ¿Íó_5.5 computed()_5.6 Àç»ç¿ë ÄÄÆ÷ÀúºíÁ¤¸®CHAPTER 6 ¿ÜºÎ µ¥ÀÌÅÍ ÅëÇÕ_6.1 Axios¶õ?_6.2 Axios ¼³Ä¡_6.3 ¶óÀÌÇÁ»çÀÌŬ ÈÅ°ú Axios·Î µ¥ÀÌÅÍ °¡Á®¿À±â_6.4 ·±Å¸ÀÓ Áß ºñµ¿±â µ¥ÀÌÅÍ ¿äû _6.5 Àç»ç¿ë fetch ÄÄÆ÷³ÍÆ® »ý¼º_6.6 ¾ÖÇø®ÄÉÀ̼ǰú ¿ÜºÎ µ¥ÀÌÅͺ£À̽º ¿¬°áÁ¤¸®CHAPTER 7 °í±Þ ·»´õ¸µ, µ¿Àû ÄÄÆ÷³ÍÆ®, Ç÷¯±×ÀÎ ±¸¼º_7.1 ·»´õ ÇÔ¼ö¿Í JSX_7.2 ±â´É¼º ÄÄÆ÷³ÍÆ®_7.3 ±â´É¼º ÄÄÆ÷³ÍÆ®ÀÇ props¿Í emits Á¤ÀÇ_7.4 Vue Ç÷¯±×ÀÎÀ¸·Î Àü¿ª Ä¿½ºÅÒ ±â´É Ãß°¡Çϱâ_7.5 ¡´component¡µ ű׸¦ ÀÌ¿ëÇÑ µ¿Àû ·»´õ¸µÁ¤¸®CHAPTER 8 ¶ó¿ìÆÃ_8.1 ¶ó¿ìÆÃÀ̶õ?_8.2 Vue ¶ó¿ìÅÍ_8.3 ¶ó¿ìÆ® °£ µ¥ÀÌÅÍ Àü´Þ_8.4 props·Î ¶ó¿ìÆ® ÆĶó¹ÌÅÍ ºÐ¸®Çϱâ_8.5 ³»ºñ°ÔÀÌ¼Ç °¡µåÀÇ ÀÌÇØ_8.6 Áßø ¶ó¿ìÆ® _8.7 µ¿Àû ¶ó¿ìÆ® »ý¼º_8.8 ¶ó¿ìÅÍ ÀνºÅϽº·Î ¾ÕµÚ À̵¿Çϱâ_8.9 ¹ÌÈ®ÀÎ ¶ó¿ìÆ® ó¸®Á¤¸®CHAPTER 9 ÇÇ´Ï¾Æ¿Í »óÅ °ü¸®_9.1 VueÀÇ »óÅ °ü¸®_9.2 ÇǴϾÆ_9.3 ÀúÀå¼Ò »ý¼º_9.4 Àå¹Ù±¸´Ï ÀúÀå¼Ò »ý¼º_9.5 ÄÄÆ÷³ÍÆ®¿¡¼ Àå¹Ù±¸´Ï ÀúÀå¼Ò »ç¿ëÇϱâ_9.6 ÇÇÀÚ °¶·¯¸®¿¡ Àå¹Ù±¸´Ï ±â´É Ãß°¡Çϱâ_9.7 ¾×¼ÇÀ¸·Î Àå¹Ù±¸´Ï ¸ñ·Ï Ç¥½ÃÇϱâ_9.8 Àå¹Ù±¸´Ï ÀúÀå¼Ò¿¡¼ Ç׸ñ Á¦°ÅÇϱâ_9.9 ÇÇ´Ï¾Æ ÀúÀå¼Ò À¯´Ö Å×½ºÆ®_9.10 ÀúÀå¼Ò º¯°æ »çÇ× Ã³¸®ÇϱâÁ¤¸®CHAPTER 10 Vue Æ®·£Áö¼Ç°ú ¾Ö´Ï¸ÞÀ̼Ç_10.1 CSS Æ®·£Áö¼Ç ¹× ¾Ö´Ï¸ÞÀ̼Ç_10.2 Vue.jsÀÇ Æ®·£Áö¼Ç ÄÄÆ÷³ÍÆ® _10.3 ¿¤¸®¸ÕÆ® ±×·ì Æ®·£Áö¼Ç_10.4 ¶ó¿ìÆ® Æ®·£Áö¼Ç_10.5 Æ®·£Áö¼Ç À̺¥Æ®·Î ¾Ö´Ï¸ÞÀÌ¼Ç Á¦¾îÇϱâÁ¤¸®CHAPTER 11 Vue Å×½ºÆ®_11.1 À¯´Ö Å×½ºÆ®¿Í E2E Å×½ºÆ®_11.2 Vitest¿Í À¯´Ö Å×½ºÆ®_11.3 Vitest ÆĶó¹ÌÅÍ¿Í ¼³Á¤ ÆÄÀÏ _11.4 Å×½ºÆ® ÀÛ¼º_11.5 ºñ-¶óÀÌÇÁ»çÀÌŬ ÄÄÆ÷Àúºí Å×½ºÆ®_11.6 ¶óÀÌÇÁ»çÀÌŬ ÈÅ ÄÄÆ÷Àúºí Å×½ºÆ®_11.7 Vue Å×½ºÆ® À¯Æ¿·Î ÄÄÆ÷³ÍÆ® Å×½ºÆ®Çϱâ_11.8 ÄÄÆ÷³ÍÆ® »óÈ£ÀÛ¿ë ¹× À̺¥Æ® Å×½ºÆ® _11.9 Vitest¿Í GUI_11.10 Vitest¿Í Ä¿¹ö¸®Áö ·¯³Ê_11.11 PlaywrightJS¸¦ ÀÌ¿ëÇÑ ¿£µåÅõ¿£µå Å×½ºÆ®Á¤¸®CHAPTER 12 Vue.js ¾ÖÇø®ÄÉÀ̼ǰú CI/CD_12.1 ¼ÒÇÁÆ®¿þ¾î °³¹ß°ú CI/CD_12.2 GitHub Actions¿Í CI/CD ÆÄÀÌÇÁ¶óÀÎ_12.3 Netlify¸¦ ÀÌ¿ëÇÑ Áö¼ÓÀû ¹èÆ÷_12.4 Netlify CLI ¹èÆ÷Á¤¸®CHAPTER 13 Vue¿Í ¼¹ö »çÀÌµå ·»´õ¸µ_13.1 VueÀÇ Å¬¶óÀ̾ðÆ® »çÀÌµå ·»´õ¸µ_13.2 ¼¹ö »çÀÌµå ·»´õ¸µ _13.3 Nuxt.js¿Í ¼¹ö »çÀÌµå ·»´õ¸µ_13.4 Á¤Àû »çÀÌÆ® »ý¼º±âÁ¤¸®