|
|
|
ÄÚƲ¸° µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö : ¿¹Á¦·Î ¹è¿ì´Â ÄÚƲ¸° µ¿½Ã¼º
|
|
|
¿¡ÀÌÄÜ ÇÁ·Î±×·¡¹Ö ¾ð¾î ½Ã¸®Áî1
¤Ó ¹Ì±¸¿¤ ¿£Á© Ä«½ºÆ¼ºí¶ûÄÚ Åä·¹½º, °ÀÎÈ£
¤Ó
¿¡ÀÌÄÜÃâÆÇ
¤Ó
Learning Concurrency in Kotlin: Build highly efficient and robust applications
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
ÄÚƲ¸°ÀÇ ÄÚ·çƾ ¼Ò°³·Î ½ÃÀÛÇØ µ¿½Ã¼º Äڵ带 ¾î¶»°Ô ÀÛ¼ºÇÏ´ÂÁö ¹è¿ì°í, ÄÚƲ¸°À¸·Î ¸ÖƼ ½º·¹µå ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÏ´Â µ¥ ÇÊ¿äÇÑ °³³äÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ºñµ¿±â ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÒ ¶§ ½º·¹µå¿Í ÄÚ·çƾÀÌ ¾î¶»°Ô ¼ÒÅëÇÏ°í µ¿±âÈÇÏ´ÂÁö ¾Ë°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ ¿¡·¯¿Í ¿¹¿Ü¸¦ Çڵ鸵ÇÏ´Â ¹æ¹ý°ú ¸ÖƼ ÄÚ¾î ÇÁ·Î¼¼½ÌÀ» È°¿ëÇÏ´Â ¹æ¹ýµµ ¹è¿ï ¼ö ÀÖ´Ù. Ãß°¡·Î ÄÚ·çƾÀÌ ¾î¶»°Ô ³»ºÎÀûÀ¸·Î µ¿ÀÛÇÏ´ÂÁö ÆľÇÇÔÀ¸·Î½á ÄÚƲ¸°ÀÇ Å« ±×¸²À» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¡Ú ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¡Ú
¡á µ¿½Ã¼º¿¡ ´ëÇÑ ÄÚƲ¸°ÀÇ Á¢±Ù ¹æ½Ä
¡á ¼øÂ÷Àû ºñµ¿±â ÀϽÃÁ¤Áö ÇÔ¼ö
¡á ¿Â µð¸Çµå·Î ´Ù½Ã ½ÃÀ۵Ǵ ÀϽà Á¤Áö µ¥ÀÌÅÍ ¼Ò½ºÀÇ »ý¼º
¡á ¿¡·¯ Çڵ鸵ÀÇ º£½ºÆ® ÇÁ·¢Æ¼½º
¡á ÄÚ·çƾ °£ÀÇ ¼ÒÅëÀ» À§ÇÑ Ã¤³Î »ç¿ë
¡á ÄÚ·çƾÀÇ ³»ºÎ µ¿ÀÛ ¹æ½Ä
¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
µ¿½Ã¼º°ú °ü·ÃÇÑ ÀϹÝÀûÀÎ Áö½ÄÀ» ¹è¿ì°í ½Í°Å³ª ƯÁ¤ ºÐ¾ß¿¡ ÄÚƲ¸°À» Àû¿ëÇÏ·Á´Â °³¹ßÀÚ¸¦ À§ÇÑ Ã¥ÀÌ´Ù. ±âº»ÀûÀÎ ÄÚƲ¸° Áö½Ä¸¸ ÀÖÀ¸¸é ÀÐÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
-
-
¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
1Àå, ¡®Hello, Concurrent World!¡¯¿¡¼´Â µ¿½Ã¼ºÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ³»¿ë À§ÁÖ·Î ±¸¼ºÇß´Ù. ÇÁ·Î¼¼½º, ½º·¹µå, ÄÚ·çƾ°ú °°Àº °³³äÀ¸·Î ½ÃÀÛÇؼ µ¿½Ã¼º°ú º´·Ä󸮸¦ ºñ±³ÇØ ¼Ò°³ÇÑ´Ù. µ¿½Ã¼ºÀ» ÄÚµùÇÒ ¶§ ºÎµúÄ¡´Â ÀϹÝÀûÀÎ ³°ü°ú µ¿½Ã¼º¿¡ ´ëÇÑ ÄÚƲ¸°ÀÇ Á¢±Ù ¹æ½Ä ±×¸®°í ÀÌ Ã¥¿¡¼ ÀüüÀûÀ¸·Î µîÀåÇÏ´Â ¿ë¾î¸¦ ¼Ò°³ÇÑ´Ù.
2Àå, ¡®ÄÚ·çƾ ÀÎ ¾×¼Ç¡¯¿¡¼´Â ÄÚ·çƾÀ» °³¹ßÇϴ ù ¹ø° ½Ç½ÀÀ¸·Î ¾Èµå·ÎÀ̵å ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÑ´Ù. À̸¦ ÅëÇØ ÄÚ·çƾÀ¸·Î ³×Æ®¿öÅ·ÇÏ´Â ¹æ½Ä, ºñµ¿±â ÀÛ¾÷À» À§ÇÑ À¯ÇüÀÇ ´Ù¾çÇÑ ¹æ½Ä, °¢ ¹æ½ÄÀÇ ÀåÁ¡, ÀúÀÚ°¡ ÃßõÇÏ´Â ¹æ½ÄÀ» ¼³¸íÇÑ´Ù.
3Àå, ¡®¶óÀÌÇÁ»çÀÌŬ°ú ¿¡·¯ Çڵ鸵¡¯¿¡¼´Â ÄÚ·çƾÀÇ ¶óÀÌÇÁ »çÀÌŬ°ú ÄÚ·çƾÀ» »ç¿ëÇÒ ¶§ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿À·ùÀÇ ÇØ°á ¹æ¹ýÀ» ¼Ò°³ÇÏ°í, 2Àå¿¡¼ »ý¼ºÇÑ RSS ¸®´õ¿¡ ¿¡·¯ Çڵ鸵À» Ãß°¡ÇØ ½ÇÁ¦ ¿À·ù¸¦ ¾î¶»°Ô ó¸®ÇÏ´ÂÁö ¼³¸íÇÑ´Ù.
4Àå, ¡®ÀϽÃÁß´Ü ÇÔ¼ö¿Í ÄÚ·çƾ ÄÁÅؽºÆ®¡¯¿¡¼´Â ÄÚ·çƾÀÇ Çʼö ÄÁÅؽºÆ®¿Í ÄÚ·çƾÀÌ µ¿ÀÛÀ» Á¤ÀÇÇÏ°í ¼öÁ¤ÇÏ´Â ¼³Á¤À» ¼Ò°³ÇÑ´Ù. ÄÚ·çƾÀÇ ½º·¹µåÀÇ Á¤ÀÇ¿Í ¿¡·¯ Çڵ鸵¿¡ ÇÊ¿äÇÑ ÄÁÅؽºÆ®¸¦ ´Ù·é´Ù.
5Àå, ¡®ÀÌÅÍ·¹ÀÌÅÍ, ½ÃÄö½º ±×¸®°í ÇÁ·Îµà¼¡¯¿¡¼´Â µ¥ÀÌÅÍ ¼Ò½Ì°ú 󸮸¦ ÀϽà Áß´ÜÇÏ´Â µ¥ ÇÊ¿äÇÑ ÇÁ¸®¹ÌƼºê¸¦ ¼Ò°³ÇÑ´Ù. ¾ðÁ¦, ¾î¶»°Ô, ÀÌ·¯ÇÑ ÇÁ¸®¹ÌƼºê¸¦ »ç¿ëÇØ¾ß ÇÏ´ÂÁö¿Í ¿Âµð¸Çµå µ¥ÀÌÅÍ ·ÎµùÀ» ±¸ÇöÇÏ´Â ¹æ½ÄÀ» »ó¼¼È÷ »ìÆ캻´Ù.
6Àå, ¡®Ã¤³Î, Åë½ÅÀ» ÅëÇÑ ¸Þ¸ð¸® °øÀ¯¡¯¿¡¼´Â ¸Å¿ì Áß¿äÇÑ Ã¤³ÎÀÇ °³³äÀ» ¼³¸íÇÑ´Ù. ´Ù¾çÇÑ À¯ÇüÀÇ À¯ÁîÄÉÀ̽º¿Í Â÷ÀÌÁ¡À¸·Î ½ÃÀÛÇØ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ¹æ½ÄÀ» ¼³¸íÇϸç, RSS ÇÇµå ±×·ì¿¡¼ ä³ÎÀ» ÀÌ¿ëÇØ ¾î¶»°Ô µ¿½Ã °Ë»öÇÒ ¼ö ÀÖ´ÂÁö »ìÆ캻´Ù.
7Àå, ¡®½º·¹µå ÇÑÁ¤, ¾×ÅÍ ±×¸®°í ¹ÂÅؽº¡¯¿¡¼´Â ¿øÀÚ¼º À§¹ÝÀ̳ª ·¹À̽º ÄÁµð¼Ç°ú °°Àº ¿¡·¯¸¦ ¹æÁöÇϱâ À§ÇØ »ç¿ëµÇ´Â ¼¼ °³ÀÇ ÄÚ·çƾ ÇÁ·¹ÀÓ¿öÅ© µµ±¸¸¦ ¼Ò°³ÇÑ´Ù. ¶ÇÇÑ µ¿½Ã¼º Äڵ带 ÀÛ¼ºÇÒ ¶§ ±âÃÊ°¡ µÇ´Â ½º·¹µå ÇÑÁ¤°ú ¾×ÅÍ ±×¸®°í ¹ÂÅؽº¿¡ ´ëÇØ ¹è¿ï ¼ö ÀÖ´Ù.
8Àå, ¡®µ¿½Ã¼º ÄÚµå Å×½ºÆ®¿Í µð¹ö±ë¡¯¿¡¼´Â Å×½ºÆ®¸¦ ¾î¶»°Ô ÃÖ´ëÇÑ È°¿ëÇÒ ¼ö ÀÖ´ÂÁö ´Ù·é´Ù. ±â´É Å×½ºÆ®¿Í µ¿½Ã¼º Äڵ带 Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â ¼¼ °³ÀÇ ±¸°£ ±×¸®°í ÇÁ·ÎÁ§Æ® ¼³Á¤À» ÅëÇØ ·Î±×¸¦ È°¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. ´Ù¸¥ ½º·¹µå ¶Ç´Â ÄÚ·çƾ¿¡¼ ¹ß»ýÇÏ´Â ³ëÀÌÁ ÇÇÇϱâ À§ÇØ µ¿½Ã¼º Äڵ带 µð¹ö±×ÇÏ´Â ¹æ¹ýµµ »ìÆ캻´Ù.
9Àå, ¡®ÄÚƲ¸°ÀÇ µ¿½Ã¼º¡¯¿¡¼´Â ³»ºÎ ½ÇÇà ´Ü°è¿¡¼ÀÇ ÀϽà Áß´Ü ÇÔ¼ö¿Í ½º·¹µå ½ÃÇà ±×¸®°í ¿¹¿Ü Çڵ鸵À» ºÐ¼®ÇÑ´Ù. ÄÄÆÄÀÏ·¯ÀÇ ¿ªÇÒ°ú stdlib ¹× ÄÚ·çƾ ¶óÀ̺귯¸®¿¡ Á¸ÀçÇÏ´Â ¿©·¯ °³ÀÇ Å¬·¡½º¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í ÀÖ¾î ³»ºÎ µ¿ÀÛ ¹æ½ÄÀ» »ó¼¼È÷ ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú
ÃֽŠ¾ÖÇø®ÄÉÀ̼ÇÀº °í¼º´ÉÀÇ ¸ÖƼ ÄÚ¾î CPU ȯ°æÀ» ÃÖ´ëÇÑ È°¿ëÇϵµ·Ï °³¹ßµÇ°í ÀÖ´Ù. ÀÌ·± ȯ°æ¿¡¼´Â µ¿½Ã¼ºÀ» Á¦´ë·Î ÀÌÇØÇÏ°í °í·ÁÇØ¾ß ÇÒ ÇÊ¿ä°¡ ´õ¿í Àý½ÇÇÏ´Ù. ÄÚƲ¸°Àº 2017³â ±¸±ÛÀÌ ¾Èµå·ÎÀ̵åÀÇ °³¹ß ¾ð¾î·Î °ø½Ä ÁöÁ¤µÈ ÈÄ, ¾Èµå·ÎÀÌµå »ýÅ°迡¼ ¸ÞÀÎ °³¹ß ¾ð¾î·Î ÀÚ¸®¸Å±èÇÏ°í ÀÖ´Ù. ¶ÇÇÑ ÄÚƲ¸°Àº µ¿½Ã¼ºÀ» µÞ¹ÞħÇϱâ À§ÇØ ´Ù¾çÇÑ ¾ð¾îÀû Áö¿ø ±â´ÉÀ» Á¦°øÇÏ°í ÀÖ´Ù.
±âÁ¸ Java/Android µ¿½Ã¼º ÇÁ·¹ÀÓ¿öÅ©°¡ Á¦°øÇÏ´Â ´ÜÁ¡µéÀ» ÄÚ·çƾÀ» ÅëÇØ ÈξÀ ½±°í È¿°úÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖÀ¸¸ç ÄÚƲ¸°ÀÌ ¾ð¾îÀûÀ¸·Î Á¦°øÇÏ´Â ´Ù¾çÇÑ ±âº»ÇüµéÀ» È°¿ëÇØ ³Í ºí·ÎÅ·, ºñµ¿±â Äڵ带 ¸¶Ä¡ µ¿±â ÄÚµåó·³ ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº ÄÚƲ¸°ÀÇ µ¿½Ã¼ºÀ» ÇнÀÇϱâ À§ÇØ ÇÊ¿äÇÑ ÄÚ·çƾ °³³ä°ú µ¿½Ã¼º, º´·Ä¼ºÀÇ Â÷ÀÌÁ¡À» ±×¸²À¸·Î ½±°Ô ¼³¸íÇØ ÄÚƲ¸°¿¡¼ ¸ÖƼ½º·¹µå ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé±â À§ÇØ ²À ¾Ë...¾Æ¾ß ÇÏ´Â ±âº» °³³äÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ÄÚƲ¸°ÀÇ ±âº»ÇüÀ» È°¿ëÇÏ´Â ½ÇÁ¦ ¿¹Á¦¸¦ ¸¸µé¸é¼ ½º·¹µå¿Í ÄÚ·çƾ °£ÀÇ Åë½Å ¹æ¹ý°ú ºñµ¿±â ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ¸é¼ ¿À·ù¿Í ¿¹¿Ü ó¸®ÇÏ´Â ¹æ¹ýÀ» ÀÍÈ÷°í ¸ÖƼ ÄÚ¾î 󸮸¦ È°¿ëÇÏ´Â ¹æ¹ýµµ ¹è¿ï ¼ö ÀÖ´Ù. ÄÚƲ¸°ÀÇ µ¿½Ã¼º ÇÁ·Î±×·¥ ±â¹ý°ú µ¿½Ã¼ºÀÇ ³»ºÎ µ¿ÀÛ ¹æ½Ä¿¡ ´ëÇÑ ÀÌÇصµ¸¦ ³ôÀÏ ¼ö ÀÖ´Â ±âȸ°¡ µÇ¸®¶ó ±â´ëÇÑ´Ù.
-
-
1Àå. Hello Concurrent World
__ÇÁ·Î¼¼½º, ½º·¹µå, ÄÚ·çƾ
____ÇÁ·Î¼¼½º
____½º·¹µå
____ÄÚ·çƾ
____³»¿ë Á¤¸®
____µ¿½Ã¼º¿¡ ´ëÇØ
____µ¿½Ã¼ºÀº º´·Ä¼ºÀÌ ¾Æ´Ï´Ù
____CPU ¹Ù¿îµå¿Í I/O ¹Ù¿îµå
____CPU ¹Ù¿îµå ¾Ë°í¸®Áò¿¡¼ÀÇ µ¿½Ã¼º°ú º´·Ä¼º
____I/O ¹Ù¿îµå ¾Ë°í¸®Áò¿¡¼ÀÇ µ¿½Ã¼º ´ë º´·Ä¼º
____µ¿½Ã¼ºÀÌ ¾î·Á¿î ÀÌÀ¯
__ÄÚƲ¸°¿¡¼ÀÇ µ¿½Ã¼º
____³Í ºí·ÎÅ·
____¸í½ÃÀûÀÎ ¼±¾ð
____ÄÚƲ¸° µ¿½Ã¼º °ü·Ã °³³ä°ú ¿ë¾î
__¿ä¾à
2Àå. ÄÚ·çƾ ÀÎ ¾×¼Ç
__¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ´Ù¿î·Îµå ¹× ¼³Ä¡
__ÄÚƲ¸° ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ
__ÄÚ·çƾ Áö¿ø Ãß°¡Çϱâ
__¾Èµå·ÎÀ̵åÀÇ UI ½º·¹µå
____CallFromWrongThreadException
____NetworkOnMainThreadException
____¹é±×¶ó¿îµå¿¡¼ ¿äûÇÏ°í, UI ½º·¹µå¿¡¼ ¾÷µ¥ÀÌÆ®
__½º·¹µå »ý¼º
____CoroutineDispatcher
____µð½ºÆÐó¿¡ ÄÚ·çƾ ºÙÀ̱â
__³×Æ®¿öÅ· »ç¿ë ±ÇÇÑ Ãß°¡
__¼ºñ½º È£ÃâÀ» À§ÇÑ ÄÚ·çƾ »ý¼º
__UI ¿ä¼Ò Ãß°¡
____UI°¡ ºí·ÎÅ·µÇ¸é ¹ß»ýÇÏ´Â ÀÏ
__ó¸®µÈ ´º½ºÀÇ ¼ö·® Ç¥½Ã
__UI µð½ºÆÐó »ç¿ë
____Ç÷§Æûº° UI ¶óÀ̺귯¸®
__¿äû º¸·ù ¿©ºÎ¸¦ À§ÇÑ ºñµ¿±â ÇÔ¼ö »ý¼º
____ºñµ¿±â È£ÃâÀÚ...·Î °¨½ÎÀÎ µ¿±â ÇÔ¼ö
____¹Ì¸® Á¤ÀÇµÈ µð½ºÆÐó¸¦ °®´Â ºñµ¿±â ÇÔ¼ö
____À¯¿¬ÇÑ µð½ºÆÐó¸¦ °¡Áö´Â ºñµ¿±â ÇÔ¼ö
____´õ ÁÁÀº ¹æ½ÄÀ» ¼±ÅÃÇϱâ À§ÇÑ ¹æ¹ý
__¿ä¾à
3Àå. ¶óÀÌÇÁ »çÀÌŬ°ú ¿¡·¯ Çڵ鸵
__Àâ°ú µðÆÛµå
____Àâ
____µðÆÛµå
__»óÅ´ ÇÑ ¹æÇâÀ¸·Î¸¸ À̵¿
____ÃÖÁ¾ »óÅÂÀÇ ÁÖÀÇ »çÇ×
__RSS - ¿©·¯ Çǵ忡¼ µ¿½Ã¿¡ Àбâ
____ÇÇµå ¸ñ·Ï Áö¿ø
____½º·¹µå Ç® ¸¸µé±â
____µ¥ÀÌÅ͸¦ µ¿½Ã¿¡ °¡Á®¿À±â
____ÀÀ´ä º´ÇÕ
____µ¿½Ã ¿äû Å×½ºÆ®
____³Í ÇØÇÇ Æнº(Non-happy path) - ¿¹±âÄ¡ ¾ÊÀº Áß´Ü
____µðÆ۵尡 ¿¹¿Ü¸¦ °®µµ·Ï Çϱâ
____¿¹¿Ü¸¦ ¹«½ÃÇÏÁö ¸» °Í!
__¿ä¾à
4Àå. ÀϽà Áß´Ü ÇÔ¼ö¿Í ÄÚ·çƾ ÄÁÅؽºÆ®
__RSS ¸®´õ UI °³¼±
____°¢ Çǵ忡 À̸§ ºÎ¿©
____ÇǵåÀÇ ±â»ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸ °¡Á®¿À±â
____½ºÅ©·ÑÀÌ °¡´ÉÇÑ ±â»ç ¸ñ·Ï Ãß°¡
____±â»ç º° ·¹À̾ƿô
____Á¤º¸ ¸ÅÇÎÀ» À§ÇÑ ¾î´ðÅÍ
____¾×ƼºñƼ¿¡ ¾î´ðÅÍ ¿¬°á
____»õ UI Å×½ºÆ®
__ÀϽà Áß´Ü ÇÔ¼ö
____µ¿ÀÛ ÁßÀÎ ÇÔ¼ö¸¦ ÀϽà Áß´Ü
__ÄÚ·çƾ ÄÁÅؽºÆ®
____µð½ºÆÐó
____¿¹¿Ü ó¸®
____Non-cancellable
__ÄÁÅؽºÆ®¿¡ ´ëÇÑ Ãß°¡ Á¤º¸
____ÄÁÅؽºÆ® °áÇÕ
____withContext¸¦ »ç¿ëÇÏ´Â Àӽà ÄÁÅؽºÆ® ½ºÀ§Ä¡
__¿ä¾à
5Àå. ÀÌÅÍ·¹ÀÌÅÍ, ½ÃÄö½º ±×¸®°í ÇÁ·Îµà¼
__ÀϽà Áß´Ü °¡´ÉÇÑ ½ÃÄö½º ¹× ÀÌÅÍ·¹ÀÌÅÍ
__°ª »êÃâ
__ÀÌÅÍ·¹ÀÌÅÍ
____ÀÌÅÍ·¹ÀÌÅÍ¿ÍÀÇ »óÈ£ ÀÛ¿ë
__½ÃÄö½º
____½ÃÄö½º¿Í »óÈ£ ÀÛ¿ë
____½ÃÄö½º´Â »óÅ°¡ ¾ø´Ù
____ÀϽà Áß´Ü ÇǺ¸³ªÄ¡
____ÇǺ¸³ªÄ¡ ¼ö¿ ÀÛ¼º
____ÇǺ¸³ªÄ¡ ÀÌÅÍ·¹ÀÌÅÍ ÀÛ¼º
__ÇÁ·Îµà¼
____ÇÁ·Îµà¼ ¸¸µé±â
____ÇÁ·Îµà¼¿Í »óÈ£ ÀÛ¿ë
____ÇÁ·Îµà¼¸¦ »ç¿ëÇÑ ÀϽà Áß´Ü ÇǺ¸³ªÄ¡ ¼ö¿
__ÇÁ·Îµà¼ ÀÎ ¾×¼Ç
____¾î´ðÅÍ¿¡¼ ´õ ¸¹Àº ±â»ç ¿äû
____¿Â µð¸àµå Çǵ带 °¡Á® ¿À´Â ÇÁ·Îµà¼ ¸¸µé±â
____UIÀÇ ¸ñ·Ï¿¡ ±â»ç Ãß°¡Çϱâ
__¿ä¾à
6Àå. ä³Î - Åë½ÅÀ» ÅëÇÑ ¸Þ¸ð¸® °øÀ¯
__ä³Î ÀÌÇØ
____½ºÆ®¸®¹Ö µ¥ÀÌÅÍ »ç·Ê
____ºÐ»ê ÀÛ¾÷ »ç·Ê
__ä³Î À¯Çü°ú ¹è¾Ð
____¾ð¹öÆÛµå ä³Î
____¹öÆÛµå ä³Î
__ä³Î°ú »óÈ£ ÀÛ¿ë
____SendChannel
____ReceiveChannel
____Àбâ Àü À¯È¿¼º °Ë»ç
____ä³Î ÀÎ ¾×¼Ç
____Çù¾÷ °Ë»ö ±¸ÇöÇϱâ
__¿ä¾à
7Àå. ½º·¹µå ÇÑÁ¤, ¾×ÅÍ ±×¸®°í ¹ÂÅؽº
__¿øÀÚ¼º À§¹Ý
____¿øÀÚ¼ºÀÇ ÀǹÌ
__½º·¹µå ÇÑÁ¤
____½º·¹µå ÇÑÁ¤ÀÇ °³¿ä
____ÄÚ·çƾÀ» ´ÜÀÏ ½º·¹µå·Î ÇÑÁ¤
__¾×ÅÍ
____¾×ÅͶõ?
____¾×ÅÍ »ý¼º
____¾×Å͸¦ »ç¿ëÇØ ±â´É È®Àå
____¾×ÅÍ »óÈ£ ÀÛ¿ë¿¡ ´ëÇÑ Ãß°¡ Á¤º¸
__»óÈ£ ¹èÁ¦
____»óÈ£ ¹èÁ¦ ÀÌÇØ
____»óÈ£ ¹èÁ¦¿Í »óÈ£ ÀÛ¿ë
__Èֹ߼º º¯¼ö
____½º·¹µå ij½Ã
____@Volatile
____@VolatileÀÌ ½º·¹µå ¾ÈÀü Ä«¿îÅÍ ¹®Á¦¸¦ ÇØ°áÇÏÁö ¸øÇÏ´Â ÀÌÀ¯
____@VolatileÀ» »ç¿ëÇÏ´Â °æ¿ì
__¿øÀÚÀû µ¥ÀÌÅÍ ±¸Á¶
__¾×ÅÍ ÀÎ ¾×¼Ç
____UI¿¡ ¶óº§ Ãß°¡
____Ä«¿îÅÍ·Î »ç¿ëÇÒ ¾×ÅÍ ¸¸µé±â
____°á°ú°¡ ·ÎµåµÉ ¶§ Ä«¿îÅÍ Áõ°¡½ÃÅ°±â
____UI°¡ ¾÷µ¥ÀÌÆ®¿¡ ¹ÝÀÀÇϵµ·Ï ä³Î Ãß°¡Çϱâ
____ä³ÎÀ» ÅëÇØ ¾÷µ¥ÀÌÆ®µÈ °ª º¸³»±â
____º¯°æ»çÇ׿¡ ´ëÇÑ UI ¾÷µ¥ÀÌÆ®
____±¸Çö Å×½ºÆ®
____»õ·Î¿î °Ë»ö ½Ã Ä«¿îÅÍ Àç¼³Á¤Çϱâ
__¿ä¾à
8Àå. µ¿½Ã¼º ÄÚµå Å×½ºÆ®¿Í µð¹ö±ë
__µ¿½Ã¼º ÄÚµå Å×½ºÆ®
____°¡Á¤À» ¹ö·Á¶ó
____³ª¹«°¡ ¾Æ´Ñ, ½£¿¡ ÁýÁßÇ϶ó
____Å×½ºÆ®¿¡ ´ëÇÑ Ãß°¡ Á¶¾ð
__Å×½ºÆ® ÀÛ¼º
____°áÇÔÀÌ ÀÖ´Â UserManager ÀÛ¼ºÇϱâ
____kotlin-test ¶óÀ̺귯¸® Ãß°¡
____ÇØÇÇ Æнº Å×½ºÆ® Ãß°¡
____¿¡Áö ÄÉÀ̽º¸¦ À§ÇÑ Å×½ºÆ®
____¹®Á¦Á¡ ½Äº°
____Áß´Ü ÇØ°á
____Å×½ºÆ® Àç½Ãµµ
__µð¹ö±ë
____·Î±×¿¡¼ ÄÚ·çƾ ½Äº°
____µð¹ö°Å¿¡¼ ÄÚ·çƾ ½Äº°
____Á¶°ÇºÎ ºê·¹ÀÌÅ© Æ÷ÀÎÆ®
__º¹¿ø·Â°ú ¾ÈÁ¤¼º
__¿ä¾à
9Àå. ÄÚƲ¸°ÀÇ µ¿½Ã¼º ³»ºÎ
__¿¬¼Óü Àü´Þ ½ºÅ¸ÀÏ
____¿¬¼Óü
____suspend ÇÑÁ¤ÀÚ
____»óÅ ¸Ó½Å
__ÄÁÅؽºÆ® Àüȯ
____½º·¹µå Àüȯ
____¿¹¿Ü ó¸®
__¿ä¾à
-
-
|
¹Ì±¸¿¤ ¿£Á© Ä«½ºÆ¼ºí¶ûÄÚ Åä·¹½º [Àú]
|
|
-
-
|
°ÀÎÈ£ [Àú]
|
|
-
ÀúÀÚ °ÀÎÈ£´Â °³¹ßÀÚ·Î IT °æ·ÂÀ» ½ÃÀÛÇØ EnSOA¿Í Ƽ¸Æ½º¼ÒÇÁÆ®¸¦ °ÅÄ¡¸é¼ CBD & SOA ¹æ¹ý·Ð ÄÁ¼³ÆÃÀ» Çß´Ù. ¿À¶óŬ¿¡¼´Â Ŭ¶ó¿ìµå ³×ÀÌƼºê, ÄÁÅ×ÀÌ³Ê ³×ÀÌƼºê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß°ú ¿î¿µÀ» µµ¿ì¸ç °³¹ßÀÚ »ýÅ°踦 Áö¿øÇÏ°í ¼ÒÅëÇÏ´Â ¿ªÇÒÀ» ÇÏ°í ÀÖ´Ù. ÃÖ±Ù ¸Ó½Å·¯´×¿¡µµ ¸¹Àº °ü½ÉÀ» °®°í ÀÖ´Ù.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|