¹Ýµð¾Ø·ç´Ï½º ÀÎÅͳݼ­Á¡

³×ºñ°ÔÀÌ¼Ç ½Ç½Ã°£ Àαâ Ã¥

    ÄÚƲ¸° ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö - ¿¡ÀÌÄÜ ÇÁ·Î±×·¡¹Ö ¾ð¾î ½Ã¸®Áî

    ÄÚƲ¸° ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö - ¿¡ÀÌÄÜ ÇÁ·Î±×·¡¹Ö ¾ð¾î ½Ã¸®Áî

    • ¸¶¸£ÄÚ ¹ö¹Ä·± ¿Ü°øÀú Àú
    • ¿¡ÀÌÄÜ
    • 2023³â 07¿ù 31ÀÏ
    • Á¤°¡
      45,000¿ø
    • ÆǸŰ¡
      40,500¿ø [10% ÇÒÀÎ]
    • °áÁ¦ ÇýÅÃ
      ¹«ÀÌÀÚ
    • Àû¸³±Ý
      2,250¿ø Àû¸³ [5%P]

      NAVER Pay °áÁ¦ ½Ã ³×À̹öÆäÀÌ Æ÷ÀÎÆ® 5% Àû¸³ ?

    • ¹è¼Û±¸ºÐ
      ¾÷ü¹è¼Û(¹ÝµðºÏ)
    • ¹è¼Û·á
      ¹«·á¹è¼Û
    • Ãâ°í¿¹Á¤ÀÏ

      Ãâ°í¿¹Á¤ÀÏ ¾È³»

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

      close

      2024³â 05¿ù 20ÀÏ(¿ù)

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

    ¼ö·®
    ȸ¿ø¸®ºä
    - [0]
    ISBN: 9791161757681 692ÂÊ 1,315g »çÀÌÁî Á¤º¸ ÁغñÁß

    Áö±Ý ÀÌÃ¥Àº

    • ÆǸÅÁö¼ö : 0

    ¤ýÇ°ÀýµÈ »óÇ°ÀÔ´Ï´Ù.

    ÃâÆÇ»ç ¸®ºä

    ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë
    -½ÇÁ¦ »óȲ¿¡¼­ È°¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ±â¹ý
    -ÇÔ¼öÇü ¼³°è¸¦ ÇÒ ¶§ À¯¿ëÇÑ °øÅë ±¸Á¶¿Í ¼÷¾îµé
    -´Ü¼ø¼º, ¸ðµâ¼º, ¹ö±× °¨¼Ò!

    ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
    ÄÚƲ¸° ¾ð¾î ÀÚü¿Í ÄÚƲ¸° ¾ð¾îÀÇ ±â´ÉÀ» ÀÌ¹Ì ÃæºÐÈ÷ ÀÌÇØÇÑ »ç¶÷À» ´ë»óÀ¸·Î ÇÑ´Ù. ¶ÇÇÑ °´Ã¼ÁöÇâ ¼³°è¿¡ Àͼ÷ÇÏ°í Ŭ·¡½º, ÀÎÅÍÆäÀ̽º, ¸Þ¼­µå, º¯¼ö¸¦ Àß ¾Ë¾Æ¾ß ÇÏÁö¸¸, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼±¼ö Áö½ÄÀ̳ª °æÇèÀº ÇÊ¿äÇÏÁö ¾Ê´Ù.

    ÀÏÂ÷ÀûÀ¸·Î´Â Çй®ÀûÀΠåÀÌÁö¸¸ ÇÑÆíÀ¸·Î´Â ¸Å¿ì ½Ç¹«ÀûÀΠåÀ̱⵵ ÇÏ´Ù. Àü¹Ý¿¡ °ÉÃÄ ¿©·¯ ÄÚµå ¿¹Á¦¸¦ »ìÆ캸°í, ¹è¿ì´Â °úÁ¤À» °­È­ÇØÁÖ´Â ¿¬½À¹®Á¦¸¦ ´Ù¼ö Á¦°øÇÑ´Ù. ±×·¯¹Ç·Î ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ) IDEA³ª ÄÚƲ¸°À» ¿ÏÀüÈ÷ Áö¿øÇÏ´Â ºñ½ÁÇÑ ´Ù¸¥ IDE¸¦ Àß ÀÌÇØÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù. IDE ´ë½Å ÅؽºÆ® ÆíÁý±â³ª Å͹̳ÎÀ» »ç¿ëÇÏ´Â °Ô ´õ Àͼ÷ÇÏ´Ù¸é ±× ¶ÇÇÑ »ó°ü¾ø´Ù.

    ÀÌ Ã¥ÀÇ ±¸¼º
    4°³ ºÎ, ÃÑ 15°³ ÀåÀ¸·Î ÀÌ·ïÁ® ÀÖ´Ù. 1ºÎ¿¡¼­´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÏ°í ÀÌ Ã¥ Àü¹Ý¿¡ °ÉÃÄ »ç¿ëÇÒ ±âº»ÀûÀÎ ºôµù ºí·ÏÀ» Á¦°øÇÑ´Ù. 1ÀåÀº ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ Àǹ̸¦ ¼³¸íÇÏ°í ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀÌÁ¡¿¡ ´ëÇØ °¨À» Àâµµ·Ï ÇØÁØ´Ù. 2ÀåÀº Àç±Í·Î ÇÔ¼öÇü ·çÇÁ¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ̳ª ²¿¸® È£Ãâ Á¦°Å(tail-call elimination), °íÂ÷ ÇÔ¼ö(high-order function), ÇÔ¼öÇü ´ÙÇü¼º(polymorphism) °°Àº ±âº»±â¸¦ ¾Ë·ÁÁØ´Ù. 3ÀåÀº ¸®½ºÆ®(list)¿Í Æ®¸®(tree)¶ó´Â µÎ °¡Áö Ä÷º¼ÇÀ» ¼ø¼ö ÇÔ¼öÇüÀ¸·Î Á¤ÀÇÇÏ°í ´Ù·ç´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

    4ÀåÀº ¿¹¿Ü¸¦ ´øÁöÁö ¾Ê°í È¿°úÀûÀ¸·Î ¿À·ù¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ±íÀÌ »ìÆ캻´Ù. 5ÀåÀº È¿À²ÀûÀÎ Æò°¡¸¦ À§ÇÑ ºñ¾ö°Ý¼º(non-strictness(Áö¿¬¼ºlazinessÀ̶ó°íµµ ÇÑ´Ù))¿¡ ´ëÇØ ³íÀÇÇÏ°í, ½ºÆ®¸² µ¥ÀÌÅÍ Å¸ÀÔµµ ¼Ò°³ÇÑ´Ù. 6ÀåÀº ÀüÀÌ(transition)¶ó°íµµ ÇÏ´Â »óÅ º¯ÀÌ µ¿ÀÛ(state mutation action)À» ÇÔ¼öÇü ÇÁ·Î±×·¥¿¡¼­ ´Ù·ç´Â ¹æ¹ýÀ» ¾Ë·ÁÁָ鼭 1ºÎ¸¦ ¸¶¹«¸®ÇÑ´Ù.

    2ºÎ´Â ¸î °¡Áö ÄÞºñ³×ÀÌÅÍ(combinator) ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ´Â °úÁ¤À» ¾ÆÁÖ ´À½¼ÇÏ°Ô ¼³¸íÇÏ´Â ½ºÅ¸ÀÏ·Î µÅ ÀÖ´Ù´Â Á¡¿¡¼­ 1ºÎ¿Í ²Ï ´Ù¸£´Ù. 7ÀåÀº ºñµ¿±â º´·Ä ó¸®(asynchronous parallel processing)¸¦ À§ÇÑ ÇÔ¼öÇü ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ°í ±¸ÃàÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. 8ÀåÀº ³­¼öÈ­ÇÑ Å×½ºÆ®¸¦ À§ÇÑ ¼Ó¼º ±â¹Ý Å×½ºÆ®(property-based test) ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. 9ÀåÀº ÆĽÌ(parsing) ¿µ¿ªÀ¸·Î µé¾î°¡¼­ JSON Æļ­ ÄÞºñ³×ÀÌÅÍ ¶óÀ̺귯¸®ÀÇ ¿ì¾ÆÇÑ ¼³°è¸¦ µµÃâÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.

    3ºÎ¿¡¼­´Â ŸÀÔ ÁöÁ¤ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ¼ÓÇÑ ´õ °í±Þ ÁÖÁ¦ÀΠŸÀÔ Å¬·¡½º(type class)¸¦ »ìÆ캻´Ù. ½ÇÁ¦ »óȲ¿¡¼­ »ç¿ëÇÏ´Â ¸î °¡Áö ¼³°è ÆÐÅÏ Ãß»óÈ­¸¦ ´Ù·ç°í ¿©·¯ºÐÀÌ ÀÌ·± Ãß»óÈ­¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áغñ½ÃŲ´Ù. 10ÀåÀº ¿©·¯ °ªÀ» Á¶ÇÕÇÒ ¶§ ¾µ ¼ö ÀÖ´Â Ãß»óÈ­ÀÎ ¸ð³ëÀ̵å(monoid)¸¦ ´Ù·é´Ù. 11ÀåÀº ¾Ç¸í ³ôÀº ¸ð³ªµå(monad)¸¦ »ô»ôÀÌ ´Ù·ç°í ¿¹Á¦¸¦ »ç¿ëÇØ ¸íÈ®È÷ ¼³¸íÇÑ´Ù. 12ÀåÀº Àû¿ë °¡´É ÆãÅÍ(applicative functor)¿Í ¼øȸ °¡´É ÆãÅÍ(traversable functor)¸¦ ¼³¸íÇϸ鼭 Àû¿ë °¡´É(applicative)ÀÇ ¿ä°ÇÀÌ ¹«¾ùÀÎÁö ¼Ò°³ÇÏ°í ¸ð³ªµå¿Í Àû¿ë °¡´ÉÀÇ Â÷À̸¦ º¸¿©ÁØ´Ù.

    ¸¶Áö¸· 4ºÎ¿¡¼­´Â ¾Õ¼­ ¹è¿î ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ¼ø¼ö ÇÔ¼öÇü Äڵ忡¼­ ºÎ¼ö È¿°ú¸¦ ´Ù·é´Ù. 13ÀåÀº ÀÓº£µðµåµÈ ¸í·ÉÇü DSLÀ» »ç¿ëÇØ È¿°ú°¡ ÀÖ´Â ÄÚµåÀÇ Ç¥ÇöÀ» ´Ü¼øÈ­ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ±â À§ÇØ I/O ¸ð³ªµå(ÇÁ¸® ¸ð³ªµå)¸¦ ¼Ò°³ÇÑ´Ù. 14ÀåÀº ƯÁ¤ ºÎ¼ö È¿°ú¿Í º¯À̸¦ ¼ø¼ö ÇÔ¼ö ÇÁ·Î±×·¥ ¾È¿¡ Áö¿ªÈ­ÇÏ´Â(¹ÛÀ¸·Î ³ëÃâ½Ãų ¼ö ¾ø°Ô ¸·À¸¸é¼­ ³»Æ÷½ÃÅ°´Â) ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. 15ÀåÀº Áö±Ý²¯ ¹è¿î ¸ðµç ³»¿ëÀ» Áý´ë¼ºÇØ, I/O ½ºÆ®¸²À» Á¡ÁøÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¸ðµâÈ­ °¡´ÉÇϸç ÇÕ¼º °¡´ÉÇÑ ÇÁ·Î±×·¥À» À§ÇÑ ½ºÆ®¸² API¸¦ °³¹ßÇÑ´Ù.

    ÁöÀºÀÌÀÇ ¸»

    ÁÁÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â °ÍÀº °áÄÚ ½±Áö ¾ÊÀº ÀÏÀÌ´Ù. ¿ì¸®´Â ±â°è°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ½±°í È¿À²ÀûÀ¸·Î µ¹¾Æ°¡¾ß¸¸ ÇÏ´Â ¸í·ÉÀ» Á¦°øÇÏ°íÀÚ Äڵ带 ÀÛ¼ºÇÑ´Ù. ¿©±â¼­ ´õ Áß¿äÇÑ »ç½ÇÀº Äڵ忡´Â ´Ù¸¥ ±Ùº»ÀûÀÎ ¸ñÀûÀÌ ÀÖ´Ù´Â Á¡ÀÌ´Ù. Áï, ÄÚµå´Â ÇöÀç¿Í ¹Ì·¡¿¡ ¿ì¸® ÄÚµå¿Í »óÈ£ÀÛ¿ëÇÒ »ç¶÷µé°ú ¸íÈ®È÷ ÀÇ»ç¼ÒÅëÇϱâ À§ÇÑ ¼ö´ÜÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ ÄÚµå´Â ±â°è¿¡ ¸í·ÉÀ» ³»¸®´Â µµ±¸¶ó´Â ¿ªÇÒÀ» ÃÊ¿ùÇØ, ¿©·¯ »ç¶÷ÀÌ Çù·ÂÇØ ±â°è¿¡ ¸í·ÉÀ» ³»¸®±â À§ÇÑ µµ±¸°¡ µÇ°í ÀÖ´Ù.

    ³ª´Â »ó´ëÀûÀ¸·Î ¾î¸± ¶§ºÎÅÍ ÄÚµùÀ» ÇØ¿Ô´Ù. ZX ½ºÆåÆ®·³(ZX Spectrum)¿¡¼­ º£ÀÌÁ÷(BASIC) Äڵ带 ÀÛ¼ºÀ» ½ÃÀÛÀ¸·Î, ÀÌÈÄ Äڸ𵵾î 64(Commodore 64)¿¡¼­ ±â°è¾î Äڵ带 ÀÛ¼ºÇß´Ù. ¿À·§µ¿¾È ÀÌ·±Àú·± ÄÄÇ»ÅÍ¿Í ¾ð¾î¸¦ ÀüÀüÇÑ ³¡¿¡ °á±¹ ¿­Á¤ÀûÀÎ ÀÚ¹Ù °³¹ßÀÚ°¡ µÆ´Ù. ±× ½ÃÁ¡±îÁö ³»°¡ ¹è¿ö¿Ô´ø ÇÁ·Î±×·¡¹Ö Áö½ÄÀº ¸ðµÎ ÇÁ·Î½ÃÀú ±â¹ÝÀ̾úÀ¸¸ç, ÄÄÇ»ÅÍ¿¡°Ô ÇÒ ÀÏÀ» Áö½ÃÇÏ´Â ¸í·É¾î ´Ü°è¸¦ ³ª¿­ÇÑ °ÍÀ̾ú´Ù. 2000³â´ë ÃÊ ÀÚ¹Ù°¡ Á¦½ÃÇÑ °´Ã¼ÁöÇâ °³³äÀº ³ª¸¦ ¾ÆÁÖ ³î¶ó°Ô Çß´Ù. ÀÌÁ¦ ÄÄÇ»ÅÍ ¸Þ¸ð¸®»ó¿¡¼­ °´Ã¼¸¦ ÅëÇØ ½ÇÁ¦ ¼¼°èÀÇ °³³äÀ» ¸ðµ¨¸µÇÒ ¼ö ÀÖ°Ô µÆ±â ¶§¹®ÀÌ´Ù! ¶ÇÇÑ ÀÚ¹Ù¸¦ ÅëÇØ ÄÄÆÄÀÏ ½ÃÁ¡¿¡ ƯÁ¤ ±ÔÄ¢À» °­Á¦ÇÔÀ¸·Î½á ½ÇÇà ½ÃÁ¡ÀÇ ¹®Á¦¸¦ ÁÙ¿©ÁÖ´Â Á¤Àû ŸÀÔ ½Ã½ºÅÛÀÇ °¡Ä¡µµ ¹è¿ü´Ù.

    ½Ã°£ÀÌ Áö³ª¸é¼­ ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ »ý°¢ÇÏ´Â ´Ù¸¥ ¹æ½ÄÀ» ¹ß°ßÇß´Ù. ÀÌ·± ±ú´ÞÀ½Àº ´Ù¸¥ Á¤Àû ŸÀÔ ¾ð¾îÀÎ ½ºÄ®¶ó·Î ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇϸ鼭 ³» ¾È¿¡ ÀÚ¸® Àâ±â ½ÃÀÛÇß´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀº ¿ÏÀüÈ÷ »õ·Î¿î Æз¯´ÙÀÓÀ¸·Î, ³» ¸¶À½Àº Ŭ·¡½º¿Í °´Ã¼¿¡ ´ëÇØ »ý°¢ÇÏ´Â °Í¿¡¼­ ¹þ¾î³ª Ŭ·¡½º³ª °´Ã¼ ¾È¿¡ ÀÖ´Â ÇÔ¼ö¿Í ¸Þ¼­µå¸¦ °­Á¶ÇÏ´Â °ÍÀ¸·Î À̵¿Çß´Ù. ¿î ÁÁ°Ôµµ ½ºÄ®¶ó¸¦ ¹è¿ï ¶§´Â ³»°Ô ¸î °¡Áö ȯ»óÀûÀÎ ÀÚ·á°¡ ÀÖ¾ú´Ù. ù ¹ø°´Â ÄÚ¼¼¶ó(Coursera)¿¡ ÀÖ´Â ¸¶Æ¾ ¿À´õ½ºÅ°(Martin Odersky)ÀÇ ÈǸ¢ÇÑ ¡®Functional Programming Principles in Scala(½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¿ø¸®)¡¯¶ó´Â ºñµð¿À ÄÚ½º¿´´Ù. µÎ ¹ø°´Â 2014³â¿¡ Ãâ°£µÈ ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015))¿´´Ù. ¡®»¡°£ Ã¥¡¯À¸·Î Àß ¾Ë·ÁÁø ÀÌ Ã¥Àº ·ç³ª¸£ ºñ¾Æ¸£µå³ª¼Õ(Runar Bjarnason)°ú Æú Ä¡¿ì»ç³ë(Paul Chiusano)°¡ ¼ö³â°£ ÀڽŵéÀÇ °æÇè°ú ³ë·ÂÀ» ½ñ¾ÆºÎÀº °á°ú¹°À̾ú´Ù. ÀÌ µÎ °¡Áö´Â ³» »ý°¢À» Çü¼ºÇÏ´Â µ¥ Å©°Ô ±â¿©ÇßÀ¸¸ç, ¿À´Ã³¯ ³»°¡ ÇÁ·Î±×·¡¹ÖÀ» ÀνÄÇÏ´Â ¹æ½ÄÀ» ¹Ù²ã³ù´Ù.

    ÄÚƲ¸°À» ¹è¿ì±â ½ÃÀÛÇßÀ» ¶§´Â ÄÚƲ¸°ÀÌ ½ºÄ®¶ó¿Í ºñ½ÁÇÑ ¼º´ÉÀ» °¡Á³À½¿¡µµ, ½Ç¿ë¼ºÀ» Ưº°È÷ °­Á¶ÇÏ´Â µ¥ ºñÇØ Å¸ÀÔ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ̶ó´Â Çй®Àû Ãø¸éÀº ±×´ÙÁö °­Á¶ÇÏÁö ¾Ê´Â´Ù´Â »ç½ÇÀ» ±ú´Þ¾Ò´Ù. ¸î¸î Ä£±¸¿Í ÄÚ¼¼¶ó¿¡¼­ ¡®Kotlin for Java Developers(ÀÚ¹Ù °³¹ßÀÚ¸¦ À§ÇÑ ÄÚƲ¸°)¡¯ ÄÚ½º¸¦ ¸¶Ä£ ´ÙÀ½, ¿ì¸®´Â ±× ½ºÅ͵ð ±×·ìÀ» À¯ÁöÇϸ鼭 ÄÚƲ¸°¿¡¼­ ŸÀÔÀ» »ç¿ëÇÏ´Â FP¿¡ ´ëÇØ Å½±¸ÇÏ´Â Åä´ë·Î½á »¡°£ Ã¥ÀÇ ³»¿ëÀ» »ç¿ëÇÏÀÚ°í À̾߱âÇß´Ù. ½½ÇÁ°Ôµµ ÀÌ ¸ðÀÓÀ» ½ÇÁ¦·Î ÁøÇàÇÏÁö´Â ¸øÇßÁö¸¸, ³» ³ª¸§´ë·Î ¿¬±¸¸¦ ´õ ÁøÇàÇؼ­ »õ·Î¿î ÄÚƲ¸° FP Ã¥ÀÇ °³³äÀ» ¸Å´×ÃâÆǻ翡 Á¦¾ÈÇß´Ù. Ãʱ⠾ÆÀ̵ð¾î´Â Æú°ú ·ç³ª¸£ÀÇ Ã¥°ú ¶È°°Àº ³»¿ëÀ» ´Ù·çµÇ ¸ðµç Äڵ带 ½ºÄ®¶ó°¡ ¾Æ´Ñ ÄÚƲ¸°À¸·Î º¯È¯ÇÏ´Â °ÍÀ̾ú´Ù. ÀÌ Á¦¾ÈÀ» ¹Þ¾Æµé¿©Á³À» ¶§ ³ª´Â ¸Å¿ì ±â»¼´Ù. ÇÏÁö¸¸ ÀÏ´Ü ÁýÇÊÀ» ½ÃÀÛÇÏÀÚ Ã¥Àº ±× ÀÚü·Î »ý¸í·ÂÀÌ ÀÖ´Â Á¸Àç°¡ µÆ°í, ±âÁ¸ÀÇ Á¦¾È¿¡¼­ ¸¹Àº °ÍÀÌ(ÄÚµå»Ó ¾Æ´Ï¶ó º»¹®±îÁöµµ) ´Þ¶óÁ³´Ù. ±×·³¿¡µµ ÀÌ Ã¥Àº ¿øº»ÀÎ »¡°£ Ã¥ÀÇ ±¸Á¶¸¦ ¸Å¿ì Ãæ½ÇÈ÷ µû¸£°í ÀÖ´Ù.

    ÄÚƲ¸° °³¹ßÀÚ¸¦ À§ÇØ ÀÌ Ã¥À» ¾²¸é¼­ ³ª Àڽŵµ ¾öû³ª°Ô ¼ºÀåÇÒ ¼ö ÀÖ¾ú´Ù. ±× °úÁ¤Àº ÈǸ¢ÇÑ ¹è¿òÀÇ °æÇèÀ̱⵵ ÇßÀ¸¸ç, ÀÌÀüº¸´Ù ÀÌ Ã¥ÀÇ °³³äÀ» ´õ ½É¿ÀÇÏ°í dzºÎÇÏ°Ô ÀÌÇØÇÒ ¼ö ÀÖ°Ô µÆ´Ù. ÀÌ Ã¥À» ÅëÇÑ ¿©ÇàÀ» ½ÃÀÛÇÏ´Â ¿©·¯ºÐµµ ³»°¡ °¢°¢ÀÇ ÆäÀÌÁö¸¦ ÀûÀ» ¶§¸¶´Ù ´À³¢°í ¹è¿ü´ø ³»¿ëÀ» ÃÖ´ëÇÑ ¸¹ÀÌ ¾ò¾î°¡±æ ¹Ù¶õ´Ù. ¼Ò°³ÇÏ´Â °³³äÀ» ÀÌÇØÇϸé, ¿©·¯ºÐÀÌ Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ½Ä°ú ±× ¾ÆÀ̵ð¾î¸¦ ¿©·¯ºÐÀÇ ¹ßÀÚ±¹À» µû¶ó¿À´Â ´Ù¸¥ »ç¶÷µé¿¡°Ô Á¦½ÃÇÏ´Â ¹æ¹ýÀ» ¿µ¿øÈ÷ ¹Ù²ãÁÙ °ÍÀÌ´Ù. ÀÌ Ã¥ÀÌ ³»°Ô È¿°ú°¡ ÀÖ¾úµíÀÌ ¿©·¯ºÐ¿¡°Ôµµ È¿°ú°¡ ÀÖ±æ ¹Ù¶õ´Ù. ¹«¾ùº¸´Ù ³»°¡ ±×·¨´ø °Íó·³ ¿©·¯ºÐµµ ÀÌ Ã¥ÀÇ ¸ðµç ÆäÀÌÁö¿¡¼­ Àç¹Ì¸¦ ´À³¢°í Áñ±â°Ô µÇ±æ ±â´ëÇÑ´Ù.

    ¿Å±äÀÌÀÇ ¸»

    ºòµ¥ÀÌÅÍ ºÕÀÌ ÀÏ ¶§ ½ºÄ®¶ó(Scala)¿Í ½ºÆÄÅ©(Spark)°¡ Àû±ØÀûÀ¸·Î Ä¿¹Â´ÏƼ¿¡ ¹Þ¾Æµé¿©Áö¸é¼­ºÎÅÍ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼¼°£ÀÇ °ü½ÉÀÌ ±× Àü¿¡ ºñÇØ ±ØÀûÀ¸·Î ´Ã¾î³µ´Ù. ÀÌÁ¦´Â ÀÏ¹Ý °³¹ßÀÚ »çÀÌ¿¡µµ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÌ ¾î´À Á¤µµ ÇʼöÀûÀÎ ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀ¸·Î ¹Þ¾Æµé¿©Áö´Â ºÐÀ§±â´Ù. 2010³â´ë ÀÌÀü°ú ºñ±³Çϸé, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Ã¥µµ ¸¹ÀÌ ´Ã¾î³µ°í µ¿¿µ»ó °­Àdzª °ü·Ã ÀÚ·áµµ ÀÎÅͳݿ¡¼­ ¸¹ÀÌ Ã£¾Æº¼ ¼ö ÀÖ°Ô µÆ´Ù.

    ±×·³¿¡µµ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Á¤ÅëÀûÀ¸·Î ¾Ë·ÁÁִ åÀº ±×¸® ¸¹Áö ¾Ê´Ù. ¹«¾ùº¸´Ù ÀÏ¹Ý ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ ŸÀÔÀ» È°¿ëÇÏ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °í°è ŸÀÔÀ» Ç¥ÇöÇÏ·Á¸é ¾î·Á¿î Á¡ÀÌ ¸¹À¸¹Ç·Î, ÇÔ¼öÇü Æз¯´ÙÀÓ°ú º¹ÀâÇÑ Å¸ÀÔ ½Ã½ºÅÛÀ» Àû±ØÀûÀ¸·Î Áö¿øÇÏ´Â ÇϽºÄÌ(Haskell)À̳ª ½ºÄ®¶ó °°Àº ¾ð¾î¸¦ »ç¿ëÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ¾Ë·ÁÁÖ´Â °æ¿ì°¡ ¸¹´Ù. ´ëÇ¥ÀûÀΠåÀ¸·Î ÇϽºÄÌÀÇ ¡º°¡Àå ½¬¿î ÇϽºÄÌ Ã¥¡»(ºñÁ¦ÀÌÆÛºí¸¯, 2014)À̳ª À̸¥¹Ù ¡®»¡°£ Ã¥¡¯ÀÎ ½ºÄ®¶óÀÇ ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»ÀÌ ÀÖ´Ù.

    ¹Ý´ë·Î Á¤Àû ŸÀÔÀ» Áö¿øÇÏÁö ¾Ê´Â ¾ð¾î(ÀÚ¹Ù½ºÅ©¸³Æ® µî)¿¡¼­ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ´Ù·ç´Â Ã¥µµ ¸¹ÀÌ ÀÖÁö¸¸, ŸÀÔ ½Ã½ºÅÛÀ» È°¿ëÇÏÁö ¾Ê±â ¶§¹®¿¡ °í°è ŸÀÔÀÌ ÁÖ´Â ÀåÁ¡À» »ì¸®Áö ¸øÇÑ´Ù´Â ÇÑ°è°¡ ÀÖ´Ù.

    ÀÌ Ã¥Àº À¯¸íÇÑ ¡®»¡°£ Ã¥¡¯ÀÇ ÄÚƲ¸° ¹öÀüÀ¸·Î, ÄÚƲ¸°À» ¾Ë°í ÀÖ´Â °³¹ßÀÚµéÀÌ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ±íÀÌ ¹è¿ì°í ¿¬½ÀÇÒ ¼ö ÀÖµµ·Ï ¾²¿´´Ù. »õ·Î¿î Æз¯´ÙÀÓÀ» ¹è¿ì±â À§ÇØ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¹è¿ì¸é, ¹éÁö »óÅ¿¡¼­ °³³ä°ú ¾ð¾î¸¦ ÇÔ²² ¹è¿ï ¼ö ÀÖ¾î ¿ÏÀüÈ÷ »õ·Î¿î °üÁ¡¿¡¼­ ¹è¿òÀ» ÁøÇàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ¾ð¾î¸¦ ¹è¿ì´Â µ¥ µå´Â ³ë·ÂÀ¸·Î ÀÎÇØ °³³äÀ» ÀÌÇØÇϱâ´Â ´õ ¾î·Á¿öÁú ¼öµµ ÀÖ´Ù. ±×·± Á¡¿¡¼­ º¼ ¶§, ÀÌ Ã¥Àº ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇßÀ¸¹Ç·Î Á» ´õ ½±°Ô ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ±æÀ» ¿­¾îÁشٰí ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
    ÀÌ Ã¥À» Àаí, ¿¬½À¹®Á¦¸¦ ¸ðµÎ Ç®¾î³ª°¡´Ù º¸¸é ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ÀÌÇØÇÏ°í ´Ù¾çÇÑ ÇÔ¼öÇü ŸÀÔÀ» ¼³°èÇÒ ´É·ÂÀ» Å°¿ö ³ª°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ, ¸í·ÉÇü Äڵ带 ÀÛ¼ºÇÒ ¶§µµ ÇнÀÇÑ °³³äÀ» È°¿ëÇØ Á» ´õ ¿ì¼öÇÏ°í ¾ÈÀüÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ºÎµð ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ °ü½ÉÀ» °®°í ÀÌ Ã¥À» Áý¾îµç ¿©·¯ºÐÀÌ Àüü ¿©Á¤À» ¸¶Ä£ ÈÄ Àß ÈÆ·ÃµÈ ÇÔ¼öÇü ÇÁ·Î±×·¡¸Ó·Î °Åµì³ª±æ ±â¿øÇÑ´Ù.

    ÀúÀÚ ¼Ò°³

    ¸¶¸£ÄÚ ¹ö¹Ä·± ¿Ü°øÀú

    ÀúÀÚ : ¸¶¸£ÄÚ ¹ö¹Ä·± (Marco Vermeulen)\t
    20¿©³â ÀÌ»óÀÇ JVM ÇÁ·Î±×·¡¹Ö °æ·ÂÀÌ ÀÖ´Â ÇÁ·Î±×·¡¸ÓÀÌ´Ù.

    ÀúÀÚ : ·ç³ª¸£ ºñ¾Æ¸£µå³ª¼Õ (Runar Bjarnason)\t
    Æú Ä¡¿ì»ç³ë(Paul Chiusano)¿Í ÇÔ²² ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015)À» Àú¼úÇß´Ù.

    ÀúÀÚ : Æú Ä¡¿ì»ç³ë (Paul Chiusano)\t
    ·ç³ª¸£ ºñ¾Æ¸£µå³ª¼Õ(Runar Bjarnason)°ú ÇÔ²² ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015)À» Àú¼úÇß´Ù.

    ¿ªÀÚ : ¿ÀÇö¼®\t
    ¸ðºô¸®Æ¼42 ÀÌ»ç·Î ÀÏÇϸ鼭 ¸ÅÀÏ °í°´ÀÇ ¿äû¿¡ µû¶ó Äڵ带 ¸¸µå´Â Çö¾÷ °³¹ßÀÚ´Ù. ¾î¸± ¶§ óÀ½ ÄÄÇ»Å͸¦ Á¢ÇÏ°í ¸ÅȤµÈ ÈÄ °æ±â°úÇаí, KAIST Àü»êÇаú(ÇÁ·Î±×·¡¹Ö ¾ð¾î Àü°ø ¼®»ç)¸¦ °ÅÄ¡¸é¼­ °è¼Ó ÄÄÇ»Å͸¦ »ç¿ëÇØ¿Ô´Ù. Á÷Àå¿¡¼­´Â ÁÖ·Î ÄÚƲ¸°À̳ª ÀÚ¹Ù¸¦ »ç¿ëÇÑ ¼­¹ö ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í, ÁÖ¸»À̳ª ¿©°¡½Ã°£¿¡´Â ¹ø¿ªÀ» Çϰųª °øºÎ¸¦ Çϸ鼭 Áñ°Å¿òÀ» ã´Â´Ù. ½Ã°£ÀÌ ¾ÆÁÖ ¸¹ÀÌ ³²À» ¶§´Â ½Ã¹Ä·¹ÀÌ¼Ç °ÔÀÓÀ» Áñ±â¸é¼­ ¸Ó¸®¸¦ ½ÄÈ÷°í, ¾î¶»°Ô ÇÏ¸é ¸·³» ÀÚ½ÄÀ» ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î ²ø¾îµéÀÏ ¼ö ÀÖÀ»Áö¸¦ °í¹ÎÇÏ´Â ¾ÆºüÀ̱⵵ ÇÏ´Ù. ¡ºÄÚ¾î ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö¡»(¿¡ÀÌÄÜ, 2014)À» ½ÃÀÛÀ¸·Î ¡ºKotlin in Action¡»(¿¡ÀÌÄÜ, 2017), ¡º¾ÆÅä¹Í ÄÚƲ¸°¡»(±æ¹þ, 2023), ¡ºÄÚµù Á» ¾Æ´Â »ç¶÷¡»(ÀªºÏ, 2023) µî 30¿© ±ÇÀÇ Ã¥À» ¹ø¿ªÇß´Ù.

    ¿ªÀÚ : ¼­Çü±¹
    KAIST, ¼­°­´ëÇб³ Á¤º¸Åë½Å´ëÇпøÀ» °ÅÃÄ °ú°Å¿¡´Â ÅؽºÆ®¸¶ÀÌ´×, ÇöÀç´Â ¾ð¾î AIÀÇ ´Ù¾çÇÑ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©Çß´Ù. ÇöÀç´Â LG CNS D&A¿¬±¸¼Ò¿¡¼­ MLOps, »ý¼ºÇü AI °ü·Ã Ŭ¶ó¿ìµå AI ¼­ºñ½º °³¹ß ¾÷¹«¸¦ ¼öÇàÇÏ°í ÀÖ´Ù. ±×°£ÀÇ °æÇèÀ¸·Î »ç¼ÒÇÏÁö¸¸ µµ¿òÀÌ µÇ´Â ¿£Áö´Ï¾î°¡ µÆÀ¸¸é ÇÏ´Â ±³È¸ Áý»çÀÌÀÚ °í¾çÀÌ Áý»çÀÌ´Ù.

    ¸ñÂ÷


    1ºÎ. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³

    1Àå. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ̶õ?
    1.1 FPÀÇ ÀåÁ¡: °£´ÜÇÑ ¿¹Á¦
    1.1.1 ºÎ¼ö È¿°ú°¡ ÀÖ´Â ÇÁ·Î±×·¥
    1.1.2 ÇÔ¼öÇü Çعý: ºÎ¼ö È¿°ú Á¦°ÅÇϱâ
    1.2 Á¤È®È÷ (¼ø¼ö) ÇÔ¼ö¶õ ¹«¾ùÀΰ¡?
    1.3 ÂüÁ¶ Åõ¸í¼º, ¼ø¼ö¼º, ġȯ ¸ðµ¨
    1.4 ¾ÕÀ¸·Î »ìÆ캼 ³»¿ë
    ¿ä¾à

    2Àå. ÄÚƲ¸°À¸·Î ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ½ÃÀÛÇϱâ
    2.1 °íÂ÷ ÇÔ¼ö: ÇÔ¼ö¸¦ ÇÔ¼ö¿¡ ³Ñ±â±â
    2.1.1 Àá½Ã µ¹¾Æ°¡±â: ·çÇÁ¸¦ ÇÔ¼öÀûÀ¸·Î ÀÛ¼ºÇÏ´Â ¹æ¹ý
    2.1.2 ù ¹ø° °íÂ÷ ÇÔ¼ö ÀÛ¼ºÇϱâ
    2.2 ´ÙÇüÀû ÇÔ¼ö: ŸÀÔ¿¡ ´ëÇØ Ãß»óÈ­Çϱâ
    2.2.1 ´ÙÇüÀû ÇÔ¼ö ¿¹Á¦
    2.2.2 À͸í ÇÔ¼ö¸¦ »ç¿ëÇØ °íÂ÷ ÇÔ¼ö È£ÃâÇϱâ
    2.3 ŸÀÔ¿¡ ¸ÂÃç ±¸ÇöÇϱâ
    ¿ä¾à

    3Àå. ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶
    3.1 ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶ Á¤ÀÇÇϱâ
    3.2 ÇÔ¼öÀû µ¥ÀÌÅÍ ±¸Á¶ ´Ù·ç±â
    3.2.1 ŸÀÔÀ¸·Î ¸ÅĪÇϱâ À§ÇÑ 'when'
    3.2.2 if-else¸¦ ´ë½ÅÇÏ´Â when
    3.2.3 ÆÐÅÏ ¸ÅĪÀº ¹«¾ùÀ̸ç ÄÚƲ¸° ¸ÅĪ°ú ¾î¶² Â÷ÀÌ°¡ ÀÖ³ª?
    3.3 ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶ ¾ÈÀÇ µ¥ÀÌÅÍ °øÀ¯
    3.3.1 µ¥ÀÌÅÍ °øÀ¯ÀÇ È¿À²
    3.4 ¸®½ºÆ®¿¡ ´ëÇÑ Àç±Í¿Í À̸¦ °íÂ÷ ÇÔ¼ö·Î ÀϹÝÈ­ÇÏ´Â ¹æ¹ý
    3.4.1 ¸®½ºÆ®¿¡ ÀÛ¿ëÇÏ´Â ´Ù¸¥ ÇÔ¼öµé
    3.4.2 ÄÚƲ¸° Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ ¸®½ºÆ®
    3.4.3 ´Ü¼øÇÑ ¿ä¼Òµé·ÎºÎÅÍ ¸®½ºÆ® ÇÔ¼ö¸¦ ÇÕ¼ºÇÏ´Â µ¥ µû¸¥ ºñÈ¿À²
    3.5 Æ®¸®
    ¿ä¾à

    4Àå. ¿¹¿Ü¸¦ »ç¿ëÇÏÁö ¾Ê°í ¿À·ù ´Ù·ç±â
    4.1 ¿¹¿Ü¸¦ ´øÁö´Â °ÍÀÇ ¹®Á¦Á¡
    4.2 ¿¹¿Ü¿¡ ´ëÇÑ ¹®Á¦°¡ ÀÖ´Â ´ë¾È
    4.2.1 ¼¾Æ¼³Ú °ª
    4.2.2 µðÆúÆ® °ª Á¦°ø
    4.3 OptionÀ¸·Î ¼º°ø »óȲ ÀÎÄÚµùÇϱâ
    4.3.1 Option »ç¿ë ÆÐÅÏ
    4.3.2 Option ÇÕ¼º, ²ø¾î¿Ã¸®±â ¹× ¿¹¿Ü ±â¹Ý API °¨½Î±â
    4.3.3 Option°ú for ÄÄÇÁ¸®Çî¼Ç »ç¿ëÇϱâ
    4.4 ¼º°ø°ú ½ÇÆÐ Á¶°ÇÀ» Either·Î ÀÎÄÚµùÇϱâ
    4.4.1 Either¸¦ for ÄÄÇÁ¸®Çî¼Ç¿¡¼­ »ç¿ëÇϱâ
    ¿ä¾à

    5Àå. ¾ö°Ý¼º°ú Áö¿¬¼º
    5.1 ¾ö°ÝÇÑ ÇÔ¼ö¿Í ¾ö°ÝÇÏÁö ¾ÊÀº ÇÔ¼ö
    5.2 È®Àå ¿¹Á¦: Áö¿¬ ¸®½ºÆ®
    5.2.1 ½ºÆ®¸²À» ¸Þ¸ðÈ­ÇÏ°í Àç°è»ê ÇÇÇϱâ
    5.2.2 ½ºÆ®¸² °üÂûÀ» À§ÇÑ µµ¿ì¹Ì ÇÔ¼ö
    5.3 ÇÁ·Î±×·¥ ±â¼ú°ú Æò°¡ ºÐ¸®Çϱâ
    5.4 °øÀç±Í ÇÔ¼ö¸¦ ÅëÇØ ¹«ÇÑÇÑ µ¥ÀÌÅÍ ½ºÆ®¸² »ý¼ºÇϱâ
    5.5 °á·Ð
    ¿ä¾à

    6Àå. ¼ø¼ö ÇÔ¼öÇü »óÅÂ
    6.1 ºÎ¼ö È¿°ú¸¦ »ç¿ëÇØ ³­¼ö »ý¼ºÇϱâ
    6.2 ¼ø¼ö ÇÔ¼öÇü ³­¼ö »ý¼º±â
    6.3 »óÅ°¡ ÀÖ´Â API¸¦ ¼ø¼ö ÇÔ¼öÇü API·Î ¸¸µé±â
    6.4 »óÅ µ¿ÀÛÀ» Àü´ÞÇÏ´Â ¾Ï½ÃÀû Á¢±Ù ¹æ¹ý
    6.4.1 »óÅ µ¿ÀÛ Á¶ÇÕÀ» ÅëÇØ ´õ Å« ´É·Â ¹ßÈÖÇϱâ
    6.4.2 »óÅ µ¿ÀÛÀ» ³»Æ÷½ÃÄѼ­ Àç±ÍÀûÀ¸·Î Àç½ÃµµÇϱâ
    6.4.3 ÄÞºñ³×ÀÌÅÍ API¸¦ Ãʱ⠿¹Á¦¿¡ Àû¿ëÇϱâ
    6.5 ÀϹÝÀûÀÎ »óÅ µ¿ÀÛ Å¸ÀÔ
    6.6 ¼ø¼ö ÇÔ¼öÇü ¸í·ÉÇü ÇÁ·Î±×·¡¹Ö
    6.7 °á·Ð
    ¿ä¾à

    2ºÎ. ÇÔ¼öÇü ¼³°è¿Í ÄÞºñ³×ÀÌÅÍ ¶óÀ̺귯¸®

    7Àå. ¼ø¼ö ÇÔ¼öÇü º´·Ä¼º
    7.1 µ¥ÀÌÅÍ Å¸ÀÔ°ú ÇÔ¼ö ¼±ÅÃÇϱâ
    7.1.1 º´·Ä °è»êÀ» À§ÇÑ µ¥ÀÌÅÍ Å¸ÀÔ
    7.1.2 µ¿½Ã¼ºÀ» º¸ÀåÇϱâ À§ÇØ º´·Ä °è»ê Á¶ÇÕÇϱâ
    7.1.3 ½ÇÇàÇÒ °è»êÀ» ¸í½ÃÀûÀ¸·Î Ç¥½ÃÇϱâ
    7.2 Ç¥Çö ¼±ÅÃÇϱâ
    7.3 ÃÖÁ¾ »ç¿ëÀÚ¸¦ ¿°µÎ¿¡ µÎ°í API ´Ùµë±â
    7.4 ´ë¼öÀû µî½ÄÀ» »ç¿ëÇØ API¿¡ ´ëÇØ Ãß·ÐÇϱâ
    7.4.1 ¸ÅÇÎ ±ÔÄ¢
    7.4.2 ³í¸® ½º·¹µå ºÐ±âÀÇ ¹ýÄ¢
    7.4.3 ³íºí·ÎÅ· ±¸ÇöÀ» À§ÇØ ¾×ÅÍ »ç¿ëÇϱâ
    7.5 °¡Àå ÀϹÝÀûÀÎ ÇüÅ·ΠÄÞºñ³×ÀÌÅÍ ´Ùµë±â
    ¿ä¾à

    8Àå. ¼Ó¼º ±â¹Ý Å×½ºÆ®
    8.1 ¼Ó¼º ±â¹Ý Å×½ºÆ® ¸Àº¸±â
    8.2 µ¥ÀÌÅÍ Å¸ÀÔ°ú ÇÔ¼ö ¼±ÅÃÇϱâ
    8.2.1 °¡´ÉÇÑ API¿¡ ´ëÇÑ ÂªÀº Ãʱ⠿¹Á¦ ÄÚµå ¸ðÀ¸±â
    8.2.2 ¼Ó¼ºÀÇ ÀÇ¹Ì¿Í API Ž±¸Çϱâ
    8.2.3 »ý¼º±âÀÇ API¿Í ÀÇ¹Ì ¹ß°ßÇϱâ
    8.2.4 »ý¼ºµÈ °ª¿¡ ÀÇÁ¸ÇÏ´Â »ý¼º±â
    8.2.5 ¼Ó¼º µ¥ÀÌÅÍ Å¸ÀÔ ´Ùµë±â
    8.3 Å×½ºÆ® ÄÉÀ̽º ÃÖ¼ÒÈ­
    8.4 ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ°í »ç¿ëÀÚ °æÇè °³¼±Çϱâ
    8.4.1 ¸î °¡Áö °£´ÜÇÑ ¿¹Á¦
    8.4.2 º´·Ä °è»ê¿¡ ¾î¿ï¸®´Â Å×½ºÆ® ½ºÀ§Æ® ÀÛ¼ºÇϱâ
    8.5 °íÂ÷ ÇÔ¼ö³ª ´Ù¸¥ °¡´É¼º »ý¼ºÇϱâ
    8.6 »ý¼º±âÀÇ ¹ýÄ¢
    8.7 °á·Ð
    ¿ä¾à

    9Àå. Æļ­ ÄÞºñ³×ÀÌÅÍ
    9.1 ´ë¼ö ¼³°èÇϱâ
    9.1.1 ¹®ÀÚ Çϳª¸¦ ÀνÄÇϱâ À§ÇÑ Æļ­
    9.1.2 Àüü ¹®ÀÚ¿­À» ÀνÄÇϱâ À§ÇÑ Æļ­
    9.1.3 ¹Ýº¹À» ÀνÄÇϱâ À§ÇÑ Æļ­
    9.2 ´ë¼ö¸¦ ¼³°èÇÏ´Â ÇÑ °¡Áö Á¢±Ù ¹æ¹ý
    9.2.1 ¹®ÀÚ ¹Ýº¹ Ƚ¼ö ¼¼±â
    9.2.2 ½½¶óÀ̰̽ú ºñ¾î ÀÖÁö ¾ÊÀº ¹Ýº¹
    9.3 ¹®¸Æ¿¡ ´ëÇÑ ¹Î°¨¼º ó¸®Çϱâ
    9.4 JSON Æļ­ ÀÛ¼ºÇϱâ
    9.4.1 JSON Æļ­ÀÇ ¿¹»ó µ¿ÀÛ Á¤ÀÇÇϱâ
    9.4.2 JSON Çü½Ä Á¤¸®
    9.4.3 JSON Æļ­
    9.5 º¸°í¸¦ ÅëÇØ ¿À·ù¸¦ Ç¥¸é¿¡ µå·¯³»±â
    9.5.1 ¿À·ù º¸°í ù ¹ø° ½Ãµµ
    9.5.2 ¿À·ù ³»Æ÷¸¦ ÅëÇØ ¿À·ù ´©Àû½ÃÅ°±â
    9.5.3 ºÐ±â¿Í ¹éÆ®·¡Å· Á¦¾î
    9.6 ´ë¼ö ±¸ÇöÇϱâ
    9.6.1 Á¡ÁøÀûÀ¸·Î ´ë¼öÀÇ ±¸Çö ±¸ÃàÇϱâ
    9.6.2 Æļ­ÀÇ ½ÃÄö½º ó¸®Çϱâ
    9.6.3 Æļ­¿¡ ·¹À̺íÀ» ºÙ¿©¼­ ¿À·ù ¸Þ½ÃÁö Àâ¾Æ³»±â
    9.6.4 ¿À·ù ȸº¹°ú ¹éÆ®·¡Å·
    9.6.5 ¹®¸Æ ¹Î°¨ Æļ­¸¦ ÅëÇØ »óÅ ÀüÆÄÇϱâ
    9.7 °á·Ð
    ¿ä¾à

    3ºÎ. ÇÔ¼öÇü ¼³°èÀÇ ÀÏ¹Ý ÆÐÅÏ

    10Àå. ¸ð³ëÀ̵å
    10.1 ¸ð³ëÀ̵å¶õ ¹«¾ùÀΰ¡?
    10.2 ¸ð³ëÀ̵å·Î ¸®½ºÆ® Á¢±â
    10.3 °áÇÕ¼º°ú º´·Ä¼º
    10.4 ¿¹Á¦: º´·Ä ÆĽÌ
    10.5 Á¢À» ¼ö ÀÖ´Â µ¥ÀÌÅÍ ±¸Á¶
    10.6 ¸ð³ëÀ̵å ÇÕ¼ºÇϱâ
    10.6.1 ´õ º¹ÀâÇÑ ¸ð³ëÀ̵å Á¶¸³Çϱâ
    10.6.2 ¼øȸ À¶ÇÕÀ» À§ÇØ ÇÕ¼ºÇÑ ¸ð³ëÀÌµå »ç¿ëÇϱâ
    ¿ä¾à

    11Àå. ¸ð³ªµå¿Í ÆãÅÍ
    11.1 ÆãÅÍ
    11.1.1 map ÇÔ¼ö¸¦ ÀϹÝÈ­ÇØ ÆãÅÍ Á¤ÀÇÇϱâ
    11.1.2 ¹ýÄ¢ÀÇ Á߿伺°ú ÆãÅÍ¿¡ ´ëÇÑ °ü°è
    11.2 ¸ð³ªµå: flatMap°ú unit ÇÔ¼ö ÀϹÝÈ­Çϱâ
    11.2.1 ¸ð³ªµå ÀÎÅÍÆäÀ̽º ¼Ò°³
    11.3 ¸ð³ªµåÀûÀÎ ÄÞºñ³×ÀÌÅÍ
    11.4 ¸ð³ªµå ¹ýÄ¢
    11.4.1 °áÇÕ ¹ýÄ¢
    11.4.2 ±¸Ã¼ÀûÀÎ ¸ð³ªµå¿¡ ´ëÇØ °áÇÕ ¹ýÄ¢ Áõ¸íÇϱâ
    11.4.3 ¿ÞÂÊ°ú ¿À¸¥ÂÊ Ç×µî ¹ýÄ¢
    11.5 µµ´ëü ¸ð³ªµå¶õ ¹«¾ùÀΰ¡?
    11.5.1 Ç×µî ¸ð³ªµå
    11.5.2 State ¸ð³ªµå¿Í ºÎºÐÀûÀΠŸÀÔ Àû¿ë
    ¿ä¾à

    12Àå. Àû¿ë °¡´É ÆãÅÍ¿Í ¼øȸ °¡´É ÆãÅÍ
    12.1 Àç»ç¿ë¼ºÀ» À§ÇØ ¸ð³ªµå ÀϹÝÈ­Çϱâ
    12.2 ¸ð³ªµåÀÇ ´ë¾ÈÀÎ Àû¿ë °¡´É ÆãÅÍ
    12.3 ¸ð³ªµå¿Í Àû¿ë °¡´É ÆãÅÍÀÇ Â÷ÀÌ
    12.3.1 Option Àû¿ë °¡´É ÆãÅÍ¿Í Option ¸ð³ªµåÀÇ ºñ±³
    12.3.2 Parser Àû¿ë °¡´É ÆãÅÍ¿Í Parser ¸ð³ªµå
    12.4 Àû¿ë °¡´É ÆãÅÍÀÇ ÀåÁ¡
    12.4.1 ¸ðµç Àû¿ë °¡´É ÆãÅÍ°¡ ¸ð³ªµå´Â ¾Æ´Ï´Ù
    12.5 Àû¿ë °¡´É ¹ýÄ¢À» »ç¿ëÇØ ÇÁ·Î±×·¥¿¡ ´ëÇØ Ãß·ÐÇϱâ
    12.5.1 ¿ÞÂÊ°ú ¿À¸¥ÂÊ Ç×µî¿ø ¹ýÄ¢
    12.5.2 °áÇÕ ¹ýÄ¢
    12.5.3 ÀÚ¿¬¼ºÀÇ ¹ýÄ¢
    12.6 ¼øȸ °¡´ÉÀ» »ç¿ëÇØ traverse¿Í sequence Ãß»óÈ­Çϱâ
    12.7 TraversableÀ» »ç¿ëÇØ °í·ù ŸÀÔÀ» ¹Ýº¹ÀûÀ¸·Î º¯È¯Çϱâ
    12.7.1 ¸ð³ëÀ̵忡¼­ Àû¿ë °¡´É ÆãÅÍ·Î
    12.7.2 »óÅ µ¿ÀÛÀ» ÀüÆĽÃÅ°´Â µ¿½Ã¿¡ Ä÷º¼Ç ¼øȸÇϱâ
    12.7.3 ¼øȸ °¡´É ±¸Á¶ Á¶ÇÕÇϱâ
    12.7.4 ´ÜÀÏ Æнº È¿À²¼ºÀ» À§ÇÑ Æ®¸® À¶ÇÕ
    12.7.5 ³»Æ÷µÈ ¼øȸ °¡´É ±¸Á¶¸¦ µ¿½Ã ¼øȸÇϱâ
    12.7.6 ¸ð³ªµå ÇÕ¼ºÀÇ ÇÔÁ¤°ú ÇÔÁ¤À» ÇÇÇÏ´Â ¹æ¹ý
    ¿ä¾à

    4ºÎ. È¿°ú¿Í ÀÔÃâ·Â

    13Àå. ¿ÜºÎ È¿°ú¿Í I/O
    13.1 È¿°ú°¡ ÀÖ´Â ÇÁ·Î±×·¥¿¡¼­ È¿°ú »Ì¾Æ³»±â
    13.2 È¿°ú°¡ ÀÖ´Â Äڵ带 ºÐ¸®Çϱâ À§ÇØ IO ŸÀÔ µµÀÔÇϱâ
    13.2.1 ÀÔ·Â È¿°ú ó¸®Çϱâ
    13.2.2 °£´ÜÇÑ IO ŸÀÔÀÇ Àå´ÜÁ¡
    13.3 ½Çüȭ¿Í Æ®·¥Æú¸°È­¸¦ ÅëÇØ ½ºÅà ¿À¹öÇ÷Π¿À·ù ¹æÁöÇϱâ
    13.3.1 µ¥ÀÌÅÍ »ý¼ºÀÚ·Î È帧 Á¦¾î ½ÇüȭÇϱâ
    13.3.2 Æ®·¥Æú¸°È­: ½ºÅà ¿À¹öÇ÷ο¡ ´ëÇÑ ÀϹÝÀûÀÎ Çعý
    13.4 ´õ ÀûÀýÇÑ ´µ¾Ó½ºÀÇ IO ŸÀÔ
    13.4.1 Ÿ´çÇÑ °¡°ÝÀÌ ºÙÀº ¸ð³ªµå
    13.4.2 ÄÜ¼Ö I/O¸¸ Áö¿øÇÏ´Â ¸ð³ªµå
    13.4.3 ¼ø¼ö Çؼ®±â¸¦ »ç¿ëÇØ ÄÜ¼Ö I/O Å×½ºÆ®Çϱâ
    13.5 ³íºí·ÎÅ·°ú ºñµ¿±â I/O
    13.6 ¹ü¿ë IO ŸÀÔ
    13.6.1 ¼¼°èÀÇ ¹Ý´ëÂÊ¿¡ ÀÖ´Â ÁÖ ÇÁ·Î±×·¥
    13.7 ¿Ö IO ŸÀÔÀÌ ½ºÆ®¸®¹Ö I/O¿¡ ´ëÇØ ºÎÁ·ÇÑ°¡?
    ¿ä¾à

    14Àå. Áö¿ª È¿°ú¿Í °¡º¯ »óÅÂ
    14.1 ¼ø¼ö ÇÔ¼öÇü ÄÚµå ¾È¿¡¼­ »óÅ º¯ÀÌ°¡ ÇÕ¹ýÀûÀÌ´Ù
    14.2 ºÎ¼ö È¿°úÀÇ ¿µ¿ªÀ» °­Á¦ÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔ
    14.2.1 ¿µ¿ªÀÌ Á¦ÇÑµÈ º¯À̸¦ À§ÇÑ DSL
    14.2.2 °¡º¯ ÂüÁ¶ÀÇ ´ë¼ö
    14.2.3 °¡º¯ »óÅ µ¿ÀÛ ½ÇÇàÇϱâ
    14.2.4 ST ¸ð³ªµåÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î Ç¥ÇöµÈ °¡º¯ ¹è¿­
    14.2.5 ¼ø¼ö ÇÔ¼öÀûÀÎ ÀÎÇ÷¹À̽º Äü¼ÒÆ®
    14.3 ¼ø¼ö¼ºÀº ¸Æ¶ô¿¡ µû¶ó ´Þ¶óÁø´Ù
    14.3.1 ¿¹Á¦¸¦ ÅëÇÑ Á¤ÀÇ
    14.3.2 ºÎ¼ö È¿°ú·Î Ãë±ÞÇÒ ¼ö ÀÖ´Â °ÍÀº ¹«¾ùÀϱî?
    ¿ä¾à

    15Àå. ½ºÆ®¸² ó¸®¿Í Á¡ÁøÀû I/O
    15.1 ¸í·ÉÇü I/OÀÇ ¹®Á¦Á¡: ¿¹Á¦
    15.2 °£´ÜÇÑ Æ®·£½ºµà¼­¸¦ »ç¿ëÇØ ½ºÆ®¸² º¯È¯Çϱâ
    15.2.1 ½ºÆ®¸² Æ®·£½ºµà¼­¸¦ ¸¸µé±â À§ÇÑ ÄÞºñ³×ÀÌÅÍ
    15.2.2 ÀÌ¾î ºÙÀ̱â¿Í ÇÕ¼ºÀ» »ç¿ëÇØ ¿©·¯ Æ®·£½ºµà¼­ ÇÕÄ¡±â
    15.2.3 ÆÄÀÏ Ã³¸®¸¦ À§ÇÑ ½ºÆ®¸² Æ®·£½ºµà¼­
    15.3 ÇÁ·ÎÅäÄÝ ÆĶó¹ÌÅÍÈ­¸¦ À§ÇÑ È®Àå °¡´ÉÇÑ ÇÁ·Î¼¼½º
    15.3.1 ½ºÆ®¸² ¹ß»ýÀ» À§ÇÑ ¼Ò½º
    15.3.2 ½ºÆ®¸² Æ®·£½ºµà¼­ÀÇ ÀÚ¿ø ¾ÈÀü¼º º¸ÀåÇϱâ
    15.3.3 Æ®·£½ºµà¼­¸¦ ´ÜÀÏ ÀÔ·Â ½ºÆ®¸²¿¡ Àû¿ëÇϱâ
    15.3.4 ´ÙÁß ÀÔ·Â ½ºÆ®¸²
    15.3.5 Ãâ·Â 󸮸¦ À§ÇÑ ½ÌÅ©
    15.3.6 È¿°ú°¡ Àִ ä³Î¿¡¼­ È¿°ú ¼û±â±â
    15.3.7 µ¿ÀûÀÎ ÀÚ¿ø ÇÒ´ç
    15.4 ½ÇÁ¦ ¼¼°è¿¡¼­ÀÇ ½ºÆ®¸² Æ®·£½ºµà¼­ È°¿ë
    ¿ä¾à
    ¸¶¹«¸®Çϸç

    ºÎ·Ï A ¿¬½À¹®Á¦ ÈùÆ®¿Í ÆÁ
    ºÎ·Ï B ¿¬½À¹®Á¦ ÇØ´ä
    ºÎ·Ï C °í·ù ŸÀÔ
    ºÎ·Ï D ŸÀÔ Å¬·¡½º

    ¹è¼Û ½Ã À¯ÀÇ»çÇ×

    - ¹Ýµð¾Ø·ç´Ï½º¿¡¼­ ±¸¸ÅÇϽŠµµ¼­´Â ¹°·ù ´ëÇà À§Å¹¾÷ü ¿õÁø ºÏ¼¾À» ÅëÇØ ¹è¼ÛµË´Ï´Ù.
     (¹è¼Û Æ÷Àå¿¡ "¿õÁø ºÏ¼¾"À¸·Î Ç¥±âµÉ ¼ö ÀÖ½À´Ï´Ù.)

    - ±¸¸ÅÇÑ »óÇ°ÀÇ Ç°Áú°ú ¹è¼Û °ü·Ã ¹®ÀÇ´Â ¹Ýµð¾Ø·ç´Ï½º·Î ¹®ÀÇ ¹Ù¶ø´Ï´Ù.

    - õÀçÁöº¯ ¹× Åùè»çÀÇ »çÁ¤¿¡ µû¶ó ¹è¼ÛÀÌ Áö¿¬µÉ ¼ö ÀÖ½À´Ï´Ù.

    - °áÁ¦(ÀÔ±Ý) ¿Ï·á ÈÄ ÃâÆÇ»ç ¹× À¯Åë»çÀÇ »çÁ¤À¸·Î Ç°Àý ¶Ç´Â ÀýÆÇ µÇ¾î »óÇ° ±¸ÀÔÀÌ ¾î·Á¿ï ¼ö ÀÖ½À´Ï´Ù. (º°µµ ¾È³» ¿¹Á¤)

    - µµ¼­»ê°£Áö¿ªÀÇ °æ¿ì Ãß°¡ ¹è¼Ûºñ°¡ ¹ß»ýµÉ ¼ö ÀÖ½À´Ï´Ù.

    ¹ÝÇ°/±³È¯

    »óÇ° ¼³¸í¿¡ ¹ÝÇ°/ ±³È¯ °ü·ÃÇÑ ¾È³»°¡ ÀÖ´Â °æ¿ì ±× ³»¿ëÀ» ¿ì¼±À¸·Î ÇÕ´Ï´Ù. (¾÷ü »çÁ¤¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù)

    ¹ÝÇ°/±³È¯

    ¹ÝÇ°/±³È¯
    ¹ÝÇ°/±³È¯ ¹æ¹ý Ȩ > °í°´¼¾ÅÍ > ÀÚÁÖã´ÂÁú¹® ¡°¹ÝÇ°/±³È¯/ȯºÒ¡± ¾È³» Âü°í ¶Ç´Â 1:1»ó´ã°Ô½ÃÆÇ
    ¹ÝÇ°/±³È¯ °¡´É ±â°£ ¹ÝÇ°,±³È¯Àº ¹è¼Û¿Ï·á ÈÄ 7ÀÏ À̳», »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦¹ß°ß ÈÄ 30ÀÏ À̳»¿¡ ½Åû°¡´É
    ¹ÝÇ°/±³È¯ ºñ¿ë º¯½É ȤÀº ±¸¸ÅÂø¿ÀÀÇ °æ¿ì¿¡¸¸ ¹Ý¼Û·á °í°´ ºÎ´ã(º°µµ ÁöÁ¤ Åùè»ç ¾øÀ½)
    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯
    • ¼ÒºñÀÚÀÇ Ã¥ÀÓ »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    • ¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì : ¿¹)¸¸È­Ã¥, ÀâÁö, È­º¸Áý µî
    • ½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • ÀüÀÚ»ó°Å·¡µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì
    • ÇØ¿ÜÁÖ¹® »óÇ°(ÇØ¿Ü ¿ø¼­)ÀÇ °æ¿ì(Æĺ»/ÈѼÕ/¿À¹ß¼Û »óÇ°À» Á¦¿Ü)
    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó
    • »óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ¹ÝÇ°, ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº
      ¼ÒºñÀÚ ºÐÀïÇØ°á ±âÁØ(°øÁ¤°Å·¡À§¿øȸ°í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê
    • ´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ
      ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ
    ¹ÝÇ°/±³È¯ ÁÖ¼Ò °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77, ¿õÁøºÏ¼¾(¹Ýµð¾Ø·ç´Ï½º)
    • ȸ»ç¸í : (ÁÖ)¼­¿ï¹®°í
    • ´ëÇ¥ÀÌ»ç : ±èÈ«±¸
    • °³ÀÎÁ¤º¸ º¸È£Ã¥ÀÓÀÚ : ±èÈ«±¸
    • E-mail : bandi_cs@bnl.co.kr
    • ¼ÒÀçÁö : (06168) ¼­¿ï °­³²±¸ »ï¼º·Î 96±æ 6
    • »ç¾÷ÀÚ µî·Ï¹øÈ£ : 120-81-02543
    • Åë½ÅÆǸž÷ ½Å°í¹øÈ£ : Á¦2023-¼­¿ï°­³²-03728È£
    • ¹°·ù¼¾ÅÍ : (10881) °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77 ¹Ýµð¾Ø·ç´Ï½º
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved