±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.
Á¤°¡ |
20,000¿ø |
---|
18,000¿ø (10%ÇÒÀÎ)
1,000P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼(207)
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
[Jasmine ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆÃ]Àº ´ÜÀ§ Å×½ºÆÃÀ» óÀ½ Á¢ÇÏ´Â À¥ °³¹ßÀÚµéÀ» À§ÇÑ ±³ÀçÀÌ´Ù. Ã¥¿¡´Â Å×½ºÆ® ÁÖµµÀÇ °³¹ß ¹æ½Ä ½Àµæ, ¸®ÄâÀ̾îJS·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå ¸ðµâÈ, Å×½ºÆ®°¡ ¿Ï·áµÈ Á¦ÀÌÄõ¸® Ç÷¯±×ÀÎ »ý¼º, ºñµ¿±â Å×½ºÆÿ¡¼ÀÇ ¹®Á¦ ÇØ°á°ú ¸ð¹ü »ç·Ê, ½Å¼ÓÇÑ ´ÜÀ§ Å×½ºÆÃÀ» ¼öÇàÇϱâ À§ÇÑ ½ºÅÓ(Stub)°ú ½ºÆÄÀÌ(Spy) »ç¿ë, Å×½ºÆ® ÁÖµµÀÇ ¹éº» ¾ÖÇø®ÄÉÀ̼Ç, ¿î¿µ ȯ°æÀ» À§ÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå ÃÖÀûÈ µîÀ» ´Ù·ç°í ÀÖ´Ù.
ÃâÆÇ»ç ¼Æò
¡Ú ¿ä¾à ¡Ú
Å×½ºÆ® ÁÖµµ °³¹ß(TDD), ÇàÀ§ ÁÖµµ °³¹ß(BDD)À» ¸ÕÀú ¼Ò°³ÇÏ°í, ÀÌ·¯ÇÑ Å×½ºÆà °³³äÀ» ±¸ÇöÇÑ À罺¹Î ÅøÀÇ »ç¿ë¹ýÀ» ½ÇÁ¦ÀûÀÎ ÀÚ¹Ù½ºÅ©¸³Æ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿¹¸¦ µé¾î ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. À罺¹ÎÀ» ÀÌ¿ëÇÑ ´ÜÀ§ Å×½ºÆà ¹æ¹ý»Ó¸¸ ¾Æ´Ï¶ó ½Ã³íJS(SinonJS), ¹éº»JS(BackboneJS), ¸®ÄâÀ̾îJS(RequireJS), ±×·±Æ®JS(GruntJS) µî ¸ð´ø ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ß¿¡ Æ¯ÈµÈ ´Ù¾çÇÑ ÅøµéÀ» µ¶ÀÚµéÀÌ ÀÚ¿¬½º·´°Ô ¼··ÆÇÏ¿© ½Ç¹«¿¡ ¹Ù·Î ÀÀ¿ëÇÒ ¼ö ÀÖµµ·Ï ¾È³»ÇÑ´Ù.
¡Ú ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¡Ú
¡á Å×½ºÆ® ÁÖµµÀÇ °³¹ß ¹æ½Ä ½Àµæ
¡á ¸®ÄâÀ̾îJS·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÄÚµå ¸ðµâÈ
¡á Å×½ºÆ®°¡ ¿Ï·áµÈ Á¦ÀÌÄõ¸® Ç÷¯±×ÀÎ »ý¼º
¡á ºñµ¿±â Å×½ºÆÿ¡¼ÀÇ ¹®Á¦ ÇØ°á°ú ¸ð¹ü »ç·Ê
¡á ½Å¼ÓÇÑ ´ÜÀ§ Å×½ºÆÃÀ» ¼öÇàÇϱâ À§ÇÑ ½ºÅÓ(Stub)°ú ½ºÆÄÀÌ(Spy) »ç¿ë
¡á Å×½ºÆ® ÁÖµµÀÇ ¹éº» ¾ÖÇø®ÄÉÀ̼Ç
¡á ¿î¿µ ȯ°æÀ» À§ÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå ÃÖÀûÈ
¡á ±×·±Æ®JS·Î °·ÂÇÑ µµ±¸È, ÀÚµ¿È ½ÇÇö
¡á Æ®·¡ºñ½º CI(Travis-CI)·Î Ŭ¶ó¿ìµå¿¡¼ Å×½ºÆ® ½ÇÇà
¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
ÀÌ Ã¥Àº ´ÜÀ§ Å×½ºÆÃÀ» óÀ½ Á¢ÇÏ´Â À¥ °³¹ßÀڵ鿡°Ô Çʼö ±³º»ÀÌ´Ù. ³»¿ëÀ» ÀÌÇØÇÏ·Á¸é ´ç¿¬È÷ ÀÚ¹Ù½ºÅ©¸³Æ®¿Í HTML¿¡ ´ëÇÑ ±âº» Áö½ÄÀº ÇÊ¿äÇÏ´Ù. ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» À§ÇÑ ÁøÁ¤ÇÑ Ç÷§ÆûÀ¸·Î¼ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÎÁ¤ÇÏ°í ¸ðµç °¡´É¼ºÀ» À̲ø¾î³»°í ½ÍÀº µ¶ÀÚ¶ó¸é ´©±¸³ª ȯ¿µÀÌ´Ù.
¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
1Àå, ¡®À罺¹Î ½ÃÀÛ¡¯Àº ÀÚ¹Ù½ºÅ©¸³Æ® ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆÃÀÇ µ¿±â ºÎ¿©¸¦ Çغ¸´Â ½Ã°£ÀÌ´Ù. BDDÀÇ °³³äÀ» ¼Ò°³ÇÏ°í ÁÁÀº Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. À罺¹Î ¼Ò½º¸¦ ³»·Á¹Þ¾Æ Å×½ºÆ®¸¦ óÀ½ ÀÛ¼ºÇغ¸´Â ÀÏÀÌ ¸Å¿ì °£´ÜÇÔÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù.
2Àå, ¡®½ºÆå ÀÛ¼º¡¯¿¡¼´Â Å×½ºÆ® ÁÖµµ °³¹ßÀÌ ÀǵµÇÏ´Â »ç°í ¹æ½ÄÀ» ÀÍÈ÷°í, Å×½ºÆ®¿¡ ÀÇÇØ ÀÚ¹Ù½ºÅ©¸³Æ® ±â´ÉÀ» óÀ½ ÄÚµùÇÏ°Ô µÉ °ÍÀÌ´Ù. À罺¹ÎÀÇ ±âº»ÀûÀÎ ÇÔ¼öµé, ±×¸®°í Å×½ºÆ®¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. À罺¹Î ¸Åó(Jasmine Matcher)°¡ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö, ÄÚµåÀÇ °¡µ¶¼ºÀ» Çâ»ó½ÃÅ°±â À§ÇØ Ä¿½ºÅÒ ¸Åó¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù.
3Àå, ¡®ÇÁ·ÐÆ®¿£µå ÄÚµå Å×½ºÆ᯿¡¼´Â À¯Áö º¸¼ö¼ºÀÌ ÁÁÀº Äڵ带 ÀÛ¼ºÇϱâ À§ÇÑ ¸î °¡Áö ÆÐÅÏÀ» ´Ù·é´Ù. ÄÄÆ÷³ÍÆ® ´ÜÀ§·Î »ç°íÇÏ´Â ¹ýÀ» ¹è¿ì°í ¸ðµâ ÆÐÅÏÀ¸·Î ¾î¶»°Ô ¼Ò½º ÆÄÀÏÀ» Àß Á¤µ·ÇÒ ¼ö ÀÖÀ»Áö ¾Ë°Ô µÉ °ÍÀÌ´Ù. HTML ÇȽºÃ³(fixture)ÀÇ °³³äÀ» ¼Ò°³ÇÏ°í, ȸ鿡 ·»´õ¸µÇÒ HTML Äڵ带 ¼¹ö ¿äû(request) ¾øÀÌ ¾î¶»°Ô ÀÚ¹Ù½ºÅ©¸³Æ®·Î Å×½ºÆ®ÇÏ´ÂÁö ¹è¿ï °ÍÀÌ´Ù. À罺¹Î-Á¦ÀÌÄõ¸®(Jasmine-jQuery)¶ó´Â À罺¹Î Ç÷¯±×ÀÎ(plugin)°ú jQuery·Î ´õ ³ªÀº ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹ýÀ» ´Ù·é´Ù.
4Àå, ¡®ºñµ¿±â Å×½ºÆÃ: AJAX¡¯¿¡¼´Â AJAX ¿äû±îÁö Å×½ºÆ®ÇØ¾ß ÇÏ´Â µµÀüÀûÀÎ »óȲ¿¡¼ ºñµ¿±â Äڵ带 À罺¹ÎÀ¸·Î´Â ¾î¶»°Ô Å×½ºÆ®ÇÏ´ÂÁö ´Ù·é´Ù. Å×½ºÆ® ÇȽºÃ³·Î ¾ÆÁÖ °£´ÜÇÑ HTTP ¼¹ö¸¦ ³ëµåJS¸¦ ÀÌ¿ëÇÏ¿© ¸¸µé¾îº¼ °ÍÀÌ´Ù.
5Àå, ¡®À罺¹Î ½ºÆÄÀÌ¡¯¿¡¼´Â Å×½ºÆ® ´õºíÀÇ °³³ä°ú ½ºÆÄÀÌ(Spy)·Î ÇàÀ§¸¦ üũÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.
6Àå, ¡®±¤¼Ó ´ÜÀ§ Å×½ºÆ᯿¡¼´Â AJAX Å×½ºÆÃÀÇ ¸î °¡Áö À̽´µéÀ» ´Ù·ç°í ½ºÅÓ(Stub)À̳ª ÆäÀÌÅ©(Fake)(½Ã³íJS ÆäÀÌÅ© ¼¹ö °°Àº)·Î ´õ ºü¸¥ Å×½ºÆ®¸¦ ½ÇÇàÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù.
7Àå, ¡®¹éº» ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ᯿¡¼´Â ¹éº»JS(BackboneJS)ÀÇ ±âº»ÀÌ µÇ´Â 4°³ Ãß»óÈ ±â´ÉÀ» ´Ù·ç°í, Å×½ºÆ®¸¦ ¹éº»JS ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ´Ù½Ã ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. ¹éº»JS·Î ¹«¾ùÀ» Å×½ºÆ®ÇÏ°í, ¹«¾ùÀ» Å×½ºÆ®ÇÏÁö ¸»¾Æ¾ß ÇÒÁö ¾Ë¾Æº¼ °ÍÀÌ´Ù.
8Àå, ¡®ºôµå ÀÚµ¿È¡¯¿¡¼´Â ÀÚµ¿ÈÀÇ °·ÂÇÑ ÆÄ¿ö¿¡ ´ëÇØ ½Ç°¨ÇÏ°Ô µÉ °ÍÀÌ´Ù. ´ë±Ô¸ð ÀÚ¹Ù½ºÅ©¸³Æ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¸®ÄâÀ̾îJS(RequireJS)·Î ¾î¶»°Ô ÀÇÁ¸¼º °ü¸®¸¦ ÇÏ´ÂÁö ¾Ë°Ô µÉ °ÍÀÌ´Ù. ¸ðµâ°ú ÀÇÁ¸¼º ´ÜÀ§·Î »ç°íÇÏ°Ô µÇ¸é¼ Å×½ºÆ®¸¦ ¸ðµâ ´ÜÀ§·Î ÄÚµùÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÒ °ÍÀÌ´Ù. ¶Ç, ¿î¿µ ȯ°æÀ¸·Î ¹èÆ÷Çϱâ À§ÇØ Äڵ带 ÆÐÅ·(packing)ÇÏ°í ÃÖ¼ÒÈÇÏ´Â ¹æ¹ý, ±×¸®°í ÀÌ·¯ÇÑ °úÁ¤À» ÀÚµ¿È½ÃÅ°´Â ¹æ¹ý±îÁö ¹è¿ì°Ô µÉ °ÍÀÌ´Ù. ÆÒÅÒJS(PhantomJS)·Î ºê¶ó¿ìÀú âÀ» ¶ç¿ìÁö ¾Ê°íµµ ¸ðµç Å×½ºÆ®¸¦ ½ÇÇàÇÏ¸é¼ ÆÄÀÏÀÌ º¯°æµÇ¸é ÀÚµ¿À¸·Î Å×½ºÆ®°¡ Àç½ÇÇàµÇ°Ô ÇÏ´Â ±â¼ú±îÁö ¼··ÆÇÏ°Ô µÉ °ÍÀÌ´Ù.
9Àå, ¡®¸¶¹«¸®¡¯¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ® »ýÅ°迡¼ÀÇ Å×½ºÆðú µµ±¸È(tooling)¿¡ ´ëÇØ ¾ð±ÞÇÒ °ÍÀÌ´Ù.
ºÎ·Ï A. ¡®Á¦ÀÌÄõ¸® Ç÷¯±×ÀÎ Å×½ºÆ®¡¯¿¡¼´Â jQuery Ç÷¯±×ÀÎÀÇ °³³ä°ú À罺¹ÎÀ¸·Î Ç÷¯±×ÀÎ °³¹ßÀ» ¾î¶»°Ô ÁÖµµÇÒ ¼ö ÀÖÀ»Áö ´Ù·é´Ù.
ºÎ·Ï B. ¡®Æ®·¡ºñ½º CI¸¦ ÀÌ¿ëÇÑ Áö¼ÓÀû ÅëÇÕ¡¯¿¡¼´Â Æ®·¡ºñ½º CI(Travis CI)¸¦ »ç¿ëÇÏ¿© ÀÚ¹Ù½ºÅ©¸³Æ® ¾ÖÇø®ÄÉÀ̼ÇÀ» Áö¼ÓÀûÀ¸·Î ÅëÇÕÇϱâ À§ÇÑ È¯°æÀ» ¸¶·ÃÇÒ °ÍÀÌ´Ù.
ºÎ·Ï C. ¡®À罺¹Î 2.0°ú ¹Ì·¡¡¯¿¡¼´Â ¾ÕÀ¸·Î Ãâ½ÃµÉ À罺¹Î 2.0 ¹öÀü¿¡¼ ¹Ù²ð Áß¿äÇÑ º¯°æ »çÇ×µé°ú ±âÁ¸ ¹öÀü¿¡¼ ´Ü°èÀûÀ¸·Î ¸¶À̱׷¹À̼ÇÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù.
¡Ú ÀúÀÚ ¼¹® ¡Ú
ÀÌ Ã¥Àº µ¶ÀÚ ¿©·¯ºÐµéÀ» ´õ ³ªÀº ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ßÀÚ·Î ¸¸µé¾îÁÙ °ÍÀÌ´Ù. ¿©·¯ºÐµéÀº ÀÌ Ã¥À» ÅëÇØ À罺¹Î ¡®¿ë¾î(idiom)¡¯µé·Î Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ¹ý»Ó¸¸ ¾Æ´Ï¶ó ÀÚ¹Ù½ºÅ©¸³Æ® ¾ð¾î·Î ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦ÀÛÇÏ´Â µ¥ ²À ÇÊ¿äÇÑ ¸ð¹ü »ç·Ê(best practice)¸¦ ¹è¿ì°Ô µÉ °ÍÀÌ´Ù. ¶Ç ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» À§ÇÑ ÁøÁ¤ÇÑ Ç÷§ÆûÀ¸·Î¼ ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ °¡´É¼ºÀ» ¾î¶»°Ô À̲ø¾î³¾ °ÍÀÎÁö, ¾î¶»°Ô µµ±¸µéÀ» È°¿ëÇÏ°í ÀÚµ¿È½ÃÄÑ °³¹ßÀÚ ¿©·¯ºÐµéÀÌ Á» ´õ ½±°Ô, »ý»êÀûÀ¸·Î ÀÏÇÒ ¼ö ÀÖÀ»Áö »ìÆ캼 °ÍÀÌ´Ù.
Áß¿äÇÑ Á¡Àº ÀÌ Ã¥ÀÌ ±×Àú ¿¡·¯ ¾øÀÌ ½ÇÇàµÇ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ³Ñ¾î Àß ¸¸µç(well-crafted) ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦ÀÛÇϱâ À§ÇÑ ±â¼ú¿¡ ÃÊÁ¡À» µÎ°í ÀÖ´Ù´Â Á¡ÀÌ´Ù.
À¥ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß °úÁ¤¿¡¼ ÀÚ¹Ù½ºÅ©¸³Æ®·Î Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ°í À̸¦ ÀÚµ¿È½ÃÄÑ¾ß ÇÏ´Â ½Ç¹«ÀûÀÎ ¹®Á¦¿¡ Á÷¸éÇÏ°Ô µÉ ¿©·¯ºÐµé¿¡°Ô ÀÌ Ã¥Àº Ãæ½ÇÇÑ °¡À̵尡 µÇ¾îÁÙ °ÍÀÌ´Ù. À罺¹Î, ½Ã³íJS(SinonJS), ¸®ÄâÀ̾îJS(RequireJS), ±×·±Æ®(Grunt) °°Àº ±â¼úµéÀ» ÀÌ¿ëÇؼ ¸»ÀÌ´Ù.
ÀÌ Ã¥¿¡¼´Â °£´ÜÇÑ ±â´ÉÀÇ ÁÖ½Ä ÅõÀÚ Á¶È¸±â(Stock Market Investment Tracker) ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â °úÁ¤À» ÅëÇØ Å×½ºÆ® ÁÖµµ °³¹ß(TDD, Test-Driven Development)ÀÇ °³³äÀ» ¼Ò°³ÇÒ °ÍÀÌ´Ù. ÁÖ½ÄÀ̳ª ÅõÀÚ °°Àº ±âº»ÀûÀÎ µµ¸ÞÀΠŬ·¡½º(domain class) °³¹ßÀ» ÇÏ¸é¼ Å×½ºÆ®¶õ ¹«¾ùÀÎÁö ¸ÕÀú ±âº»À» ÀÍÈ÷°í, À¯Áö º¸¼ö°¡ ¿ëÀÌÇÑ ºê¶ó¿ìÀú ÄÚµå¶õ ¹«¾ùÀÎÁö ¼³¸íÇØÁÙ °ÍÀÌ´Ù. ±×¸®°í ÀÇÁ¸¼º °ü¸®, ÀÚµ¿È ºôµå¸¦ À§ÇØ ¹éº»JS¿Í ¸®ÄâÀ̾îJS¸¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ Àû¿ëÇÏ¸é¼ Ç® ¸®ÆÑÅ丵(full refactoring)À» ÇÏ´Â °ÍÀ¸·Î ¸¶¹«¸®ÇÒ °ÍÀÌ´Ù.
¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú
ÀÚµ¿ÈµÈ ÅøÀ» ÀÌ¿ëÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå Å×½ºÆÿ¡ ¾ÆÁ÷µµ ¸·¿¬ÇÑ °ÅºÎ°¨À» °¡Áö°í °è½Ç °³¹ßÀںеéÀÌ ÀûÁö ¾ÊÀ» °ÍÀ¸·Î »ý°¢ÇÕ´Ï´Ù. ±¹³» À¥ °³¹ßÀÚ ¿©·¯ºÐµéÀÇ ´ëºÎºÐÀÇ ¾÷¹« ȯ°æ(ÀûÀº ¿¹»ê°ú Ã˹ÚÇÑ ÀÏÁ¤, ±×¸®°í ÀæÀº ¿ä±¸ »çÇ× º¯°æ)À» °¨¾ÈÇϸé Å×½ºÆÃÀ» À§ÇØ Åø »ç¿ë¹ýÀ» ÀÍÈ÷°í º°µµÀÇ Äڵ带 ÀÛ¼ºÇÑ´Ù´Â °ÍÀÌ µý ¼¼»ó ¼Ò¸®Ã³·³ µé¸®´Â °Íµµ ¹«¸®´Â ¾Æ´Ò °ÍÀÔ´Ï´Ù.
±×·¯³ª 10¿© ³â Àü ÄËÆ® º¤(Kent Beck)ÀÌ TDD °³¹ß ¹æ¹ý·ÐÀ» ÁÖâÇÑ ÀÌÈÄ, ¼±(à») Å×½ºÆ® ÈÄ(ý) °³¹ß ¹æ½ÄÀÇ ÇÁ·Î±×·¡¹ÖÀº ±× È¿°ú°¡ ÃæºÐÈ÷ ÀÔÁõµÇ¾ú½À´Ï´Ù. ¹°·Ð, TDD°¡ ¸ðµç °³¹ß ÇÁ·ÎÁ§Æ®¿¡¼ Àû¿ë °¡´ÉÇÑ ¿Ïº®ÇÑ ¼Ö·ç¼ÇÀ̶ó°í ÇÒ ¼ö´Â ¾ø°ÚÁö¸¸, ºñÁî´Ï½º ·ÎÁ÷À» ±¸ÇöÇϱâ Àü¿¡ Å×½ºÆ® Äڵ带 ¸ÕÀú ÀÛ¼ºÇÔÀ¸·Î½á °³¹ßÀÚ º»ÀÎ ½º½º·Î ¸ñÇ¥¸¦ ºÐ¸íÈ÷ Á¤ÇÒ ¼ö ÀÖ°í, ¡®°³¹ßÀ» ¿Ï·áÇß´Ù¡¯¶ó´Â ÆÇ´Ü ±âÁØÀ» °´°üÀûÀ¸·Î Á¦½ÃÇÒ ¼ö ÀÖ´Ù´Â Á¡¸¸À¸·Îµµ ÃæºÐÈ÷ ¸Å·ÂÀûÀ̶ó°í º¾´Ï´Ù. ¶Ç ¿ä°ÇÀÌ º¯°æµÇ¾î Äڵ带 ¼öÁ¤ÇØ¾ß ÇÒ °æ¿ì¿¡µµ ¹ø°Å·Ó°í ¸¹Àº ½Ã°£ÀÌ ¼Ò¿äµÇ´Â Å×½ºÆà ÀÛ¾÷À» ÀÚµ¿ÈÇÏ¿© ¡®±â°è°¡ ³ª ´ë½Å ÀÏÀ» ÇØÁش١¯´Â »ÑµíÇÔÀ» ´À³¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÀÌ Ã¥Àº À罺¹ÎÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆ® Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ¹ý»Ó¸¸ ¾Æ´Ï¶ó ¸ð´ø ÀÚ¹Ù½ºÅ©¸³Æ® ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÇÊ¿äÇÑ ³ëµåJS, ¹éº»JS, ¸®ÄâÀ̾îJS µî¿¡ ´ëÇØ ´Ù·ç°í ÀÖ½À´Ï´Ù. ÀÌ·ÐÀûÀÌ°í ±³°ú¼ÀûÀÎ ¼³¸íÀÌ ¾Æ´Ñ, ½ÇÁ¦ ÇöÀå¿¡¼ Á¢ÇÒ ¼ö ÀÖ´Â ½ÇÀüÀûÀÎ ¿¹Á¦ Äڵ尡 ¼ö·ÏµÇ¾î ÀÖ´Â °Íµµ ¶Ç ´Ù¸¥ ÀåÁ¡ÀÔ´Ï´Ù. ¿©·¯ºÐµéÀÌ ÀÌ Ã¥À» Àаí ÀúÀÚÀÇ ¸Ó¸®¸» ù ¹®±¸Ã³·³ ¡®´õ ³ªÀº ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ßÀÚ¡¯°¡ µÇ´Â °ÍÀº ¹°·ÐÀÌ°í, ³ªÀÌ°¡ µé¾î¼µµ ÇнÀÀÇ ²öÀ» ³õÁö ¾Ê´Â, ²ÙÁØÈ÷ ¼ºÀåÇÏ´Â °³¹ßÀÚ°¡ µÇ½Ã±â ¹Ù¶ø´Ï´Ù!
¸ñÂ÷
1 À罺¹Î ½ÃÀÛ
__ÀÚ¹Ù½ºÅ©¸³Æ®: ³ª»Û Á¡µé
__À罺¹Î°ú BDD
__³»·Á¹Þ¾Æ ½ÇÇàÇغ¸±â
__Á¤¸®
2 ½ºÆå ÀÛ¼º
__ÁÖ½Ä ÅõÀÚ Á¶È¸±â ¾ÖÇø®ÄÉÀ̼Ç
__À罺¹ÎÀÇ ±âº»°ú BDD »ç°í¹æ½Ä
__±¸¼º°ú Á¤¸®
__describe Áßø
____±¸¼º°ú Á¤¸®
____ÇàÀ§¸¦ °øÀ¯ÇÏ¿© ½ºÆå ÄÚµù
__¸ÅóÀÇ ÀÌÇØ
____Ä¿½ºÅÒ ¸Åó
____³»Àå ¸Åó
________toEqual
________toBe
________toBeTruthy, toBeFalsy
________toBeUndefined, toBeNull, toBeNaN
________toBeDefined
________toContain
________toMatch
________toBeLessThan, toBeGreater
________toThrow
__Á¤¸®
3 ÇÁ·ÐÆ®¿£µå ÄÚµå Å×½ºÆÃ
__ÄÄÆ÷³ÍÆ® °üÁ¡À¸·Î »ý°¢Çϱâ(ºä)
__¸ðµâ ÆÐÅÏ
__HTML ÇȽºÃ³ »ç¿ë
__±âº»ÀûÀÎ ºä ÄÚµù ±ÔÄ¢
____ºä´Â DOM ¿¤¸®¸ÕÆ®¸¦ ĸ½¶ÈÇØ¾ß ÇÑ´Ù
____ºä¸¦ ¿ÉÀú¹ö¿Í ÅëÇÕÇØ¾ß ÇÑ´Ù
__jQuery ¸Åó·Î ºä Å×½ºÆÃ
____toBe
____toContainHtml
____toContain
____toHaveValue
____toHaveAttr
____toBeFocused
____toBeDisabled
____±âŸ Ä¿½ºÅÒ ¸Åó
__Á¤¸®
4 ºñµ¿±â Å×½ºÆÃ: AJAX
__½Ã³ª¸®¿À ¼³Á¤
____³ëµåJS ¼³Ä¡
____¼¹ö ÄÚµù
____¼¹ö ½ÇÇà
__½ºÆå ÀÛ¼º
____waitsFor() ÇÔ¼ö
____runs() ÇÔ¼ö
__Á¤¸®
5 À罺¹Î ½ºÆÄÀ̽º
__ºó ½ºÆÄÀÌ ÇÔ¼ö
__°´Ã¼ ÇÔ¼ö¿¡ ´ëÇÑ ½ºÆÄÀÌ
__DOM À̺¥Æ® Å×½ºÆÃ
__Á¤¸®
6 ±¤¼Ó ´ÜÀ§ Å×½ºÆÃ
__À罺¹Î ½ºÅÓ
__½Ã³íJS
____½Ã³íJS ¼³Ä¡
____ÆäÀÌÅ© XMLHttpRequest
____ÆäÀÌÅ© ¼¹ö
__Á¤¸®
7 ¹éº» ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆÃ
__¹éº» ¸ðµ¨
____¹éº» ¸ðµ¨ ¼±¾ð
____¸ðµ¨ ¼Ó¼º
____µðÆúÆ® ¼Ó¼º°ª
____À̺¥Æ®
____µ¿±âÈ¿Í AJAX ¿äû
__¹éº» ÄÝ·º¼Ç Å×½ºÆÃ
____ÄÝ·º¼Ç ¼±¾ð
____µ¿±âÈ¿Í AJAX ¿äû
__¹éº» ºä Å×½ºÆÃ
____ºä ¼±¾ð
____el ÇÁ·ÎÆÛƼ
____·»´õ¸µ
____¸ðµ¨ º¯°æ ½Ã ºä ¾÷µ¥ÀÌÆ®
____DOM À̺¥Æ® ¹ÙÀεù
__¹éº» ¶ó¿ìÅÍ Å×½ºÆÃ
____¶ó¿ìÅÍ Á¤ÀÇ
____°æ·Î Á¤ÀÇ
____¶ó¿ìÅÍ È°¿ë
____¶ó¿ìÅÍ´Â º¸³»±â¸¸ ÇÑ´Ù
__Á¤¸®
8 ºôµå ÀÚµ¿È
__¸®ÄâÀ̾îJS
____¸ðµâ Á¤ÀÇ
____ÇÁ·ÎÁ§Æ® ¼³Á¤
________SpecRunner.JS ÆÄÀÏ »ý¼º
________RequireJS ¼³Á¤
____¸ðµâ Å×½ºÆÃ
____¿î¿µ ȯ°æÀ» À§ÇÑ ÃÖÀûÈ
__ÆÒÅÒJS Çìµå¸®½º Å×½ºÆÃ
____ÆÒÅÒJS ´Ù¿î·Îµå ¹× ¼³Ä¡
____ºê¶ó¿ìÀú¸¦ ¿Áö ¾Ê°í Å×½ºÆ®
__±×·±Æ®
____±×·±Æ® ¼³Ä¡
____ÇÁ·ÎÁ§Æ® ¼³Á¤
____¸®ÄâÀ̾îJS ¿ÉƼ¸¶ÀÌÀú ŽºÅ©
____À罺¹Î ŽºÅ©
____º¯È °¨½Ã ¹× ½ºÆå ½ÇÇà
__NPM ÀÇÁ¸¼º °ü¸®
__Á¤¸®
9 ¸¶¹«¸®
ºÎ·Ï A Á¦ÀÌÄõ¸® Ç÷¯±×ÀÎ Å×½ºÆÃ
__Á¤¸®
ºÎ·Ï B Æ®·¡ºñ½º CI¸¦ ÀÌ¿ëÇÑ Áö¼ÓÀû ÅëÇÕ
__Æ®·¡ºñ½º CI¿¡ ÇÁ·ÎÁ§Æ® Ãß°¡
__ÇÁ·ÎÁ§Æ® ¼³Á¤
__Á¤¸®
ºÎ·Ï C À罺¹Î 2.0°ú ¹Ì·¡
__Ãâ½Ã Èĺ¸ 2
__ÁÖ¿ä ¾÷µ¥ÀÌÆ®
__Ä¿½ºÅÒ ¸Åó »ý¼º ¹®¹ý °³Æí
__»õ·Î¿î ºñµ¿±â ½ºÆå ¹®¹ý
__»õ·Î¿î ½ºÆÄÀÌ ¹®¹ý
__Á¤¸®
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
ÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
ÀÌ »óÇ°ÀÇ ½Ã¸®Áî
(ÃÑ 208±Ç / ÇöÀ籸¸Å °¡´Éµµ¼ 208±Ç)
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
(ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ ¸ðµç °Å·¡¿¡ ´ëÇÏ¿©
(ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.