PHPÀÇ ´ëÇ¥ ÇÁ·¹ÀÓ¿öÅ©ÀÎ ¶ó¶óº§ °ü·Ã Ã¥À» ã´ø Áß Á¦ÀÌÆà ÃâÆÇ»ç·ÎºÎÅÍ µµ¼ ¸®ºä Ã¥ Á¦°øÀÇ ±âȸ¸¦ ¾ò¾î ÀÐ°í ¸®ºäÇÕ´Ï´Ù.
´Ù½Ã Á¢ÇÑ PHP
´ëÇÐÀ» Á¹¾÷Çϰí Á÷Àå¿¡¼ óÀ½ PHP¸¦ Á¢ÇÏ°Ô µÇ¾ú´Âµ¥ ´ç½Ã »ç¹«½Ç Ã¥Àå ÇÑÆí¿£ Áö±ÝÀº °íÀüÀ̶ó ÇÒ ¼ö ÀÖ´Â Wrox ÃâÆÇ»çÀÇ Professional PHP4, ±×¸®°í ÀÌ Ã¥À» ¹ø¿ªÇÑ Á¤º¸¹®È»çÀÇ ¹ø¿ªº»°ú ¸¶ÀÌÆ®ÇÁ·¹½º»çÀÇ PHP 4 À¥ÇÁ·Î±×·¡¹Ö °¡ÀÌµå µµ¼°¡ ºñÄ¡µÅ ÀÖ¾î ÀÌ Ã¥À» °¡Áö°í PHP¸¦ óÀ½ ÇнÀÇß½À´Ï´Ù.
óÀ½ Á¢ÇÑ PHPÀÇ ´À³¦Àº ´ëÇÐ ½ÃÀý Notepad¿Í Eclipse¸¦ ÀÌ¿ëÇØ ÄÚµùÇÏ´ø JavaÀÇ ±×°Íº¸´Ù ´õ °£ÆíÇϰí À¥°³¹ßÀÌ ¼Õ½±°Ô ´À²¸Á³°í, »ý»ê¼º°ú Á¢±Ù¼ºÀÌ ÁÁÀº ÀåÁ¡ÀÌ ¸¹Àº ¾ð¾î¶ó°í »ý°¢Çß½À´Ï´Ù.
´ç½Ã¿¡µµ CakePHP, Symfony, Code Igniter µî ¸î¸î ÇÁ·¹ÀÓ¿öÅ©´Â Á¸ÀçÇßÁö¸¸ Legacy ÇÁ·ÎÁ§Æ®´Â PHP ¹öÀü 4, 5¸¦ »ç¿ëÇϰí ÀÖ¾ú±â ¶§¹®¿¡ OOP¸¦ µµÀÔÇÏÁö ¸øÇ߰ųª ¼Ò¼öÀÇ ÇÁ·ÎÁ§Æ®ÀÇ ÀϺκп¡¼¸¸ Class·Î Äڵ尡 ÀÛ¼ºµÇ¾ú°í, ÇÁ·¹ÀÓ¿öÅ© ¶ÇÇÑ µµÀÔÇÏÁö ¾Ê¾Ò°í ¸î °¡Áö ¶óÀ̺귯¸®¿Í ÅÛÇø´¸¸À» »ç¿ëÇÏ¿© ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇß¾ú½À´Ï´Ù.
½Ã°£ÀÌ Áö³ª ¾ð¾îÀû ºÒÆíÇÔÀ̳ª ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¹Ì»ç¿ëÀÇ ÇÑ°è µîÀÌ ´ëµÎµÇ±â ½ÃÀÛÇß°í ÇÁ·¹ÀÓ¿öÅ©ÀÇ µµ¿ò ¾øÀÌ ÁøÇàµÇ´Â ÇÁ·ÎÁ§Æ®´Â °ü¸®³ª »ý»ê¼º, Çù¾÷À» ÅëÇÑ ÄÚµå Àϰü¼º¿¡¼(²À ¾ð¾î³ª ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¹®Á¦´Â ¾Æ´ÏÁö¸¸) ¿©·¯ ¹®Á¦Á¡ÀÌ ³ªÅ¸³µ½À´Ï´Ù.
±×·¸°Ô ¿©·¯ PHP ÇÁ·¹ÀÓ¿öÅ©ÀÇ Á¤º¸¼öÁýÀ» ÇÏ¸é¼ Code Igniter°¡ ´ç½Ã¿¡´Â ²Ï ¼º¼÷ÇÑ ´Ü°èÀÇ ÇÁ·ÎÁ§Æ®¶ó°í »ý°¢ÀÌ µé¾î Code Igniter¸¦ ÇнÀÇÏ°í °£´ÜÇÑ »çÀ̵å ÇÁ·ÎÁ§Æ®¸¦ °æÇèÇØº» °ÍÀ» ¸¶Áö¸·À¸·Î 8³â ³²ÁþÇÑ ½Ã°£ µ¿¾È Java¿Í SpringÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦ ÇÏ¸ç ¼¼¿ùÀÌ Èê·¶½À´Ï´Ù.
±× »çÀÌ PHP´Â Modern Java¶ó°í ºÒ¸®´Â Java8ó·³ ¶Ç, ÃÖ±ÙÀÇ ¸¹Àº ¾ð¾î°¡ ±×·¯ÇÏµí ¿©·¯ °³¹ß ¾ð¾îÀÇ ÁÁÀº ÀåÁ¡À̳ª ±â´ÉµéÀ» Â÷¿ëÇÏ¿© Àû±Ø µµÀÔÇÏ°í °³¼±ÇÏ¿© Modern PHP·Î °Åµì³µ°í, ÀçÁ÷ ÁßÀΠȸ»ç´Â ¿©ÀüÈ÷ PHP°¡ ÁÖ·Â °³¹ß ¾ð¾î·Î »ç¿ë ÇØ¿Ô½À´Ï´Ù.
ȸ»çÀÇ ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ë ÇÒ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±ÅÃÇϱâ À§ÇØ ¿©·¯ ÇÁ·¹ÀÓ¿öÅ©¸¦ ºñ±³ ºÐ¼®ÇÏ¿© ÃÖÁ¾ÀûÀ¸·Î ¶ó¶óº§ ÇÁ·¹ÀÓ¿öÅ©¸¦ ¸î ÇØÀü µµÀÔÇÏ¿© ¿©·¯ ÇÁ·ÎÁ§Æ®¿¡¼ »ç¿ë ÁßÀ̾ú½À´Ï´Ù.
´ã´çÇÏ´Â ÇÁ·ÎÁ§Æ®³ª ¾÷¹«ÀûÀ¸·Î PHP¿ÍÀÇ Á¢Á¡Àº ÁÙ¾îµé¾úÁö¸¸ °è¼ÓÇØ¼ ¹ßÀüÇÏ´Â PHP¿Í LaravelÀÇ ¹öÀü¾÷À» ÁöÄѺ¸¸ç °ü½ÉÀ» ÁÙÀÌÁö ¾ÊÀ¸·Á ³ë·ÂÇÏ´ø Áß Á¦ÀÌÆà ÃâÆÇ»ç¿¡¼ Á¦°øÇÏ´Â µµ¼ ¸®ºä À̺¥Æ® ÀÀ¸ð¿¡ ¼±Á¤µÇ¾î ÁÁÀº ±âȸ·Î ¶ó¶óº§ ½ÇÀü À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß Ã¥À» ÀÐ°í ±ÛÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ÀÌ Ã¥ÀÇ °¡Àå Å« Ư¡Àº ¶ó¶óº§À» »ç¿ëÇÏ¿© ´Ü¼øÈ÷ À¥ ÇÁ·ÎÁ§Æ®¸¦ µû¶ó ÇÏ¸ç ¸¸µé¾îº¸°Å³ª ¶ó¶óº§ÀÇ ÁÖ¿ä ±â´ÉÀ̳ª µû¶óÇϱ⸸À» ¾È³»ÇÏ´Â ÄîºÏ Çü½ÄÀÇ Ã¥°ú´Â °Å¸®°¡ ÀÖ½À´Ï´Ù.
¶ó¶óº§ÀÇ µ¿ÀÛ ¹æ½Ä°ú ÇÙ½É ¿ø¸®¸¦ 552 ÆäÀÌÁö¸¦ ÇÒ¾ÖÇØ ÀÚ¼¼È÷ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
Ã¥ÀÇ ³»¿ëÀ̳ª ±¸¼ºÀÌ ÁÁ¾Æ Àд٠º¸´Ï Á¤µ¶ÀÌ ÇÊ¿äÇß°í °èȹÇß´ø 1ÁÖÀÏÀ» ³Ñ°Ü 2ÁÖ°£ µ¶¼¸¦ ÁøÇàÇß½À´Ï´Ù.
éÅͺ° ³»¿ë
1. ¶ó¶óº§ °³¿ä
ÀÌ Ã©ÅÍ¿¡¼´Â ¶ó¶óº§À̶õ ¹«¾ùÀΰ¡, ±×¸®°í ¶ó¶óº§ÀÇ ÁÖ¿ä Æ¯Â¡°ú Docker¸¦ ÀÌ¿ëÇÏ¿© OS º°·Î ¶ó¶óº§À» ¼³Ä¡ÇÏ¿© ¼Õ½±°Ô Ã¥À» µû¶ó¼ ÁøÇàÇØ º¼ ¼ö ÀÖµµ·Ï ¼³¸íÇϰí ÀÖ´Ù.
³ªÀÇ °æ¿ì´Â WindowsÀÇ WSLÀ» »ç¿ëÇϰí ÀÖ¾î¼ ¾î·ÆÁö ¾Ê°Ô ¶ó¶óº§ ¼³Á¤À» ¸¶Ä¥ ¼ö ÀÖ¾ú´Ù.
Windows OS°¡ ¾Æ´Ñ Mac OSÀÇ °æ¿ì¿¡µµ Àß ¼³¸íµÇ¾î Àֱ⠶§¹®¿¡ ¾î·ÆÁö ¾Ê°Ô ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¸®¶ó »ý°¢µÈ´Ù.
°ú°Å¿¡´Â VMware, Virtual Box, ¾Æ´Ï¸é Linux ¼¹ö¿¡ Apache + PHP + Laravel À» ¿Ã·Á¼ ¼³Ä¡¸¦ ÁøÇàÇϰųª À©µµ¿ì¿¡¼´Â XAMPP¸¦ ÀÌ¿ëÇϰï Çߴµ¥, Áö±ÝÀº Docker¸¦ ÀÌ¿ëÇϸé ù°·Î ¼³Á¤ÀÌ °£ÆíÇϰí, µÑ°·Î Windows ¼³Á¤ÀÌ º¹ÀâÇØÁö´Â °ÍÀ» ÇÇÇÒ ¼ö Àֱ⠶§¹®¿¡ ÀÌÀüº¸´Ù PHP¿Í Laravel·ÎÀÇ Á¢±Ù¼ºÀÌ ÁÁ¾ÆÁ³À½À» ´À³¢°Ô µÈ´Ù.
SailÀ̳ª Homestead ¼³Á¤À» ¸¶Ä¡°í ³ª¸é °£´ÜÇÑ ¶ó¶óº§ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ¿© µð·ºÅ͸® ±¸¼º°ú À¥ÆäÀÌÁö È£Ãâ/µ¿ÀÛ °úÁ¤ ±×¸®°í Å×½ºÆ®, ÀÎÁõ/Çã°¡ µî ¾ÕÀ¸·Î »ìÆìº¼ ³»¿ëµéÀ» °£·«ÇÏ°Ô ¼³¸íÇϰí ÀÖ´Ù.
2. ¶ó¶óº§ ¾ÆÅ°ÅØÃ³
ÀÌ Àå¿¡¼´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÇöÇÒ ¶§ Áß¿äÇÑ ¶ó¶óº§ÀÇ ¾ÆÅ°ÅØÃ³¸¦ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
¶ó¶óº§ÀÇ µ¿ÀÛ °úÁ¤°ú ÇÙ½É ±â´ÉµéÀ» ÀÚ¼¼È÷ ¼³¸íÇϰí ÀÖ½À´Ï´Ù. ÀÚ¹Ù Áø¿µÀÇ ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ DI¸¦ ÇÏ´Â °úÁ¤À̳ª ÄÁÅ×À̳ʰ¡ BeanÀ» µî·ÏÇÏ°í °ü¸®ÇÏ´Â °úÁ¤¿¡ ÇØ´çÇÏ´Â ³»¿ëµéÀÌ ÀÌ Àå¿¡¼ ¼³¸íÇϰí Àֱ⠶§¹®¿¡ ºñ±³ÇÏ¸é¼ Àо¾Ò°í ºñ½ÁÇÑ ºÎºÐµéÀÌ ¸¹´Ù°í ´À²¼½À´Ï´Ù.
¹ÙÀεå¿Í ¸®Á¹ºê, DI¿Í ¼ºñ½º ÄÁÅ×À̳Ê, ÆÛ»çµå µî ¶ó¶óº§À» ÀÌ¿ëÇØ¼ ÇÁ·¹ÀÓ¿öÅ©¸¦ È®ÀåÇÏ°í °ü¸®Çϱâ À§Çؼ´Â ÀÌ ÀåÀ» Á¤µ¶Çϸé ÁÁÀ» °Í °°½À´Ï´Ù.
3. ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØÃ³
ÀÌ Àå¿¡¼´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¼³°è¿¡¼ÀÇ ±¸Á¶È¿Í °³³äÀ» ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
´ëÇ¥ÀûÀÎ À¥ °³¹ß ÆÐÅÏÀÎ MVC ÆÐÅϰú ÀÌ MVC ÆÐÅÏ¿¡¼ ÆÄ»ýµÈ ADR ÆÐÅÏÀÇ ±¸Á¶¿Í ±×·ìÀ» ºÐÇÒÇϸç À̸¦ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
·¹À̾îµå ¾ÆÅ°ÅØÃ³¿¡¼´Â ±â´É°ú °ü½É»ç¿¡ µû¶ó Controller, Service, Repository µîÀ» ºÐ·ùÇÏ¿© ÇÑ °¡Áö ·¹À̾î·Î ¸¹Àº ±â´É°ú ¿ªÇÒÀÌ ¸ô¸®Áö ¾Êµµ·Ï ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
4. HTTP ¿äû°ú ÀÀ´ä
ÀÌ Àå¿¡¼´Â ¶ó¶óº§ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÀÔÃâ·Â, ¹ë¸®µ¥ÀÌ¼Ç ¹× ¹Ìµé¿þ¾î¿¡ °üÇØ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ µ¥ÀÌÅ͸¦ ó¸®Çϱâ À§Çؼ ¿äû °ªµéÀ» °ËÁõÇϰí, Å©·Î½º »çÀÌÆ® ½ºÅ©¸³ÆÃ ¹æÁö¸¦ À§Çؼµµ ÇÊ¿äÇÑ ¹ë¸®µ¥À̼ǿ¡ ´ëÇØ¼ ¼³¸íÇÕ´Ï´Ù.
±× ¹Û¿¡µµ SSE, HATEOAS, ¹Ìµé¿þ¾î¿¡ ´ëÇØ¼µµ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
5. µ¥ÀÌÅͺ£À̽º
À̹ø Àå¿¡¼´Â µ¥ÀÌÅͺ£À̽º ¸¶À̱׷¹À̼ǰú Eloquent Äõ¸® ºô´õ¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º Á¶ÀÛÀ» ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
¶ó¶óº§ ¸¶À̱׷¹ÀÌ¼Ç ±â´ÉÀ» ÀÌ¿ëÇØ¼ Å×À̺í°ú µ¥ÀÌÅ͸¦ »ý¼ºÇÏ´Â ¹æ¹ý°ú ORMÀÎ Eloquent¸¦ ´Ù·ç´Â ¹ýÀ» ÇнÀÇÑ´Ù.
´Ù¸¥ °³¹ß ¾ð¾î¿¡¼ÀÇ ORM°ú ¸¶Âù°¡Áö·Î °³¹ßÀÚµéÀÌ SQL¹®À» Á÷Á¢ ÀÛ¼ºÇÒ ÇÊ¿ä ¾øÀÌ PHP ¾ð¾î·Î DBMS¸¦ Á¶ÀÛÇÏ´Â ¹ýÀ» ¼³¸íÇÑ´Ù.
¸Å¿ì º¹ÀâÇÑ SQL¹®Àº ´Ù¸¥ ¾ð¾îµµ ±×·¸µíÀÌ Á÷Á¢ ÀÛ¼ºÇϰųª DBÀÇ Procedure¸¦ ÀÌ¿ëÇØ¾ß Çϰڸ¸, ¸¶Âù°¡Áö·Î ´ëºÎºÐÀÇ SQL¹®Àº ó¸® °¡´ÉÇÒ °ÍÀ¸·Î »ý°¢µÈ´Ù.
6. ÀÎÁõ°ú Àΰ¡
ÀÌ Àå¿¡¼´Â ÀÎÁõ°ú Àΰ¡¸¦ ÀÌ¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç Á¦¾î ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© Áß¿¡¼ ½ÃÅ¥¸®Æ¼¿¡ ÇØ´çÇÏ´Â ³»¿ëµéÀ» ¼³¸íÇÕ´Ï´Ù. ÀÎÁõÀ» Áö¿øÇϴ Ŭ·¡½ºµéÀ» ¼³¸íÇϰí ÀÎÁõ ó¸® °úÁ¤À» ¼³¸íÇϰí ÀÖÀ¸¸ç, Æû ÀÎÁõ, ÅäÅ« ÀÎÁõ, JWT ÀÎÁõ, OAuth ÀÎÁõ µî ¿©·¯ ÀÎÁõó¸® ¹æ¹ýÀ» ÇÔ²² ¼³¸íÇϰí ÀÖ½À´Ï´Ù. ¶Ç Àΰ¡ ó¸® Ç׸ñ¿¡¼´Â ¾ÖÇø®ÄÉÀÌ¼Ç »ç¿ëÀÚ¿¡ ´ëÇØ ¸®¼Ò½º³ª ±â´É¿¡ ÀÌ¿ë Á¦ÇÑÀ» ¼³Á¤Çؼ Á¦¾îÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.7. À̺¥Æ®¿Í Å¥¸¦ ÀÌ¿ëÇÑ Ã³¸® ºÐ»ê
ÀÌ Àå¿¡¼´Â ºñµ¿±â ó¸®¿Í ºÐ»ê 󸮿¡ °üÇØ ¼³¸íÇÕ´Ï´Ù.
¾ÖÇø®ÄÉÀ̼ǿ¡¼ 󸮼ӵµ°¡ ¿À·¡ °É¸®´Â µî ¹«°Å¿î ó¸® °°Àº °æ¿ì´Â »ç¿ëÀÚ°¡ ±â´É ½ÇÇà ÈÄ ±â´Ù¸®°í ÀÖ´Â °Íº¸´Ù´Â À̺¥Æ®·Î ó¸®Çؼ ³ªÁß¿¡ °á°ú¸¦ ¹Þ¾Æ¼ È®ÀÎÇÒ ¼ö ÀÖµµ·Ï ó¸®ÇÏ´Â ¹æ¹ýÀÌ º¸´Ù ³ªÀº »ç¿ëÀÚ °æÇèÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Àå¿¡¼´Â À̺¥Æ®¿Í Å¥¸¦ ÀÌ¿ëÇØ¼ ºÐ»ê󸮸¦ ÇÏ°í ºñµ¿±â À̺¥Æ®·Î ¸ÞÀÏ ¹ß¼ÛÀ̳ª PDF »ý¼º µî°ú °°Àº ¿¹Á¦·Î ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
¶Ç, À̺¥Æ®¿Í Å¥¸¦ ÀÌ¿ëÇÑ CQRS¿¡ ´ëÇØ¼µµ ¿¹Á¦¸¦ ÅëÇØ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
8. ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼Ç
ÀÌ Àå¿¡¼´Â Ä¿¸Çµå¸¦ ÀÌ¿ëÇÑ ÄÜ¼Ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÕ´Ï´Ù.
°æ¿ì¿¡ µû¶ó¼´Â ÄܼÖÀ» ÀÌ¿ëÇØ¼ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇϰųª Á¶ÀÛÇØ¾ß ÇÏ´Â °æ¿ì°¡ »ý±é´Ï´Ù.
Á¤±âÀûÀ¸·Î ¼öÇàÇÏ´Â ¹èÄ¡³ª, ÄܼÖÀ» ÀÌ¿ëÇØ¼ ±â´ÉÀ» ½ÇÇàÇÒ ¼ö ÀÖ´Â Ä¿¸Çµå ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼ ¼³¸íÇÕ´Ï´Ù.
9. Å×½ºÆ®
ÀÌ Àå¿¡¼´Â Å×½ºÆ® ÄÚµå ±¸ÇöÀÇ ±âº»À» ÇнÀÇÏ°í ±¸ÇöÇÕ´Ï´Ù.
ÀÚ¹Ù¸¦ ÇнÀÇÏ¸é ¹Ýµå½Ã ¾ð±ÞµÇ´Â JUnitÀ̶ó´Â À¯¸íÇÑ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©°¡ Àִµ¥ PHP¿¡µµ PHPUnitÀ̶ó´Â Å×½ºÆ®¸¦ À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©°¡ Á¸ÀçÇÑ´Ù.
ÀÌ PHPUnitÀ» ¶ó¶óº§¿¡ ¸Â°Ô È®ÀåÇÑ °ÍÀ¸·Î ÀÌ·± Å×½ºÆ® ÅøÀÌ Á¸ÀçÇÏ´Â °Í¸¸À¸·Îµµ °³¹ßÀÚ ÀÔÀåÇØ¼± ¸Å¿ì µçµçÇÏ°í ±â»Û ÀÏÀ̶ó »ý°¢µÈ´Ù.
À̹ø Àå¿¡¼´Â PHPUnit°ú ¿¬µ¿ÇØ ¾ÖÇø®ÄÉÀ̼ÇÀ» È¿À²ÀûÀ¸·Î Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â ±¸Á¶¸¦ Á¦°øÇϴµ¥ Å×½ºÆ®¸¦ ÇÏ´Ù º¸¸é µ¥ÀÌÅͺ£À̽º¿Í ¿¬°èµÈ Å×½ºÆ®³ª À¥ API °ü·Ã Å×½ºÆ®´Â °£´ÜÇÑ ´ÜÀ§ Å×½ºÆ®¿¡ ºñÇØ ¼³Á¤ÀÌ º¹ÀâÇÑ °æ¿ì°¡ ¸¹Àºµ¥ ÀÌ ¶ÇÇÑ À̹ø Àå¿¡¼ ÀÚ¼¼È÷ ¼³¸íÇϰí ÀÖ´Ù.10. ¿¡·¯ Çڵ鸵°ú ·Î±× Ȱ¿ë
ÀÌ Àå¿¡¼´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¿î¿µ ½Ã ¹ß»ýÇÏ´Â ¿¡·¯ ó¸®¿Í ·Î±× Ȱ¿ëÀ» ¼³¸íÇÕ´Ï´Ù.
¿î¿µ ½Ã½ºÅÛÀ» °ü¸®ÇÔ¿¡ ÀÖ¾î¼ ¿¡·¯ ¹× ·Î±× °ü¸®´Â Áß¿äÇÕ´Ï´Ù.
¿¡·¯°¡ ¹ß»ýÇØ¼ ½Ã½ºÅÛÀÌ ¸ØÃ߰ųª ¿¡·¯ ȸ鿡¼ ȸé À̵¿À̳ª ÀüȯÀÌ ºÒ°¡´ÉÇÏ°Ô ¸·Èù °æ¿ì´Â »ç¿ëÀÚ¿¡°Ô ÁÁÁö ¾ÊÀº °æÇèÀ» °®°Ô ÇÕ´Ï´Ù.
ÀÌ °æ¿ì¿¡µµ ´Ü¼øÈ÷ ¿¡·¯¸¦ ¿¹¿Ü·Î ´øÁ® ½Ã½ºÅÛ ¸ØÃ߰ųª ȸéÀÇ À̵¿ ºÒ°¡¿Í °°Àº Çö»ó¸¸ ³Ñ±â±â ±Þ±ÞÇÏ°Ô ¿¡·¯¸¦ °ü¸®ÇÑ´Ù¸é ¾ðÁ¦ ÅÍÁúÁö ¸ð¸¦ ½ÃÇÑÆøÅºÀ» ¾È°í ½Ã½ºÅÛÀ» ¿î¿µÇÏ´Â °ÍÀ̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¸±â ¶§¹®¿¡ ¿¡·¯ÀÇ Çڵ鸵°ú ÀÌ ¿¡·¯¸¦ È®ÀÎÇϰí ó¸®Çϱâ À§ÇØ ·Î±×¸¦ Àß ±â·ÏÇØ¾ß ÇÕ´Ï´Ù. ·Î±×´Â ¿¡·¯ ·Î±×°¡ ¾Æ´Ï´õ¶óµµ ¾÷¹«¿¡¼ ¹ß»ýÇÏ´Â À¯ÀǹÌÇÑ Á¤º¸µéÀ» ·Î±×·Î Àß ³²°ÜµÎ¾î¾ß Çϱ⠶§¹®¿¡ À̹ø Àå¿¡¼´Â ¶ó¶óº§ÀÇ ¿¡·¯ Çڵ鸵°ú ·Î±× °ü¸® ¹æ½ÄÀ» ÀÌÇØÇÕ´Ï´Ù.
11. Å×½ºÆ® ÁÖµµ °³¹ß ½Çõ
Å×½ºÆ® ÁÖµµ·Î °³¹ßÇÏ´Â ¶ó¶óº§ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³¸íÇÕ´Ï´Ù.
°ú°Å TDD(Test Driven Development)¶ó´Â À̸§À¸·Î ¸¹Àº ¼¼¹Ì³ª¿Í °¿¬, °Á¿¡¼ ¼Ò°³µÈ °³¹ß ¹æ¹ý·ÐÀÎ Å×½ºÆ® ÁÖµµ °³¹ßÀ» Àû¿ëÇÏ¿© ½Ç½ÀÀ» ÁøÇàÇÕ´Ï´Ù.
¼º°øÀ» À§ÇÑ Å×½ºÆ®°¡ ¾Æ´Ñ, ½ÇÆÐ °¡´ÉÇÑ ÄÉÀ̽º¸¦ Çϳª¾¿ ¼º°øÇÏ´Â Å×½ºÆ®·Î Á¡ÁøÀûÀ¸·Î °³¼±ÇØ ³ª°¡¸ç ÇÁ·Î±×·¥ÀÇ ¿Ï¼ºµµ¸¦ ³ô¿©°¡´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
µ¥ÀÌÆ® º£À̽º »ç¿ëÇÑ Å×½ºÆ® ¹æ¹ý°ú ¸®ÆÑÅ͸µ °úÁ¤µµ ÇÔ²² ´Ù·ç°í ÀÖ¾î À¯¿ëÇÑ Ã©ÅͶó°í »ý°¢ÀÌ µé¾ú½À´Ï´Ù.
½Ç¹«¸¦ Çϸ鼵µ ¸ðµç Äڵ带 TDD ¹æ¹ý·ÐÀ¸·Î ÀÛ¼ºÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ Å×½ºÆ®´Â Çϸé ÇÒ¼ö·Ï ÄÚµåÀÇ Ç°ÁúÀÌ ¿Ã¶ó°¡°í, Åð±Ù Èijª ÁÖ¸»¿¡µµ ³»°¡ ÀÛ¼ºÇÑ ÄÚµå ¶§¹®¿¡ ¿¡·¯°¡ ¹ß»ýÇÏÁø ¾ÊÀ»±î ÇÏ´Â °ÆÁ¤À¸·ÎºÎÅÍ ¸¶À½À» Æí¾ÈÇÏ°Ô ÇØ Áá´ø ÀûÀÌ ¸¹ÀÌ Àֱ⠶§¹®¿¡ TDD¸¦ óÀ½ Á¢ÇÑ »ç¶÷À̶ó¸é ÀÐ°í ³ª¸é ¾ÕÀ¸·Î Å« µµ¿òÀÌ µÉ °ÍÀ̶ó »ý°¢µË´Ï´Ù.
Á¤¸®Çϸç
¶ó¶óº§ ½ÇÀü À¥ÇÁ·Î±×·¡¹Ö °³¹ßÀº ¶ó¶óº§ÀÇ ÇٽɺÎÅÍ À¥ °³¹ß¿¡ ÇÊ¿äÇÑ ±â´ÉµéÀ» Çϳª¾¿ ¿¹Á¦¿Í ÇÔ²² ¼³¸íÇϰí ÀÖ½À´Ï´Ù.
Ã¥À» ÀÐ°í ¶ó¶óº§À» ¾Ë¾Æ°¡¸é¼ ÀÚ¹ÙÀÇ ½ºÇÁ¸µ°ú ¸¹Àº ºÎºÐÀÌ ºñ½ÁÇÏ°í ¶Ç, Àß ±¸ÇöµÇ¾î ÀÖ´Ù´Â °ÍÀ» ´À²¼½À´Ï´Ù.
PHP ¼ÕÀ» ³õÀº Áö ¸î ³â µ¿¾È ¶ó¶óº§°ú ÇÔ²² ¸¹Àº ¹ßÀüÀÌ ÀÖ¾ú°í, ¶Ç ºü¸£°Ô ¹ßÀüÇϰí ÀÖ±¸³ª ÇÏ°í ¶Ç ÇÑ ¹ø ´À²¼½À´Ï´Ù.
ÃÖ±Ù¿¡´Â Flutter¸¦ ÀÌ¿ëÇØ¼ ¹Ì¼¼¸ÕÁö ¾ÛÀ» ¸¸µé¾î º¸¾Ò´Âµ¥ Firebase·Î ¸¸µé¾îÁø Back-end ºÎºÐÀ» ¶ó¶óº§·Î º¯°æÇغ¸¸ç Á¶±Ý ´õ ¶ó¶óº§À» ¾Ë¾Æ°¡ º¼±î ÇÕ´Ï´Ù.
¾ÆÁ÷ ¶ó¶óº§À» ¾Ë¾Æ°¡´Â ȸ»ç ÈĹèºÐµé¿¡°Ô ÀÌ Ã¥À» Àû±Ø ÃßõÇÏ´Â ¹ÙÀÔ´Ï´Ù.
Ãâó: https://johncoffey.tistory.com/30 [±×¸°¸¶ÀÏ]
´Ý±â