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

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

    ½ºÇÁ¸µ 6¿Í ½ºÇÁ¸µ ºÎÆ® 3·Î ¹è¿ì´Â ¸ð´ø API °³¹ß

    º£½ºÆ®

    ½ºÇÁ¸µ 6¿Í ½ºÇÁ¸µ ºÎÆ® 3·Î ¹è¿ì´Â ¸ð´ø API °³¹ß Java 17°ú Spring Boot 3 ±â¹ÝÀÇ REST, gRPC, GraphQLÀ» È°¿ëÇÑ ¹ÝÀÀÇü API ¼³°è

    • ¼Ò¶óºê »þ¸£¸¶ Àú
    • ±è±¤¿µ,¹®Á¾¹Î,¹Úõ±¸ ¿ª
    • À§Å°ºÏ½º
    • 2024³â 12¿ù 05ÀÏ
    • Á¤°¡
      32,000¿ø
    • ÆǸŰ¡
      28,800¿ø [10% ÇÒÀÎ]
    • °áÁ¦ ÇýÅÃ
      ¹«ÀÌÀÚ
    • Àû¸³±Ý
      1,600¿ø Àû¸³ [5%P]

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

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

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

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

      close

      2025³â 03¿ù 13ÀÏ(¸ñ)

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

    ¼ö·®
    ȸ¿ø¸®ºä
    - [0]
    ISBN: 9791158395384 512ÂÊ 973g 188 x 240 (§®)

    Áö±Ý ÀÌÃ¥Àº

    ÀÌ Ã¥ÀÌ ¼ÓÇÑ ºÐ¾ß

    ÀÌ Ã¥Àº

    ½ºÇÁ¸µÀº ÀÚ¹Ù¸¦ »ç¿ëÇØ È®Àå °¡´ÉÇÏ°í ½Å·ÚÇÒ ¼ö ÀÖ´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¶§ »ç¿ë °¡´ÉÇÑ °­·ÂÇÏ°í ³Î¸® »ç¿ëµÇ´Â ÇÁ·¹ÀÓ¿öÅ©À̸ç, ½ºÇÁ¸µ ºÎÆ®´Â ½ºÇÁ¸µ ±â¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤°ú ±¸¼ºÀ» ´Ü¼øÈ­½ÃÄÑ ÁÖ´Â Àα⠼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ÀÌ Ã¥Àº À¥ °³¹ß ½Ã¿¡ Âü°íÇÒ ¼ö ÀÖ´Â ½ºÇÁ¸µ 6¿Í ½ºÇÁ¸µ ºÎÆ® 3¿¡ ´ëÇÑ ±íÀÌ ÀÖ´Â °¡À̵å·Î, Çö´ëÀûÀÌ°í °ß°íÇÑ À¥ API ¹× ¼­ºñ½º ±¸Ãà¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ Áö½ÄÀ» Á¦°øÇÑ´Ù.

    ÀÌ Ã¥Àº RESTful À¥ ¼­ºñ½º ±âº» Áö½Ä, ½ºÇÁ¸µ¿¡ ´ëÇÑ °³³ä ÀÌÇØ, API ½ºÆå ¼³°è¸¦ Æ÷ÇÔÇÑ API °³¹ß¿¡ ÇʼöÀûÀÎ ´Ù¾çÇÑ ÁÖÁ¦¸¦ ´Ù·ç¸ç ºñµ¿±â API ¼³°è, º¸¾È, »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¼³°è, API Å×½ºÆ®, À¥ ¼­ºñ½º ¹èÆ÷ µîÀ» ¼³¸íÇÑ´Ù. ³ª¾Æ°¡ ½ÇÀü ¾ÖÇø®ÄÉÀ̼ǿ¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ À¯ÇüÀÇ API ±¸Ãà¿¡ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ½ÇÁ¦ ¼öÁØÀÇ »ùÇà ¾ÛÀ» Á¦°øÇÑ´Ù. ÀÌ »ùÇà ¾ÛÀ» ÅëÇØ ¼³°è ¹× »ç¾ç, ±¸Çö, Å×½ºÆ®, ¹èÆ÷¸¦ Æ÷ÇÔÇÑ Àüü API °³¹ß Áֱ⿡ ´ëÇØ ÀÌÇØÇÏ°Ô µÉ °ÍÀÌ´Ù.


     


     


    ÃâÆÇ»ç ¸®ºä

    ½Ç½ÀÀ» ÅëÇØ ÇÁ·Î´ö¼Ç ¼öÁØÀÇ API¸¦ ¼³°è, Å×½ºÆ®, º¸¾È, ¹èÆ÷ ¹× À¯Áöº¸¼ö ÇÏ´Â ¹æ¹ýÀ» ¹è¿ö ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±â´ÉÀ» Çâ»ó½ÃÄÑ º¸ÀÚ!

    ½ºÇÁ¸µÀº ÀÚ¹Ù¸¦ »ç¿ëÇØ È®Àå °¡´ÉÇÏ°í ½Å·ÚÇÒ ¼ö ÀÖ´Â À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¶§ »ç¿ë °¡´ÉÇÑ °­·ÂÇÏ°í ³Î¸® »ç¿ëµÇ´Â ÇÁ·¹ÀÓ¿öÅ©À̸ç, ½ºÇÁ¸µ ºÎÆ®´Â ½ºÇÁ¸µ ±â¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼³Á¤°ú ±¸¼ºÀ» ´Ü¼øÈ­½ÃÄÑ ÁÖ´Â Àα⠼ÒÇÁÆ®¿þ¾îÀÌ´Ù. ÀÌ Ã¥Àº À¥ °³¹ß ½Ã¿¡ Âü°íÇÒ ¼ö ÀÖ´Â ½ºÇÁ¸µ 6¿Í ½ºÇÁ¸µ ºÎÆ® 3¿¡ ´ëÇÑ ±íÀÌ ÀÖ´Â °¡À̵å·Î, Çö´ëÀûÀÌ°í °ß°íÇÑ À¥ API ¹× ¼­ºñ½º ±¸Ãà¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ Áö½ÄÀ» Á¦°øÇÑ´Ù.

    ÀÌ Ã¥Àº RESTful À¥ ¼­ºñ½º ±âº» Áö½Ä, ½ºÇÁ¸µ¿¡ ´ëÇÑ °³³ä ÀÌÇØ, API ½ºÆå ¼³°è¸¦ Æ÷ÇÔÇÑ API °³¹ß¿¡ ÇʼöÀûÀÎ ´Ù¾çÇÑ ÁÖÁ¦¸¦ ´Ù·ç¸ç ºñµ¿±â API ¼³°è, º¸¾È, »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¼³°è, API Å×½ºÆ®, À¥ ¼­ºñ½º ¹èÆ÷ µîÀ» ¼³¸íÇÑ´Ù. ³ª¾Æ°¡ ½ÇÀü ¾ÖÇø®ÄÉÀ̼ǿ¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ À¯ÇüÀÇ API ±¸Ãà¿¡ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ½ÇÁ¦ ¼öÁØÀÇ »ùÇà ¾ÛÀ» Á¦°øÇÑ´Ù. ÀÌ »ùÇà ¾ÛÀ» ÅëÇØ ¼³°è ¹× »ç¾ç, ±¸Çö, Å×½ºÆ®, ¹èÆ÷¸¦ Æ÷ÇÔÇÑ Àüü API °³¹ß Áֱ⿡ ´ëÇØ ÀÌÇØÇÏ°Ô µÉ °ÍÀÌ´Ù.

    ÀÌ Ã¥¿¡ ´ëÇÑ ÇнÀÀ» ¸¶Ä¡°í ³ª¸é, Spring 6¿Í Spring Boot 3¸¦ »ç¿ëÇØ È®Àå °¡´ÉÇÏ°í À¯Áöº¸¼ö °¡´ÉÇÑ Çö´ëÀûÀÎ API¸¦ ¼³°è, °³¹ß, Å×½ºÆ® ¹× ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°Ô µÉ »Ó¸¸ ¾Æ´Ï¶ó ¾ÖÇø®ÄÉÀ̼ÇÀÇ º¸¾È°ú ½Å·Ú¼ºÀ» °­È­ÇÏ°í Àü¹ÝÀûÀÎ ±â´ÉÀ» Çâ»ó½ÃÅ°´Â º£½ºÆ® ÇÁ·¢Æ¼½º¸¦ ÀÍÈ÷°Ô µÉ °ÍÀÌ´Ù.

    ¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú

    * ½ºÇÁ¸µ°ú ÀÚ¹Ù¸¦ »ç¿ëÇÑ ¿£ÅÍÇÁ¶óÀÌÁî ¼öÁØÀÇ API »ý¼º
    * ´Ù¾çÇÑ ÄÉÀ̽º¿¡ »ç¿ë °¡´ÉÇÑ REST, gRPC, GraphQL ¹× ºñµ¿±â APIÀÇ ÀÌÇØ¿Í ±¸Çö
    * ¼³°èºÎÅÍ ¹èÆ÷±îÁö ½ÇÁ¦ À¥ API ¹× ¼­ºñ½ºÀÇ °³¹ß
    * API »ç¾ç ¹× ±¸Çö¿¡ ´ëÇÑ º£½ºÆ® ÇÁ·¢Æ¼½º ÇнÀ
    * ÀÎÁõ ¹× ±ÇÇÑ ºÎ¿©¸¦ ÅëÇÑ ¾ÈÀüÇÑ API ¼³°è ¹× ±¸Çö
    * ¿öÅ©Ç÷Π¹× ¿ÀÄɽºÆ®·¹ÀÌ¼Ç ¿£ÁøÀ» »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ±â¹Ý ¼Ö·ç¼ÇÀÇ °³¹ß
    * API¿¡ Á¢±ÙÇÏ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽ºÀÇ ¼³°è ¹× Å×½ºÆ® ´É·Â ½Àµæ
    * ¼­ºñ½º ¹× API¿¡ ´ëÇÑ ·Î±ë ¹× ÃßÀû ¸ÞÄ¿´ÏÁò ±¸Çö


     



    ÀúÀÚ ¼Ò°³

    ¼Ò¶óºê »þ¸£¸¶

    ¿À¶óŬÀÇ ¼ö¼® °³¹ß °ü¸®ÀÚ·Î ¾÷°è¿¡¼­ 20³â ÀÌ»óÀÇ °æÇèÀ» °¡Áö°í ÀÖ´Ù. ±×´Â ÀÚ¹Ù, ÀÚ¹Ù½ºÆ®¸³Æ®, ¿À¶óŬ DB¸¦ »ç¿ëÇØ ¿ÂÇÁ·¹¹Ì½º ¹× Ŭ¶ó¿ìµå ±â¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³°èÇÏ´Â °ü¸®ÀÚÀÌÀÚ ¾ÆÅ°ÅØÆ®ÀÌ´Ù. ¼Ò¶óºê´Â ¼±µµÀûÀÎ ±â¾÷µé°ú Çù·ÂÇØ ¿£ÅÍÇÁ¶óÀÌÁî Á¦Ç° ¹× ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦°øÇß°í, ÆÀÀ» À̲ø¸ç N-tier ¹× Ŭ¶ó¿ìµå ±â¹Ý À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³³äÈ­, ¸ðµ¨¸µ, ¼³°è ¹× °³¹ßÇÏ´Â °Í¿¡ Àü¹®°¡ ¼öÁØÀÇ ¿ª·®À» °¡Áö°í ÀÖ´Ù. ¶ÇÇÑ, ¸¶ÀÌÅ©·Î¼­ºñ½º ±â¹Ý ¼Ö·ç¼Ç °³¹ß°ú ´Ù¾çÇÑ À¯ÇüÀÇ ¿öÅ©Ç÷Π¹× ¿ÀÄɽºÆ®·¹ÀÌ¼Ç ¿£Áø ±¸Çöµµ °æÇèÇßÀ¸¸ç Áö¼ÓÀûÀ¸·Î ÇнÀÇϸç Ã¥°ú ±³À°À» ÅëÇØ Áö½ÄÀ» °øÀ¯ÇÏ°í ÀÖ´Ù.

    ¿ªÀÚ ¼Ò°³

    ±è±¤¿µ,¹®Á¾¹Î,¹Úõ±¸

    ¿ªÀÚ : ±è±¤¿µ

    º¸Çèȸ»ç¿¡¼­ º¸Çè°è¸®ÀÎ½Ç ¾÷¹«·Î Ä¿¸®¾î¸¦ ½ÃÀÛÇÑ ÈÄ, IT ȸ»ç·Î ÀÌÁ÷ÇØ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, IT ¾ÆÅ°ÅØÆ®, ÄÁ¼³ÅÏÆ® µî ´Ù¾çÇÑ ¿ªÇÒÀ» ¼öÇàÇÏ¸ç µðÁöÅÐ ±â¼úÀÇ ±â¹ÝÀ» ´ÙÁ³´Ù. Á¦Á¶È¸»ç¿¡¼­´Â µðÁöÅÐ »çÀÌ´ÏÁö °ü·Ã ÇØ¿Ü ½Å»ç¾÷À» À̲ø¸ç ±Û·Î¹ú ½ÃÀå °æÇèÀ» ½×¾Ò´Ù. ÀÌ·¯ÇÑ °æÇèÀ» ¹ÙÅÁÀ¸·Î ÇöÀç´Â Ŭ¶ó¿ìµå ÄÄÇ»Æà ȸ»ç¿¡¼­ ¼Ö·ç¼Ç½º ¾ÆÅ°ÅØÆ®(Solutions Architect)·Î È°µ¿Çϸç, °í°´ÀÇ µðÁöÅÐ Àüȯ°ú Ŭ¶ó¿ìµå µµÀÔ ¹× È°¿ëÀ» Áö¿øÇÏ°í ÀÖ´Ù. ¸ÅÀÏ ¼ÕÅ鸸ŭÀÇ ³ë·ÂÀÌ ÀλýÀ» º¯È­½ÃŲ´Ù´Â ¹ÏÀ½À¸·Î (1.01)©ø = 37.78À̶ó´Â ¹®±¸¸¦ ÁÁ¾ÆÇÑ´Ù.

     

    ¿ªÀÚ : ¹®Á¾¹Î

    15³â°£ ½Ã½ºÅÛ ÅëÇÕ ºÐ¾ß¿¡¼­ ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØÆ®·Î °æ·ÂÀ» ½×¾ÒÀ¸¸ç, ±×Áß 10¿© ³âÀº ±ÝÀ¶½Ã½ºÅÛ ±¸Ãà°ú ÄÚ¾î¹ðÅ· ÇÁ·¹ÀÓ¿öÅ© °³¹ß ¾ÆÅ°ÅØÆ®·Î È°µ¿Çß´Ù. ÇöÀç´Â Ŭ¶ó¿ìµå ÄÄÇ»Æà ȸ»ç¿¡¼­ ±Ù¹«Çϸ鼭 ±ÝÀ¶ °í°´µéÀÌ Å¬¶ó¿ìµå¸¦ ÅëÇØ Çõ½ÅÇϵµ·Ï µ½°í ÀÖ´Ù. ²÷ÀÓ¾øÀÌ º¯È­ÇÏ´Â IT ȯ°æ ¼Ó¿¡¼­ »õ·Î¿î µµÀüÀ» Áñ±â¸é¼­ ±â¼úÀÇ º»ÁúÀ» ÆľÇÇϱâ À§ÇØ ¾Ö¾²°í ÀÖ´Ù.

     

    ¿ªÀÚ : ¹Úõ±¸

    ¸î ¹øÀÇ ½ºÅ¸Æ®¾÷ µµÀü¿¡ °í¹è¸¦ ¸¶¼Ì°í À¯·á µðÁöÅÐ ¹Ìµð¾î ½ºÆ®¸®¹Ö ¼­ºñ½º¿Í Ŭ¶ó¿ìµå ±â¹Ý IoT Ç÷§ÆûÀ» °³¹ßÇß´Ù. ÇöÀç´Â Ŭ¶ó¿ìµå ÄÄÇ»Æà ȸ»ç¿¡¼­ ÀÏÇÏ°í ÀÖ°í, ½Å±â¼ú¿¡ °ü½ÉÀÌ ¸¹À¸¸ç '±â¼úÀÌ ¼¼»óÀ» ¹Ù²Û´Ù'´Â ¸ðÅ並 °®°í »ì°í ÀÖ´Ù. ¡¶EJB & WebLogic¡·À» Á÷Á¢ ½è°í ¡¶Prototype & Scriptaculous ÀÎ ¾×¼Ç¡· ¡¶ÇÁ·Î À¥ 2.0 ¸Å½¬¾÷¡· ¡¶ÇÁ·Î ½ºÇÁ¸µ 2.5¡· ¡¶Å¬¶ó¿ìµå ÄÄÇ»Æðú SOA ÄÁ¹öÀü½º: Àü»çÀû µµÀÔÀ» ÅëÇÑ ±â¾÷ÀÇ »ýÁ¸ Àü·«¡·À» ¹ø¿ªÇß´Ù.

    ¸ñÂ÷

    [1ºÎ] RESTful À¥ ¼­ºñ½º

    01Àå: RESTful À¥ ¼­ºñ½º ±âº»»çÇ×
    ±â¼ú ¿ä±¸ »çÇ×
    REST API ¼Ò°³
    __RESTÀÇ ¿ª»ç
    __RESTÀÇ ±âº»»çÇ×
    ¸®¼Ò½º¿Í URI ´Ù·ç±â
    __URI ±¸¹®
    __URLÀ̶õ
    __URNÀ̶õ
    HTTP ¸Þ¼Òµå¿Í »óÅ ÄÚµå »ìÆ캸±â
    __POST
    __GET
    __PUT
    __DELETE
    __PATCH
    __HTTP »óÅ ÄÚµå
    HATEOASÀ̶õ
    REST API ¼³°è º£½ºÆ® ÇÁ·¢Æ¼½º
    __¿£µåÆ÷ÀÎÆ® °æ·Î¿¡¼­ ¸®¼Ò½ºÀÇ À̸§À» ÁöÁ¤ÇÒ
    __µ¿»çÇüÀÌ ¾Æ´Ñ ¸í»çÇü ´Ü¾î¸¦ »ç¿ë
    __¿£µåÆ÷ÀÎÆ® °æ·Î¿¡¼­ Ä÷º¼Ç ¸®¼Ò½ºÀÇ À̸§À» ÁöÁ¤ÇÒ ¶§ º¹¼öÇüÀ» »ç¿ë
    __ÇÏÀÌÆ۹̵ð¾î »ç¿ë(HATEOAS)
    __API ¹öÀü °ü¸®
    __ÁßøµÈ ¸®¼Ò½º
    __API º¸¾È
    __¹®¼­ À¯Áö °ü¸®
    __±ÇÀåµÇ´Â »óÅ ÄÚµå Áؼö
    __ij½Ì º¸Àå
    __´ÜÀ§½Ã°£´ç ¿äû·® Á¦ÇÑ(Rate limit) À¯Áö °ü¸®
    ÀüÀÚ »ó°Å·¡ ¾Û ¼Ò°³
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    02Àå: ½ºÇÁ¸µÀÇ °³³ä°ú REST API
    ±â¼ú ¿ä±¸ »çÇ×
    ½ºÇÁ¸µ ÆÐÅÏ°ú Æз¯´ÙÀÓ ÀÌÇØÇϱâ
    __IoC¶õ
    __DI¶õ
    __AOP¶õ
    IoC ÄÁÅ×ÀÌ³Ê ÀÌÇØÇϱâ
    Bean°ú ±× ¹üÀ§ Á¤ÀÇÇϱâ
    __@ComponentScan ¾Ö³ëÅ×À̼Ç
    __BeanÀÇ ¹üÀ§
    ÀÚ¹Ù¸¦ »ç¿ëÇÏ¿© bean ¼³Á¤
    __@Import ¾Ö³ëÅ×À̼Ç
    __@DependsOn ¾Ö³ëÅ×À̼Ç
    DI ÄÚµù ¹æ¹ý
    __»ý¼ºÀÚ·Î ÀÇÁ¸¼º Á¤ÀÇ
    __¼³Á¤ÀÚ ¸Þ¼Òµå·Î ÀÇÁ¸¼º Á¤ÀÇ
    __Ŭ·¡½º ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇÑ ÀÇÁ¸¼º Á¤ÀÇ
    ¾Ö³ëÅ×À̼ÇÀ» »ç¿ëÇÏ¿© beanÀÇ ¸ÞŸµ¥ÀÌÅÍ ¼³Á¤
    __@Autowired »ç¿ë ¹æ¹ý
    __ŸÀÔº° ÀÏÄ¡(Match by type)
    __ÇÑÁ¤ÀÚº° ÀÏÄ¡(Match by qualifier)
    __À̸§À¸·Î ÀÏÄ¡(Match by name)
    __@PrimaryÀÇ ¸ñÀûÀº ¹«¾ùÀϱî?
    __@Value´Â ¾ðÁ¦ »ç¿ëÇÒ±î?
    AOP¿ë ÄÚµå ÀÛ¼º
    ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
    ¼­ºí¸´ µð½ºÆÐóÀÇ Á߿伺 ÀÌÇØ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    03Àå: API ¸í¼¼ ¹× ±¸Çö
    ±â¼ú ¿ä±¸ »çÇ×
    OAS·Î API ¼³°è
    OASÀÇ ±âº» ±¸Á¶ ÀÌÇØ
    __OASÀÇ ¸ÞŸµ¥ÀÌÅÍ Àý
    __OASÀÇ servers¿Í tags Àý
    OASÀÇ ÄÄÆ÷³ÍÆ®(components) Àý
    OASÀÇ °æ·Î(path) Àý
    OAS¸¦ ½ºÇÁ¸µ ÄÚµå·Î º¯È¯
    OAS ÄÚµå ÀÎÅÍÆäÀ̽º ±¸Çö
    Àü¿ª ¿¹¿Ü 󸮱â Ãß°¡
    API ±¸Çö Å×½ºÆ®
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    04Àå: API¸¦ À§ÇÑ ºñÁî´Ï½º ·ÎÁ÷ ÀÛ¼º
    ±â¼ú ¿ä±¸ »çÇ×
    ¼­ºñ½º ¼³°è °³¿ä
    Repository ÄÄÆ÷³ÍÆ® Ãß°¡
    __@Repository ¾Ö³ëÅ×À̼Ç
    __µ¥ÀÌÅͺ£À̽º ¹× JPA ¼³Á¤
    __µ¥ÀÌÅͺ£À̽º ¹× ½Ãµå µ¥ÀÌÅÍ ½ºÅ©¸³Æ®
    __¿£ÅÍƼ Ãß°¡
    __¸®Æ÷ÁöÅ丮 Ãß°¡
    ¼­ºñ½º ÄÄÆ÷³ÍÆ® Ãß°¡
    ÇÏÀÌÆ۹̵ð¾î ±¸Çö
    ¼­ºñ½º¿Í HATEOAS·Î ÄÁÆ®·Ñ·¯ Çâ»ó
    API ÀÀ´ä¿¡ ETag Ãß°¡
    API Å×½ºÆ®
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    05Àå: ºñµ¿±â API ¼³°è
    ±â¼ú ¿ä±¸ »çÇ×
    ¸®¾×Ƽºê ½ºÆ®¸² ÀÌÇØÇϱâ
    __¹ßÇàÀÚ(Publisher)
    __±¸µ¶ÀÚ(Subscriber)
    __±¸µ¶(Subscription)
    __ÇÁ·Î¼¼¼­(Processor)
    ½ºÇÁ¸µ À¥Ç÷°½º »ìÆ캸±â
    __¸®¾×Ƽºê API ÀÌÇØ
    __¸®¾×Ƽºê ÄÚ¾î
    DispatcherHandler ÀÌÇØÇϱâ
    __ÄÁÆ®·Ñ·¯
    __ÇÔ¼öÇü ¿£µåÆ÷ÀÎÆ®
    ÀüÀÚ »ó°Å·¡ ¾Û¿ë ¸®¾×Ƽºê API ±¸Çö
    __¸®¾×Ƽºê API¿ë OpenAPI Codegen º¯°æ
    __build.gradle¿¡ ¸®¾×Ƽºê ÀÇÁ¸¼º Ãß°¡
    __¿¹¿Ü ó¸®
    __ÄÁÆ®·Ñ·¯¿¡ ´ëÇÑ Àü¿ª ¿¹¿Ü ó¸®
    __API ÀÀ´ä¿¡ ÇÏÀÌÆ۹̵ð¾î ¸µÅ© Ãß°¡
    __¿£ÅÍƼ Á¤ÀÇ
    __¸®Æ÷ÁöÅ丮 Ãß°¡
    __¼­ºñ½º Ãß°¡
    __ÄÁÆ®·Ñ·¯ ±¸Çö Ãß°¡
    __¾ÖÇø®ÄÉÀ̼ǿ¡ H2 ÄÜ¼Ö Ãß°¡
    __¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤ Ãß°¡
    __¸®¾×Ƽºê API Å×½ºÆ®
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    [02ºÎ] º¸¾È, UI, Å×½ºÆ®, ¹èÆ÷

    06Àå: ±ÇÇѺο©¿Í ÀÎÁõÀ» ÅëÇØ REST ¿£µåÆ÷ÀÎÆ® º¸È£Çϱâ
    ±â¼ú ¿ä±¸ »çÇ×
    ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ¹× JWT¸¦ »ç¿ëÇÑ ÀÎÁõ ±¸Çö
    __Gradle¿¡ ÇÊ¿äÇÑ ÀÇÁ¸¼º Ãß°¡Çϱâ
    __OAuth 2.0 ¸®¼Ò½º ¼­¹ö¸¦ »ç¿ëÇÑ ÀÎÁõ ¹æ¹ý
    __JWTÀÇ ±¸Á¶
    JWT·Î REST API¿¡ º¸¾È Àû¿ëÇϱâ
    __»õ·Î¿î API Ãß°¡Çϱâ
    __µ¥ÀÌÅͺ£À̽º Å×ÀÌºí¿¡ ¸®ÇÁ·¹½Ã ÅäÅ« ÀúÀåÇϱâ
    __JWT °ü¸®ÀÚ ±¸ÇöÇϱâ
    »õ·Î¿î API ±¸Çö
    __findUserByUsername() ¸Þ¼Òµå ±¸ÇöÇϱâ
    __REST ÄÁÆ®·Ñ·¯ ±¸Çö
    __À¥ ±â¹Ý º¸¾È ¼³Á¤
    CORS¿Í CSRFÀÇ ±¸¼º
    ±ÇÇѺο©(authorization)¿¡ ´ëÇÑ ÀÌÇØ
    __¿ªÇÒ°ú ±ÇÇÑ
    º¸¾È °ü·Ã Å×½ºÆ®Çϱâ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    07Àå: »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¼³°èÇϱâ
    ±â¼ú ¿ä±¸ »çÇ×
    React ±âÃÊ
    __¸®¾×Æ® ¾Û ¸¸µé±â
    __±âº» ±¸Á¶¿Í ÆÄÀÏ¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ
    __package.json ÆÄÀÏ¿¡ ´ëÇÑ ÀÌÇØ
    __React ¾ÛÀÇ ºÎÆ®½ºÆ®·¦
    ¸®¾×Æ® ÄÄÆ÷³ÍÆ® ¹× ±âŸ ±â´É¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ
    __JSX¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ
    __¸®¾×Æ® ÈÅ¿¡ ´ëÇØ ÀÌÇØÇغ¸ÀÚ
    __Å×ÀÏÀ©µå(Tailwind)¸¦ »ç¿ëÇØ ÄÄÆ÷³ÍÆ® ½ºÅ¸ÀϸµÇϱâ
    ÇÁ·Î´ö¼Ç ¹èÆ÷¿¡ ºÒÇÊ¿äÇÑ ½ºÅ¸ÀÏÀ» Á¦°ÅÇϵµ·Ï ¼³Á¤
    __¸®¾×Æ®¿¡ Å×ÀÏÀ©µå Æ÷ÇÔ½ÃÅ°±â
    ÀüÀÚ»ó°Å·¡ ¾Û ÄÄÆ÷³ÍÆ® µðÀÚÀÎÇϱâ
    Fetch¸¦ ÀÌ¿ëÇØ API È£ÃâÇϱâ
    __Á¦Ç° Á¤º¸¸¦ °¡Á®¿À´Â API Ŭ¶óÀ̾ðÆ® ÀÛ¼ºÇϱâ
    __Á¦Ç° ¸ñ·Ï ÆäÀÌÁö ÄÚµùÇϱâ
    ÀÎÁõ ±â´É ±¸ÇöÇϱâ
    __Ä¿½ºÅÒ useToken ÈÄÅ© ¸¸µé±â
    __Login ÄÄÆ÷³ÍÆ® ÀÛ¼º
    __Ä¿½ºÅÒ cart contextÀÇ ±¸Çö
    __Cart ÄÄÆ÷³ÍÆ® ÀÛ¼ºÇϱâ
    __Order ÄÄÆ÷³ÍÆ® ÀÛ¼ºÇϱâ
    __·çÆ®(App) ÄÄÆ÷³ÍÆ® ÀÛ¼º
    __¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱâ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    08Àå: API Å×½ºÆ®
    ±â¼ú ¿ä±¸ »çÇ×
    API¿Í Äڵ带 ¼öµ¿À¸·Î Å×½ºÆ®Çϱâ
    Å×½ºÆ® ÀÚµ¿È­
    __´ÜÀ§ Å×½ºÆ®
    __AssertJ ¾î¼­¼ÇÀ» »ç¿ëÇØ Å×½ºÆ®Çϱâ
    __ÄÚµå Ä¿¹ö¸®Áö
    __ÅëÇÕ Å×½ºÆ®Çϱâ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    09Àå: À¥¼­ºñ½º ¹èÆ÷Çϱâ
    ±â¼ú ¿ä±¸ »çÇ×
    ÄÁÅ×À̳ÊÈ­¶õ ¹«¾ùÀϱî?
    µµÄ¿(Docker) À̹ÌÁö ºôµåÇϱâ
    __µµÄ¿¶õ ¹«¾ùÀΰ¡?
    __À̹ÌÁö¸¦ ºôµåÇÏ´Â ±×·¡µé ŽºÅ© ½ÇÇà
    Äí¹ö³×Ƽ½º¿¡ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷Çϱâ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    [03ºÎ] gRPC, ·Î±ë, ¸ð´ÏÅ͸µ

    10Àå: gRPC ½ÃÀÛÇϱâ
    ±â¼ú ¿ä±¸ »çÇ×
    gRPC µ¿ÀÛ¹æ½Ä
    __REST ´ë gRPC
    __À¥ ºê¶ó¿ìÀú¿Í ¸ð¹ÙÀÏ ¾Û¿¡¼­ gRPC ¼­¹ö¸¦ È£ÃâÇÒ ¼ö ÀÖÀ»±î?
    __gRPC ¾ÆÅ°ÅØó¶õ
    __gRPC°¡ Protocol Buffer¸¦ »ç¿ëÇÏ´Â ¹æ¹ý
    ¼­ºñ½º Á¤ÀÇÀÇ ÀÌÇØ
    RPC ¼ö¸í Áֱ⠻ìÆ캸±â
    __¼ö¸í Áֱ⿡ ¿µÇâÀ» ÁÖ´Â À̺¥Æ®
    __gRPC ¼­¹ö ¹× gRPC ½ºÅÓ ÀÌÇØ
    ¿¡·¯ ó¸®¿Í ¿¡·¯ »óÅ ÄÚµå
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    11Àå: gRPC API °³¹ß ¹× Å×½ºÆ®
    ±â¼ú ¿ä±¸ »çÇ×
    API ÀÛ¼º
    __ÇÁ·ÎÁ§Æ® ¼³Á¤
    __°áÁ¦ °ÔÀÌÆ®¿þÀÌ ±â´É ÀÛ¼º
    gRPC ¼­¹ö °³¹ß
    __gRPC ¼­¹ö ±¸Çö
    __gRPC ¼­¹ö Ŭ·¡½º ±¸Çö
    __gRPC ¼­¹ö Å×½ºÆ®
    ¿¡·¯ ó¸® ±¸Çö
    gRPC Ŭ¶óÀ̾ðÆ® °³¹ß
    __gRPC Ŭ¶óÀ̾ðÆ® ±¸Çö
    __gRPC ¼­ºñ½º Å×½ºÆ®
    ¸¶ÀÌÅ©·Î¼­ºñ½º¶õ?
    __ÀüÅëÀûÀÎ ¸ð³î¸®½Ä µðÀÚÀÎ
    __¼­ºñ½º ±â¹Ý ¸ð³î¸®½Ä µðÀÚÀÎ
    __¸¶ÀÌÅ©·Î¼­ºñ½º µðÀÚÀÎ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    12Àå: ¼­ºñ½º¿¡ ·Î±ë ¹× Æ®·¹ÀÌ½Ì Ãß°¡
    ±â¼ú ¿ä±¸ »çÇ×
    ELK ½ºÅÃÀ» È°¿ëÇÑ ·Î±ë ¹× Æ®·¹À̽Ì
    ELK ½ºÅÃÀÇ ÀÌÇØ
    ELK ½ºÅà ¼³Ä¡
    gRPC Äڵ忡¼­ ·Î±ë ¹× Æ®·¹ÀÌ½Ì ±¸Çö
    __gRPC ¼­¹ö ÄÚµå º¯°æ
    __gRPC Ŭ¶óÀ̾ðÆ® ÄÚµå º¯°æ
    __·Î±ë ¹× Æ®·¹ÀÌ½Ì º¯°æ»çÇ× Å×½ºÆ®
    Zipkin°ú Micrometer·Î ºÐ»ê Æ®·¹ÀÌ½Ì Çϱâ
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    [04ºÎ] GraphQL

    13Àå: GraphQL ½ÃÀÛÇϱâ
    ±â¼ú ¿ä±¸ »çÇ×
    GraphQL ¾Ë¾Æº¸±â
    __GraphQLÀÇ °£·«ÇÑ ¿ª»ç
    __GraphQL°ú REST ºñ±³
    GraphQL ±âº» ÇнÀ
    __Äõ¸® ŸÀÔ »ìÆ캸±â
    __¹ÂÅ×ÀÌ¼Ç Å¸ÀÔ »ìÆ캸±â
    __¼­ºê½ºÅ©¸³¼Ç ŸÀÔ »ìÆ캸±â
    GraphQL ½ºÅ°¸¶ ¼³°è
    __½ºÄ®¶ó ŸÀÔÀÇ ÀÌÇØ
    __ÇÁ·¡±×¸ÕÆ® ÀÌÇØ
    __ÀÎÅÍÆäÀ̽º ÀÌÇØ
    __À¯´Ï¿Â ŸÀÔ ÀÌÇØ
    __ÀÎDz ŸÀÔ ÀÌÇØ
    __GraphQL µµ±¸¸¦ »ç¿ëÇÑ ½ºÅ°¸¶ ¼³°è
    GraphQL Äõ¸®¿Í ¹ÂÅ×ÀÌ¼Ç Å×½ºÆ®
    __N+1 ¹®Á¦ ÇØ°á
    __N+1 ¹®Á¦ ÀÌÇضõ ¹«¾ùÀΰ¡?
    N+1 ¹®Á¦ÀÇ ¼Ö·ç¼Ç
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

    14Àå: GraphQL API °³¹ß ¹× Å×½ºÆ®
    ±â¼ú ¿ä±¸ »çÇ×
    GraphQL ¿ë ¿öÅ©Ç÷οì¿Í µµ±¸
    GraphQL ¼­¹ö ±¸Çö
    __gRPC ¼­¹ö ÇÁ·ÎÁ§Æ® »ý¼º
    __GraphQL DGS ÀÇÁ¸¼º Ãß°¡
    __GraphQL ½ºÅ°¸¶ Ãß°¡
    __Ä¿½ºÅÒ ½ºÄ®¶ó ŸÀÔ Ãß°¡
    __API ¹®¼­È­
    GraphQL Äõ¸® ±¸Çö
    GraphQL Äõ¸®¿ë Æäó ÀÛ¼º
    __Product¿ë µ¥ÀÌÅÍ Æäó ÀÛ¼º
    __Product Ä÷º¼Ç¿ë µ¥ÀÌÅÍ Æäó ÀÛ¼º
    __µ¥ÀÌÅÍ Æäó ¸Þ¼Òµå¸¦ »ç¿ëÇÑ Çʵå Çؼ®±â ÀÛ¼º
    __N+1 ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ µ¥ÀÌÅÍ ·Î´õ ÀÛ¼º
    GraphQL ¹ÂÅ×ÀÌ¼Ç ±¸Çö
    GraphQL ¼­ºê½ºÅ©¸³¼Ç ±¸Çö ¹× Å×½ºÆ®
    __GraphQL¿ë WebSocket ¼­ºê-ÇÁ·ÎÅäÄÝ ÀÌÇØ
    __Insomnia À¥¼ÒÄÏÀ» ÀÌ¿ëÇÑ GraphQL ¼­ºê½ºÅ©¸³¼Ç Å×½ºÆ®
    GraphQL API ÀνºÆ®·ç¸ÕÅ×À̼Ç
    __Ä¿½ºÅÒ Çì´õ Ãß°¡
    __Micrometer¿Í ÅëÇÕ
    Å×½ºÆ® ÀÚµ¿È­
    __GraphQL Äõ¸® Å×½ºÆ®
    __GraphQL ¹ÂÅ×ÀÌ¼Ç Å×½ºÆ®
    __ÀÚµ¿È­µÈ Å×½ºÆ® Äڵ带 ÀÌ¿ëÇÑ GraphQL ¼­ºê½ºÅ©¸³¼Ç Å×½ºÆ®
    ¿ä¾à
    Áú¹®
    ´äº¯
    Ãß°¡ ÀÐÀ»°Å¸®

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

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

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

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

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

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

    ¹ÝÇ°/±³È¯

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

    ¹ÝÇ°/±³È¯

    ¹ÝÇ°/±³È¯
    ¹ÝÇ°/±³È¯ ¹æ¹ý Ȩ > °í°´¼¾ÅÍ > ÀÚÁÖã´ÂÁú¹® ¡°¹ÝÇ°/±³È¯/ȯºÒ¡± ¾È³» Âü°í ¶Ç´Â 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