|
|
|
|
|
|
|
Ã¥³»¿ë |
|
ÆÄÀ̽ãÀ¸·Î ÀÍÈ÷´Â µö·¯´× À̷аú ±¸Çö
_¿¹Á¦ ¼Ò½º: https://github.com/WegraLee/deep-learning-from-scratch
¡Ú ´©±¸¸¦ À§ÇÑ Ã¥Àΰ¡?
_ ¿ÜºÎ ¶óÀ̺귯¸®´Â ÃÖ¼ÒÇѸ¸ ÀÌ¿ëÇÏ°í ÆÄÀ̽ãÀ» »ç¿ëÇØ µö·¯´× ÇÁ·Î±×·¥À» óÀ½ºÎÅÍ ±¸ÇöÇÕ´Ï´Ù.
_ ÆÄÀ̽ãÀÌ Ã³À½ÀÎ »ç¶÷µµ ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÆÄÀ̽㠻ç¿ë¹ýµµ °£·«È÷ ¼³¸íÇÕ´Ï´Ù.
_ ½ÇÁ¦ µ¿ÀÛÇÏ´Â ÆÄÀ̽ã ÄÚµå¿Í µ¶ÀÚ°¡ Á÷Á¢ ½ÇÇèÇÒ ¼ö ÀÖ´Â ÇнÀ ȯ°æÀ» Á¦°øÇÕ´Ï´Ù.
_ °£´ÜÇÑ ±â°èÇнÀ ¹®Á¦ºÎÅÍ ½ÃÀÛÇÏ¿© ±Ã±Ø¿¡´Â À̹ÌÁö¸¦ Á¤È®ÇÏ°Ô ÀνÄÇÏ´Â ½Ã½ºÅÛÀ» ±¸ÇöÇÕ´Ï´Ù.
_ µö·¯´×°ú ½Å°æ¸Á ÀÌ·ÐÀ» ¾Ë±â ½±°Ô ¼³¸íÇÕ´Ï´Ù.
_ ¿ÀÂ÷¿ªÀüÆĹý(backpropagation)°ú ÇÕ¼º°ö(convolution) ¿¬»ê µî º¹ÀâÇØ º¸ÀÌ´Â ±â¼úÀ» ±¸Çö ¼öÁØ¿¡¼ ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ¼³¸íÇÕ´Ï´Ù.
_ ÇÏÀÌÆÛÆĶó¹ÌÅÍ °áÁ¤ ¹æ½Ä, °¡ÁßÄ¡ Ãʱ갪 µî µö·¯´×À» È°¿ëÇÏ´Â µ¥ µµ¿òÀÌ µÇ´Â ½Ç¿ëÀûÀÎ ±â¼úÀ» ¼Ò°³ÇÕ´Ï´Ù.
_ ¹èÄ¡ Á¤±ÔÈ, µå·Ó¾Æ¿ô, Adam °°Àº ÃÖ±Ù Æ®·»µå¸¦ ¼³¸íÇÏ°í ±¸ÇöÇغ¾´Ï´Ù.
_ µö·¯´×ÀÌ ¿Ö ¶Ù¾î³Áö, ÃþÀÌ ±í¾îÁö¸é ¿Ö Á¤È®µµ°¡ ³ô¾ÆÁö´ÂÁö, Àº´ÐÃþÀÌ ¿Ö Áß¿äÇÑÁö¿Í °°Àº ¡®¿Ö¡¯¿¡ °üÇÑ ¹®Á¦µµ ´Ù·ì´Ï´Ù.
_ ÀÚÀ² ÁÖÇà, À̹ÌÁö »ý¼º, °ÈÇнÀ µî, µö·¯´×À» ÀÀ¿ëÇÑ ¿¹¸¦ ¼Ò°³ÇÕ´Ï´Ù.
¡Ú ´©±¸¸¦ À§ÇÑ Ã¥ÀÌ ¾Æ´Ñ°¡?
_ µö·¯´× ºÐ¾ßÀÇ ÃֽŠ¿¬±¸¿¡ ´ëÇؼ´Â ÀÚ¼¼È÷ ´Ù·çÁö ¾Ê½À´Ï´Ù.
_ Ä«Æä(Caffe), ÅÙ¼Ç÷Î(TensorFlow), üÀ̳Ê(Chainer) µîÀÇ µö·¯´× ÇÁ·¹ÀÓ¿öÅ© »ç¿ë¹ýÀº ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù.
_ µö·¯´×, ƯÈ÷ ½Å°æ¸Á¿¡ °üÇÑ ¾ÆÁÖ »ó¼¼ÇÑ À̷бîÁö´Â ´ãÁö ¾Ê¾Ò½À´Ï´Ù.
_ µö·¯´×ÀÇ Á¤È®µµ¸¦ ³ôÀ̱â À§ÇÑ Æ©´×Àº ÀÚ¼¼È÷ ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù.
_ µö·¯´× ¼º´ÉÀ» ³ô¿©ÁÖ´Â GPU ±â¼úÀº ±¸Ã¼ÀûÀ¸·Î ´Ù·çÁö ¾Ê½À´Ï´Ù.
_ ÁÖ·Î À̹ÌÁö ÀνÄÀ» ´Ù·ì´Ï´Ù. ÀÚ¿¬¾î ó¸®, À½¼º ÀÎ½Ä µîÀÇ »ç·Ê´Â ´Ù·çÁö ¾Ê½À´Ï´Ù. |
|
¸ñÂ÷ |
|
1Àå Çï·Î ÆÄÀ̽ã
1.1 ÆÄÀ̽ãÀ̶õ?
1.2 ÆÄÀ̽㠼³Ä¡Çϱâ
__1.2.1 ÆÄÀ̽㠹öÀü
__1.2.2 »ç¿ëÇÏ´Â ¿ÜºÎ ¶óÀ̺귯¸®
__1.2.3 ¾Æ³ªÄÜ´Ù ¹èÆ÷ÆÇ
1.3 ÆÄÀ̽ã ÀÎÅÍÇÁ¸®ÅÍ
__1.3.1 »ê¼ú ¿¬»ê
__1.3.2 ÀÚ·áÇü
__1.3.3 º¯¼ö
__1.3.4 ¸®½ºÆ®
__1.3.5 µñ¼Å³Ê¸®
__1.3.6 bool
__1.3.7 if ¹®
__1.3.8 for ¹®
__1.3.9 ÇÔ¼ö
1.4 ÆÄÀ̽㠽ºÅ©¸³Æ® ÆÄÀÏ
__1.4.1 ÆÄÀÏ·Î ÀúÀåÇϱâ
__1.4.2 Ŭ·¡½º
1.5 ³ÑÆÄÀÌ
__1.5.1 ³ÑÆÄÀÌ °¡Á®¿À±â
__1.5.2 ³ÑÆÄÀÌ ¹è¿ »ý¼ºÇϱâ
__1.5.3 ³ÑÆÄÀÌÀÇ »ê¼ú ¿¬»ê
__1.5.4 ³ÑÆÄÀÌÀÇ NÂ÷¿ø ¹è¿
__1.5.5 ºê·Îµåij½ºÆ®
__1.5.6 ¿ø¼Ò Á¢±Ù
1.6 matplotlib
__1.6.1 ´Ü¼øÇÑ ±×·¡ÇÁ ±×¸®±â
__1.6.2 pyplotÀÇ ±â´É
__1.6.3 À̹ÌÁö Ç¥½ÃÇϱâ
1.7 Á¤¸®
2Àå ÆÛ¼ÁÆ®·Ð
2.1 ÆÛ¼ÁÆ®·ÐÀ̶õ?
2.2 ´Ü¼øÇÑ ³í¸® ȸ·Î
__2.2.1 AND °ÔÀÌÆ®
__2.2.2 NAND °ÔÀÌÆ®¿Í OR °ÔÀÌÆ®
2.3 ÆÛ¼ÁÆ®·Ð ±¸ÇöÇϱâ
__2.3.1 °£´ÜÇÑ ±¸ÇöºÎÅÍ
__2.3.2 °¡ÁßÄ¡¿Í ÆíÇâ µµÀÔ
__2.3.3 °¡ÁßÄ¡¿Í ÆíÇâ ±¸ÇöÇϱâ
2.4 ÆÛ¼ÁÆ®·ÐÀÇ ÇÑ°è
__2.4.1 µµÀü! XOR °ÔÀÌÆ®
__2.4.2 ¼±Çü°ú ºñ¼±Çü
2.5 ´ÙÃþ ÆÛ¼ÁÆ®·ÐÀÌ Ã⵿ÇÑ´Ù¸é
__2.5.1 ±âÁ¸ °ÔÀÌÆ® Á¶ÇÕÇϱâ
__2.5.2 XOR °ÔÀÌÆ® ±¸ÇöÇϱâ
2.6 NAND¿¡¼ ÄÄÇ»ÅͱîÁö
2.7 Á¤¸®
3Àå ½Å°æ¸Á
3.1 ÆÛ¼ÁÆ®·Ð¿¡¼ ½Å°æ¸ÁÀ¸·Î
__3.1.1 ½Å°æ¸ÁÀÇ ¿¹
__3.1.2 ÆÛ¼ÁÆ®·Ð º¹½À
__3.1.3 È°¼ºÈ ÇÔ¼öÀÇ µîÀå
3.2 È°¼ºÈ ÇÔ¼ö
__3.2.1 ½Ã±×¸ðÀ̵å ÇÔ¼ö
__3.2.2 °è´Ü ÇÔ¼ö ±¸ÇöÇϱâ
__3.2.3 °è´Ü ÇÔ¼öÀÇ ±×·¡ÇÁ
__3.2.4 ½Ã±×¸ðÀ̵å ÇÔ¼ö ±¸ÇöÇϱâ
__3.2.5 ½Ã±×¸ðÀ̵å ÇÔ¼ö¿Í °è´Ü ÇÔ¼ö ºñ±³
__3.2.6 ºñ¼±Çü ÇÔ¼ö
__3.2.7 ReLU ÇÔ¼ö
3.3 ´ÙÂ÷¿ø ¹è¿ÀÇ °è»ê
__3.3.1 ´ÙÂ÷¿ø ¹è¿
__3.3.2 Çà·ÄÀÇ ³»Àû
__3.3.3 ½Å°æ¸ÁÀÇ ³»Àû
3.4 3Ãþ ½Å°æ¸Á ±¸ÇöÇϱâ
__3.4.1 Ç¥±â¹ý ¼³¸í
__3.4.2 °¢ ÃþÀÇ ½ÅÈ£ Àü´Þ ±¸ÇöÇϱâ
__3.4.3 ±¸Çö Á¤¸®
3.5 Ãâ·ÂÃþ ¼³°èÇϱâ
__3.5.1 Ç×µî ÇÔ¼ö¿Í ¼ÒÇÁÆ®¸Æ½º ÇÔ¼ö ±¸ÇöÇϱâ
__3.5.2 ¼ÒÇÁÆ®¸Æ½º ÇÔ¼ö ±¸Çö ½Ã ÁÖÀÇÁ¡
__3.5.3 ¼ÒÇÁÆ®¸Æ½º ÇÔ¼öÀÇ Æ¯Â¡
__3.5.4 Ãâ·ÂÃþÀÇ ´º·± ¼ö Á¤Çϱâ
3.6 ¼Õ±Û¾¾ ¼ýÀÚ ÀνÄ
__3.6.1 MNIST µ¥ÀÌÅͼÂ
__3.6.2 ½Å°æ¸ÁÀÇ Ã߷Рó¸®
__3.6.3 ¹èÄ¡ ó¸®
3.7 Á¤¸®
4Àå ½Å°æ¸Á ÇнÀ
4.1 µ¥ÀÌÅÍ¿¡¼ ÇнÀÇÑ´Ù!
__4.1.1 µ¥ÀÌÅÍ ÁÖµµ ÇнÀ
__4.1.2 ÈÆ·Ã µ¥ÀÌÅÍ¿Í ½ÃÇè µ¥ÀÌÅÍ
4.2 ¼Õ½Ç ÇÔ¼ö
__4.2.1 Æò±Õ Á¦°ö ¿ÀÂ÷
__4.2.2 ±³Â÷ ¿£Æ®·ÎÇÇ ¿ÀÂ÷
__4.2.3 ¹Ì´Ï¹èÄ¡ ÇнÀ
__4.2.4 (¹èÄ¡¿ë) ±³Â÷ ¿£Æ®·ÎÇÇ ¿ÀÂ÷ ±¸ÇöÇϱâ
__4.2.5 ¿Ö ¼Õ½Ç ÇÔ¼ö¸¦ ¼³Á¤Çϴ°¡?
4.3 ¼öÄ¡ ¹ÌºÐ
__4.3.1 ¹ÌºÐ
__4.3.2 ¼öÄ¡ ¹ÌºÐÀÇ ¿¹
__4.3.3 Æí¹ÌºÐ
4.4 ±â¿ï±â
__4.4.1 °æ»ç¹ý(°æ»ç ÇÏ°¹ý)
__4.4.2 ½Å°æ¸Á¿¡¼ÀÇ ±â¿ï±â
4.5 ÇнÀ ¾Ë°í¸®Áò ±¸ÇöÇϱâ
__4.5.1 2Ãþ ½Å°æ¸Á Ŭ·¡½º ±¸ÇöÇϱâ
__4.5.2 ¹Ì´Ï¹èÄ¡ ÇнÀ ±¸ÇöÇϱâ
__4.5.3 ½ÃÇè µ¥ÀÌÅÍ·Î Æò°¡Çϱâ
4.6 Á¤¸®
5Àå ¿ÀÂ÷¿ªÀüÆĹý
5.1 °è»ê ±×·¡ÇÁ
__5.1.1 °è»ê ±×·¡ÇÁ·Î Ç®´Ù
__5.1.2 ±¹¼ÒÀû °è»ê
__5.1.3 ¿Ö °è»ê ±×·¡ÇÁ·Î Ǫ´Â°¡?
5.2 ¿¬¼â¹ýÄ¢
__5.2.1 °è»ê ±×·¡ÇÁ¿¡¼ÀÇ ¿ªÀüÆÄ
__5.2.2 ¿¬¼â¹ýÄ¢À̶õ?
__5.2.3 ¿¬¼â¹ýÄ¢°ú °è»ê ±×·¡ÇÁ
5.3 ¿ªÀüÆÄ
__5.3.1 µ¡¼À ³ëµåÀÇ ¿ªÀüÆÄ
__5.3.2 °ö¼À ³ëµåÀÇ ¿ªÀüÆÄ
__5.3.3 »ç°ú ¼îÇÎÀÇ ¿¹
5.4 ´Ü¼øÇÑ °èÃþ ±¸ÇöÇϱâ
__5.4.1 °ö¼À °èÃþ
__5.4.2 µ¡¼À °èÃþ
5.5 È°¼ºÈ ÇÔ¼ö °èÃþ ±¸ÇöÇϱâ
__5.5.1 ReLU °èÃþ
__5.5.2 Sigmoid °èÃþ
5.6 Affine/Softmax °èÃþ ±¸ÇöÇϱâ
__5.6.1 Affine °èÃþ
__5.6.2 ¹èÄ¡¿ë Affine °èÃþ
__5.6.3 Softmax-with-Loss °èÃþ
5.7 ¿ÀÂ÷¿ªÀüÆĹý ±¸ÇöÇϱâ
__5.7.1 ½Å°æ¸Á ÇнÀÀÇ Àüü ±×¸²
__5.7.2 ¿ÀÂ÷¿ªÀüÆĹýÀ» Àû¿ëÇÑ ½Å°æ¸Á ±¸ÇöÇϱâ
__5.7.3 ¿ÀÂ÷¿ªÀüÆĹýÀ¸·Î ±¸ÇÑ ±â¿ï±â °ËÁõÇϱâ
__5.7.4 ¿ÀÂ÷¿ªÀüÆĹýÀ» »ç¿ëÇÑ ÇнÀ ±¸ÇöÇϱâ
5.8 Á¤¸®
6Àå ÇнÀ °ü·Ã ±â¼úµé
6.1 ¸Å°³º¯¼ö °»½Å
__6.1.1 ¸ðÇè°¡ À̾߱â
__6.1.2 È®·üÀû °æ»ç ÇÏ°¹ý(SGD)
__6.1.3 SGDÀÇ ´ÜÁ¡
__6.1.4 ¸ð¸àÅÒ
__6.1.5 AdaGrad
__6.1.6 Adam
__6.1.7 ¾î´À °»½Å ¹æ¹ýÀ» ÀÌ¿ëÇÒ °ÍÀΰ¡?
__6.1.8 MNIST µ¥ÀÌÅͼÂÀ¸·Î º» °»½Å ¹æ¹ý ºñ±³
6.2 °¡ÁßÄ¡ÀÇ Ãʱ갪
__6.2.1 Ãʱ갪À» 0À¸·Î Çϸé?
__6.2.2 Àº´ÐÃþÀÇ È°¼ºÈ ºÐÆ÷
__6.2.3 ReLU¸¦ »ç¿ëÇÒ ¶§ÀÇ °¡ÁßÄ¡ Ãʱ갪
__6.2.4 MNIST µ¥ÀÌÅͼÂÀ¸·Î º» °¡ÁßÄ¡ Ãʱ갪 ºñ±³
6.3 ¹èÄ¡ Á¤±ÔÈ
__6.3.1 ¹èÄ¡ Á¤±ÔÈ ¾Ë°í¸®Áò
__6.3.2 ¹èÄ¡ Á¤±ÔÈÀÇ È¿°ú
6.4 ¹Ù¸¥ ÇнÀÀ» À§ÇØ
__6.4.1 ¿À¹öÇÇÆÃ
__6.4.2 °¡ÁßÄ¡ °¨¼Ò
__6.4.3 µå·Ó¾Æ¿ô
6.5 ÀûÀýÇÑ ÇÏÀÌÆÛÆĶó¹ÌÅÍ °ª ã±â
__6.5.1 °ËÁõ µ¥ÀÌÅÍ
__6.5.2 ÇÏÀÌÆÛÆĶó¹ÌÅÍ ÃÖÀûÈ
__6.5.3 ÇÏÀÌÆÛÆĶó¹ÌÅÍ ÃÖÀûÈ ±¸ÇöÇϱâ
6.6 Á¤¸®
7Àå ÇÕ¼º°ö ½Å°æ¸Á(CNN)
7.1 Àüü ±¸Á¶
7.2 ÇÕ¼º°ö °èÃþ
__7.2.1 ¿ÏÀü¿¬°á °èÃþÀÇ ¹®Á¦Á¡
__7.2.2 ÇÕ¼º°ö ¿¬»ê
__7.2.3 Æеù
__7.2.4 ½ºÆ®¶óÀ̵å
__7.2.5 3Â÷¿ø µ¥ÀÌÅÍÀÇ ÇÕ¼º°ö ¿¬»ê
__7.2.6 ºí·ÏÀ¸·Î »ý°¢Çϱâ
__7.2.7 ¹èÄ¡ ó¸®
7.3 Ç®¸µ °èÃþ
__7.3.1 Ç®¸µ °èÃþÀÇ Æ¯Â¡
7.4 ÇÕ¼º°ö/Ç®¸µ °èÃþ ±¸ÇöÇϱâ
__7.4.1 4Â÷¿ø ¹è¿
__7.4.2 im2col·Î µ¥ÀÌÅÍ Àü°³Çϱâ
__7.4.3 ÇÕ¼º°ö °èÃþ ±¸ÇöÇϱâ
__7.4.4 Ç®¸µ °èÃþ ±¸ÇöÇϱâ
7.5 CNN ±¸ÇöÇϱâ
7.6 CNN ½Ã°¢ÈÇϱâ
__7.6.1 1¹ø° ÃþÀÇ °¡ÁßÄ¡ ½Ã°¢ÈÇϱâ
__7.6.2 Ãþ ±íÀÌ¿¡ µû¸¥ ÃßÃâ Á¤º¸ º¯È
7.7 ´ëÇ¥ÀûÀÎ CNN
__7.7.1 LeNet
__7.7.2 AlexNet
7.8 Á¤¸®
8Àå µö·¯´×
8.1 ´õ ±í°Ô
__8.1.1 ´õ ±íÀº ³×Æ®¿öÅ©·Î
__8.1.2 Á¤È®µµ¸¦ ´õ ³ôÀÌ·Á¸é
__8.1.3 ±í°Ô ÇÏ´Â ÀÌÀ¯
8.2 µö·¯´×ÀÇ Ãʱ⠿ª»ç
__8.2.1 À̹ÌÁö³Ý
__8.2.2 VGG
__8.2.3 GoogLeNet
__8.2.4 ResNet
8.3 ´õ ºü¸£°Ô(µö·¯´× °í¼ÓÈ)
__8.3.1 Ç®¾î¾ß ÇÒ ¼÷Á¦
__8.3.2 GPU¸¦ È°¿ëÇÑ °í¼ÓÈ
__8.3.3 ºÐ»ê ÇнÀ
__8.3.4 ¿¬»ê Á¤¹Ðµµ¿Í ºñÆ® ÁÙÀ̱â
8.4 µö·¯´×ÀÇ È°¿ë
__8.4.1 »ç¹° °ËÃâ
__8.4.2 ºÐÇÒ
__8.4.3 »çÁø ĸ¼Ç »ý¼º
8.5 µö·¯´×ÀÇ ¹Ì·¡
__8.5.1 À̹ÌÁö ½ºÅ¸ÀÏ(Èdz) º¯È¯
__8.5.2 À̹ÌÁö »ý¼º
__8.5.3 ÀÚÀ² ÁÖÇà
__8.5.4 Deep Q-Network(°ÈÇнÀ)
8.6 Á¤¸®
ºÎ·Ï A Softmax-with-Loss °èÃþÀÇ °è»ê ±×·¡ÇÁ
A.1 ¼øÀüÆÄ
A.2 ¿ªÀüÆÄ
A.3 Á¤¸®
Âü°í¹®Çå |
|
|
|
ÀúÀÚ
|
|
»çÀÌÅä °íÅ°
1984³â ³ª°¡»çÅ° Çö ¾²½Ã¸¶ Å»ý. µµÄì°ø¾÷´ëÇб³ °øÇкθ¦ Á¹¾÷ÇÏ°í µµÄì´ëÇдëÇпø ÇÐÁ¦Á¤º¸ÇкΠ¼®»ç °úÁ¤À» ¼ö·áÇß´Ù. ÇöÀç´Â ±â¾÷¿¡¼ ÄÄÇ»ÅÍ ºñÀü°ú ±â°èÇнÀ °ü·Ã ¿¬±¸¡¤°³¹ß¿¡ ¸ÅÁøÇÏ°í ÀÖ´Ù. ¿À¶óÀϸ®ÀçÆÒ¿¡¼ [½Çõ ÆÄÀ̽ã 3], [ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ À̷аú ±¸Çö], [½Çõ ±â°èÇнÀ ½Ã½ºÅÛ] µîÀ» ¹ø¿ªÇß´Ù.
|
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 2 | »çÀÌÅä °íÅ° | ÇѺû¹Ìµð¾î
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 3 | »çÀÌÅä °íÅ° | ÇѺû¹Ìµð¾î
|
|
»çÀÌÅä °íÅ°
ÀúÀÚ »çÀÌÅä °íÅ°´Â 1984³â ³ª°¡»çÅ° Çö ¾²½Ã¸¶ Å»ýÀ¸·Î µµÄì°ø¾÷´ëÇб³ °øÇкθ¦ Á¹¾÷ÇÏ°í µµÄì´ëÇдëÇпø ÇÐÁ¦Á¤º¸ÇкΠ¼®»ç °úÁ¤À» ¼ö·áÇß´Ù. ÇöÀç´Â ±â¾÷¿¡¼ ÄÄÇ»ÅÍ ºñÀü°ú ±â°èÇнÀ °ü·Ã ¿¬±¸°³¹ß¿¡ ¸ÅÁøÇÏ°í ÀÖ´Ù. ¿À¶óÀϸ®ÀçÆÒ¿¡¼ ¡º½Çõ ÆÄÀ̽ã 3¡», ¡ºÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ À̷аú ±¸Çö¡», ¡º½Çõ ±â°èÇнÀ ½Ã½ºÅÛ¡» µîÀ» ¹ø¿ªÇß´Ù.
|
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 3 | »çÀÌÅä °íÅ° | ÇѺû¹Ìµð¾î
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 2 | »çÀÌÅä °íÅ° | ÇѺû¹Ìµð¾î
|
¿ªÀÚ
|
|
À̺¹¿¬(°³¾Õ¸Ê½Ã)
°í·Á´ëÇб³ ÄÄÇ»ÅÍÇаú¸¦ Á¹¾÷ÇÏ°í »ï¼º¼ÒÇÁÆ®¿þ¾î¸â¹ö½ÊÀ» °ÅÃÄ, »ï¼ºÀüÀÚ ¼ÒÇÁÆ®¿þ¾î¼¾ÅÍ¿Í ¹Ìµð¾î¼Ö·ç¼Ç¼¾ÅÍ¿¡¼ ÀÚ¹Ù °¡»ó ¸Ó½Å, ¹Ù´Ù Ç÷§Æû, ê¿Â ¸Þ½ÅÀú ¼ºñ½º µîÀ» °³¹ßÇß´Ù. ÁÖ ¾÷¹« ¿Ü¿¡ ºÐ»ê ºôµå, Áö¼ÓÀû ÅëÇÕ, ¾Û ¼ö¸íÁֱ⠰ü¸® µµ±¸, ¾ÖÀÚÀÏ µµÀÔ µî µ¿·á °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ µµ¿òÀ» ÁÖ´Â ÀÏ¿¡ Àû±ØÀûÀ̾ú´Ù. ±× ÈÄ Ã¢¾÷Àü¼±¿¡ ¶Ù¾îµé¾î ¼Ò¼È ¼ºñ½º, ±ÝÀ¶ °Å·¡ ÇÁ·¹ÀÓ¿öÅ© µîÀ» °³¹ßÇÏ´Ù°¡, ¹«½¼ ¹Ù¶÷ÀÌ ºÒ¾î¼ÀÎÁö Ã¥À» ¸¸µé°Ú´Ù¸ç ±âȹ¡¤ÆíÁýÀÚ(ÀÚĪ Wisdom Compiler)·Î º¯½ÅÇß´Ù. ÇѺû¹Ìµð¾î¿¡¼ ¡º¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´×¡»°ú ¡ºEffective Unit Testing¡»À», ÀλçÀÌÆ®¿¡¼ ¡ºJUnit ÀÎ ¾×¼Ç¡»À» ¹ø¿ªÇß´Ù.
|
JUNIT IN ACTION: ´ÜÀ§ Å×½ºÆ®ÀÇ ¸ðµç °Í | À̺¹¿¬(°³¾Õ¸Ê½Ã) | ÀλçÀÌÆ®
ÀÌÆåƼºê ÀÚ¹Ù | À̺¹¿¬(°³¾Õ¸Ê½Ã) | ÀλçÀÌÆ®
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 2 | À̺¹¿¬(°³¾Õ¸Ê½Ã) | ÇѺû¹Ìµð¾î
¸®ÆÑÅ͸µ | À̺¹¿¬(°³¾Õ¸Ê½Ã) | ÇѺû¹Ìµð¾î
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 3 | À̺¹¿¬(°³¾Õ¸Ê½Ã) | ÇѺû¹Ìµð¾î
|
|
°³¾Õ¸Ê½Ã
°í·Á´ëÇб³ ÄÄÇ»ÅÍÇаú¸¦ Á¹¾÷ÇÏ°í »ï¼º¼ÒÇÁÆ®¿þ¾î¸â¹ö½ÊÀ» °ÅÃÄ, »ï¼ºÀüÀÚ ¼ÒÇÁÆ®¿þ¾î¼¾ÅÍ¿Í ¹Ìµð¾î¼Ö·ç¼Ç¼¾ÅÍ¿¡¼ ÀÚ¹Ù °¡»ó ¸Ó½Å, ¹Ù´Ù Ç÷§Æû, ê¿Â ¸Þ½ÅÀú ¼ºñ½º µîÀ» °³¹ßÇß´Ù. ÁÖ ¾÷¹« ¿Ü¿¡ ºÐ»ê ºôµå, Áö¼ÓÀû ÅëÇÕ, ¾Û ¼ö¸íÁֱ⠰ü¸® µµ±¸, ¾ÖÀÚÀÏ µµÀÔ µî µ¿·á °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ µµ¿òÀ» ÁÖ´Â ÀÏ¿¡ Àû±ØÀûÀ̾ú´Ù. ±× ÈÄ Ã¢¾÷ Àü¼±¿¡ ¶Ù¾îµé¾î ¼Ò¼È ¼ºñ½º, ±ÝÀ¶ °Å·¡ ÇÁ·¹ÀÓ¿öÅ© µîÀ» °³¹ßÇÏ´Ù°¡, ¹«½¼ ¹Ù¶÷ÀÌ ºÒ¾î¼ÀÎÁö Ã¥À» ¸¸µé°Ú´Ù¸ç ±âȹ¤ýÆíÁýÀÚ(ÀÚĪ Wisdom Compiler)·Î º¯½ÅÇß´Ù. ¡ºEffective Unit Testing¡»(ÇѺû¹Ìµð¾î, 2013)°ú ¡ºJUnit ÀÎ ¾×¼Ç¡»(ÀλçÀÌÆ®, 2011)À» ¹ø¿ªÇß´Ù. <°³¹ßÀÚÀÇ ¾Õ±æ¿¡ ¸ÊÇÙ ½ÃÀü>, ÁÙ¿©¼ ¡®°³¾Õ¸Ê½Ã¡¯´Â ¿ªÀÚ°¡ ¾î·Á¼ºÎÅÍ »ý°¢ÇÑ ÈÄÇÐ ¾ç¼ºÀÇ ²ÞÀ» Á¶±Ý µ¶Æ¯ÇÑ ¹æ½ÄÀ¸·Î ÀÏÂï ½ÇÇà¿¡ ¿Å±ä °ÍÀÌ´Ù. ÇöÀç ¸ð½ÀÀº °ÔÀÓ, ¼¹ö, À¥ µî ÁÖ¿ä Á÷±ºº° °³¹ßÀÚ¿¡°Ô ²À ÇÊ¿äÇÑ ±â¼ú°ú ¿ª·®À» ¾È³»Çϴ åµéÀ» ·Îµå¸Ê ÇüÅ·ΠÁ¤¸®ÇÑ Áöµµ´Ù. ÇÊ¿äÇÒ ¶§ ¹Ù·Î ±¸Çغ¼ ¼ö ÀÖµµ·Ï ÆǸŠÁßÀÎ µµ¼¸¸À» ´Ù·é´Ù.
|
ÀÌÆåƼºê ÀÚ¹Ù | °³¾Õ¸Ê½Ã | ÀλçÀÌÆ®
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 2 | °³¾Õ¸Ê½Ã | ÇѺû¹Ìµð¾î
¸®ÆÑÅ͸µ | °³¾Õ¸Ê½Ã | ÇѺû¹Ìµð¾î
¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´× 3 | °³¾Õ¸Ê½Ã | ÇѺû¹Ìµð¾î
±¸±Û ¿£Áö´Ï¾î´Â ÀÌ·¸°Ô ÀÏÇÑ´Ù | °³¾Õ¸Ê½Ã | ÇѺû¹Ìµð¾î
|
|
|
|
|
|
|
Ãâ°í¾È³» |
|
|
Ãâ°í¶õ ÀÎÅÍÆÄÅ© ¹°·ùâ°í¿¡¼ µµ¼°¡ Æ÷ÀåµÇ¾î ³ª°¡´Â ½ÃÁ¡À» ¸»Çϸç, ½ÇÁ¦ °í°´´Ô²²¼ ¼ö·ÉÇϽô ½Ã°£Àº »óÇ°Áغñ¿Ï·áÇØ Ãâ°íÇÑ ³¯Â¥ + Åùè»ç ¹è¼ÛÀÏÀÔ´Ï´Ù. |
|
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°ÀÇ Àç°í°¡ ÃæÁ·ÇÒ ½Ã¿¡ ÀÏ°ý Ãâ°í¸¦ ÇÕ´Ï´Ù. |
|
ÀϺΠÀç°í¿¡ ´ëÇÑ Ãâ°í°¡ ÇÊ¿äÇÒ ½Ã¿¡´Â ´ã´çÀÚ¿¡°Ô Á÷Á¢ ¿¬¶ôÇϽðųª, °í°´¼¾ÅÍ(°í°´¼¾ÅÍ(1577-2555)·Î ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù. |
|
¹è¼Ûºñ ¾È³» |
|
|
ÀÎÅÍÆÄÅ© µµ¼ ´ë·®±¸¸Å´Â ¹è¼Û·á°¡ ¹«·áÀÔ´Ï´Ù. |
|
´Ü, 1°³ÀÇ »óÇ°À» ´Ù¼öÀÇ ¹è¼ÛÁö·Î ÀÏ°ý ¹ß¼Û½Ã¿¡´Â 1°³ÀÇ ¹è¼ÛÁö´ç 2,000¿øÀÇ ¹è¼Ûºñ°¡ ºÎ°úµË´Ï´Ù. |
¾Ë¾ÆµÎ¼¼¿ä! |
|
|
°í°´´Ô²²¼ ÁÖ¹®ÇϽŠµµ¼¶óµµ µµ¸Å»ó ¹× ÃâÆÇ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù.
(´Ü, Åä/ÀÏ¿äÀÏ Á¦¿Ü) |
|
|
|
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù.
±³È¯/¹ÝÇ°/º¸ÁõÁ¶°Ç ¹× Ç°Áúº¸Áõ ±âÁØÀº ¼ÒºñÀڱ⺻¹ý¿¡ µû¸¥ ¼ÒºñÀÚ ºÐÀï ÇØ°á ±âÁØ¿¡ µû¶ó ÇÇÇظ¦ º¸»ó ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
Á¤È®ÇÑ È¯ºÒ ¹æ¹ý ¹× ȯºÒÀÌ Áö¿¬µÉ °æ¿ì 1:1¹®ÀÇ °Ô½ÃÆÇ ¶Ç´Â °í°´¼¾ÅÍ(1577-2555)·Î ¿¬¶ô Áֽñ⠹ٶø´Ï´Ù.
¼ÒºñÀÚ ÇÇÇغ¸»óÀÇ ºÐÀïó¸® µî¿¡ °üÇÑ »çÇ×Àº ¼ÒºñÀÚºÐÀïÇØ°á±âÁØ(°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ µû¶ó ºñÇØ º¸»ó ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
|
|
»óÇ°À» °ø±Þ ¹ÞÀ¸½Å ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´ÉÇÕ´Ï´Ù. |
|
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ùÀ̳», ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏÀ̳» °¡´ÉÇÕ´Ï´Ù. |
|
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´ÉÇÕ´Ï´Ù.
|
|
|
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
|
|
|
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì´Â ºÒ°¡´ÉÇÕ´Ï´Ù. (´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü) |
|
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì´Â ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì´Â ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
|
|
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù. |
|
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
|
|
|
|
|