|
GraphQL°ú ŸÀÔ½ºÅ©¸³Æ®·Î °³¹ßÇÏ´Â À¥ ¼ºñ½º¼³°èºÎÅÍ °³¹ß·¹èÆ÷±îÁö µû¶óÇÏ¸ç ¿Ï¼ºÇÏ´Â À¥ Ç®½ºÅà °³¹ßÁ¤°¡ : 25,000¿øÆǸŰ¡ 22,500¿ø (10% ÇÒÀÎ)
Ç°¸ñÁ¤º¸
Ã¥¼Ò°³Áöºê¸® ¿µÈ ¸íÀå¸é¿¡ ‘ÁÁ¾Æ¿ä’¿Í ‘°¨»óÆò’À» ³²±â´Â À¥ ¼ºñ½º¸¦ GraphQL°ú ŸÀÔ½ºÅ©¸³Æ®·Î °³¹ßÇØ º¸ÀÚ! GraphQLÀº È¿°úÀûÀÎ API¸¦ Á¦°øÇϱâ À§ÇÑ Äõ¸® ¾ð¾îÀÌ¸ç ·±Å¸ÀÓ ¹× µµ±¸ÀÌ´Ù. Ŭ¶óÀ̾ðÆ®/¼¹ö ±¸Á¶ÀÇ Áß°£Àڷμ ¾çÃø¿¡ °øÀ¯µÇ´Â Ãß»óÈµÈ µ¥ÀÌÅÍ ¸í¼¼ °èÃþÀ» Á¦½ÃÇÑ´Ù. ¿©·¯ ±Û·Î¹ú ±â¾÷¿¡¼ GraphQLÀ» Àû±ØÀûÀ¸·Î È°¿ëÇÏ°í ÀÖÀ¸¸ç ±¹³» ±â¾÷¿¡¼µµ ±âÁ¸ ¶Ç´Â ½Å±Ô ÇÁ·ÎÁ§Æ®¿¡ µµÀÔÇÏ´Â »ç·Ê°¡ ¸¹¾ÆÁö°í ÀÖ´Ù. ¶ÇÇÑ GraphQLÀº ƯÁ¤ ¾ð¾î³ª Ç÷§Æû¿¡ Á¾¼ÓÀûÀÌÁö ¾Ê¾Æ Áö¼ÓÇؼ °ü·Ã ÇÁ·¹ÀÓ¿öÅ©, ¶óÀ̺귯¸®, ¼ºñ½º°¡ »ý»êµÇ°í ÀÖ´Ù. ÀÌ Ã¥Àº ½ºÆ©µð¿À Áöºê¸® ¿µÈÀÇ ¸íÀå¸é °¨»óÆò ¼ºñ½º¸¦ ÇÔ²² ±¸ÇöÇÏ¸é¼ GraphQLÀ» ÀÚ¿¬½º·´°Ô ÀÍÈú ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾î ÀÖ´Ù. ¹é¿£µå ½ºÅ°¸¶ ¼³°èºÎÅÍ ÇÁ·±Æ®¿£µå È¸é ±¸¼º°ú ¼ºñ½º ¹èÆ÷¿¡ À̸£±â±îÁö ¼øÂ÷ÀûÀ¸·Î µû¶ó Çϸç ÇϳªÀÇ À¥ ¼ºñ½º¸¦ °³¹ßÇØ º¼ ¼ö ÀÖ´Ù. ÀÌ Ã¥¿¡¼ ¹è¿î ³»¿ëÀ» ¹ÙÅÁÀ¸·Î º»ÀÎÀÌ ¿øÇÏ´Â ÁÖÁ¦ÀÇ À¥ ¼ºñ½º¸¦ °³¹ßÇØ º¸ÀÚ. ¸ñÂ÷ÀúÀÚ ¼Ò°³ ¼¹® º£Å¸ ¸®´õ Ãßõ»ç 1Àå À¥ °³¹ß°ú GraphQL 1.1 À¥ °³¹ßÀÇ °£·«ÇÑ ¿ª»ç 1.2 GraphQL ___GraphQL ___GraphQLÀÇ ¼³°è µðÀÚÀÎ ¿øÄ¢ ___REST ___RESTÀÇ ¹®Á¦Á¡°ú GraphQL ___GraphQL°ú RESTÀÇ Â÷ÀÌ ___GraphQLÀÌ °¡Á®¿À´Â ºÎ°¡Àû ÀÌÁ¡ 1.3 GraphQL »ç¿ëÇϱâ ___Äõ¸® ___ÀÎÀÚ¿Í º¯¼ö ___Directives ___Fragment ___¹ÂÅ×ÀÌ¼Ç ___½ºÅ°¸¶¿Í ŸÀÔ ___GraphQLÀÇ ½ÇÇà 2Àå. GraphQL, ŸÀÔ½ºÅ©¸³Æ® »ýÅ°è 2.1 GraphQL ÇÁ·Î±×·¡¹Ö ¹æ½Ä ___½ºÅ°¸¶ ÁÖµµ ¹æ½Ä ___ÄÚµå ÁÖµµ ¹æ½Ä ___½ºÅ°¸¶ ÁÖµµ ¹æ½Ä vs ÄÚµå ÁÖµµ ¹æ½Ä 2.2 µ¥ÀÌÅͺ£À̽º ___ORM ___Tools 2.3 GraphQL ¼¹ö ___Apollo ¼¹ö ___Nestjs 2.4 GraphQL Ŭ¶óÀ̾ðÆ® ___GraphQL Ŭ¶óÀ̾ðÆ® ¾øÀÌ GraphQL ¿äûÇϱâ ___Relay ___Apollo Ŭ¶óÀ̾ðÆ® ___Urql ___GraphQL Ŭ¶óÀ̾ðÆ®ÀÇ Ä³½Ã ¹æ¹ý 2.5 ±× ¿Ü À¯¿ëÇÑ Åø ___GraphQL Code Generator ___DataLoader 3Àå. ÇÁ·ÎÁ§Æ® Áغñ 3.1 ÇÁ·ÎÁ§Æ® ¼Ò°³ ___±â´É ¿ä±¸»çÇ× 3.2 ÇÁ·ÎÁ§Æ® ¾ÆÅ°ÅØó ___µ¥ÀÌÅͺ£À̽º ___GraphQL ¼¹ö ___ÇÁ·±Æ®¿£µå 3.3 °³¹ß ȯ°æ ±¸¼º ___Nodejs ȯ°æ ±¸¼º ___Docker ¼³Ä¡ ___MySQL°ú Redis ¼³Ä¡ ___Visual Studio Code 3.4 ÇÁ·ÎÁ§Æ® ±¸¼º ___ÇÁ·±Æ®¿£µå ___¹é¿£µå ___ÄÚµù ½ºÅ¸ÀÏ ¹× ±ÔÄ¢ Àû¿ë ___ÇÁ·ÎÁ§Æ® µ¥ÀÌÅÍ ´Ù¿î·Îµå 4Àå. ÇÁ·ÎÁ§Æ® °³¹ß I 4.1 ¿µÈ ¸ñ·Ï ___¿µÈ ¸ñ·Ï ½ºÅ°¸¶ ¼³°è ___¸®Á¹¹ö ±¸¼º ___¿µÈ ¸ñ·Ï Äõ¸® ___Ŭ¶óÀ̾ðÆ®¿¡¼ Äõ¸® ó¸®Çϱâ ___GraphQL Code Generator ___UI ±¸¼º ___ÆäÀÌÁö³×ÀÌ¼Ç 4.2 ·¹À̾ƿô ___ÆäÀÌÁö ó¸® ___·¹À̾ƿô ÄÄÆ÷³ÍÆ® ___³×ºñ°ÔÀÌ¼Ç ¹Ù 4.3 °³º° ¿µÈ »ó¼¼ Á¤º¸ ___¿µÈ »ó¼¼ Á¤º¸ ¸®Á¹¹ö ___°³º° ¿µÈ ÆäÀÌÁö ±¸¼º ___¸íÀå¸é ½ºÅ°¸¶ ¼³°è ___¸íÀå¸é ¸ñ·Ï Á¤º¸ UI ±¸¼º ___¸íÀå¸é ÀÚ¼¼È÷ º¸±â 5Àå. ÇÁ·ÎÁ§Æ® °³¹ß II 5.1 ȸ¿ø°¡ÀÔ ___TypeORM ±¸¼º ___ȸ¿ø°¡ÀÔ ___ȸ¿ø°¡ÀÔ UI 5.2 ·Î±×ÀÎ ___ÀÎÁõ°ú Àΰ¡ ___·Î±×ÀÎ ___·Î±×ÀÎ UI ___·Î±×ÀÎ Á¤º¸ Á¶È¸ ___·Î±×ÀÎ À¯Áö ___·Î±×¾Æ¿ô 5.3 ¸íÀå¸é ÁÁ¾Æ¿ä ±â´É ___CutVote ½ºÅ°¸¶ ¼³°è ___ÁÁ¾Æ¿ä ¹ÂÅ×ÀÌ¼Ç ___ÁÁ¾Æ¿ä Á¶È¸ Äõ¸® 5.4 ¸íÀå¸é °¨»óÆò ±â´É ___°¨»óÆò ½ºÅ°¸¶ ¼³°è ___°¨»óÆò ¹ÂÅ×ÀÌ¼Ç ___°¨»óÆò Äõ¸® ___°¨»óÆò UI 6Àå. ÇÁ·ÎÁ§Æ® °³¹ß III 6.1 ÇÁ·ÎÇÊ »çÁø ±â´É Ãß°¡Çϱâ ___ÇÁ·ÎÇÊ »çÁø »ý¼ºÇϱâ ___uploadLink ___ÇÁ·ÎÇÊ »çÁø UI 6.2 ½Ç½Ã°£ ¾Ë¸² ±â´É Ãß°¡Çϱâ ___¾Ë¸² ½ºÅ°¸¶ ¼³°è ___Subscription ¼³Á¤ ___¾Ë¸² ¸®Á¹¹ö ___Subscription in Client ___¾Ë¸² UI ___¾Ë¸² ±â´É º¸¿ÏÇϱâ 7Àå. ¹èÆ÷ 7.1 ¹èÆ÷ Áغñ-¼Ò°³ 7.2 ¹èÆ÷ Áغñ ___ÇÁ¸®Æ¼¾î ___ȯ°æº¯¼ö ó¸® 7.3 ¹é¿£µå ¼¹ö ¹èÆ÷ ±¸¼º ___RDS ___ElastiCache ___Beanstalk 7.4 React ÇÁ·±Æ®¿£µå ¹èÆ÷ ±¸¼º ___AWS S3 7.5 ´õ ¸¹Àº ¹èÆ÷ ÀÛ¾÷ 7.6 ¸¶¹«¸® ___´õ ¸¹Àº ±â´ÉÀ» Ãß°¡ÇØ º¸¼¼¿ä. ___GraphQL ±â¹Ý ¼ºñ½º¸¦ È®ÀÎÇØ º¸¼¼¿ä. ÃâÆÇ»ç ¸®ºäÀ¥ ¼ºñ½º¸¦ Á÷Á¢ ¸¸µé¸ç ¹è¿ì´Â GraphQL ÀÌ Ã¥Àº ´Ü¼øÇÑ ÀÌ·Ð ¼³¸íÀÌ ¾Æ´Ñ Áöºê¸® ¿µÈ¸¦ ÁÖÁ¦·Î ÇÑ À¥ ¼ºñ½º¸¦ ¸¸µé¾î º¸¸é¼ GraphQL¿¡ ´ëÇØ ¼³¸íÇÏ¿© Àç¹Õ°Ô ¹è¿ï ¼ö ÀÖ°í ½Ç¹«¿¡µµ À¯ÀÍÇÏ´Ù. ±âÃÊ Áö½ÄºÎÅÍ ´Ü°èº°·Î »ó¼¼ÇÏ°Ô ¼³¸íÇϱ⠶§¹®¿¡ GraphQLÀ» óÀ½ Á¢ÇÏ´õ¶óµµ ½±°Ô ÀÌÇØÇÏ¸ç µû¶ó Çغ¼ ¼ö ÀÖ´Ù. ¹é¿£µåºÎÅÍ ÇÁ·±Æ®¿£µå±îÁö Á÷Á¢ °³¹ß ¹× ¹èÆ÷ÇÑ °æÇèÀ» ¹ÙÅÁÀ¸·Î ¿©·¯ºÐÀÌ ¿øÇÏ´Â À¥ ¼ºñ½º¸¦ °³¹ßÇØ º¼ ¼ö ÀÖ±æ ¹Ù¶õ´Ù. ÀÌ Ã¥Àº ´ÙÀ½°ú °°ÀÌ ±¸¼ºµÇ¾î ÀÖ´Ù. 1Àå¿¡¼´Â À¥ °³¹ßÀÇ ¿ª»çºÎÅÍ ½ÃÀÛÇÏ¿© GraphQL ź»ý°ú ¸í¼¼, REST¿Í GraphQLÀÇ Â÷ÀÌÁ¡, GraphQLÀÌ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 2Àå¿¡¼´Â Node.js + ŸÀÔ½ºÅ©¸³Æ® ȯ°æ¿¡¼ÀÇ GraphQL °³¹ß »ýÅ°迡 ´ëÇØ ¾Ë¾Æº»´Ù. 3ÀåºÎÅÍ´Â ÇÔ²² ¼ºñ½º¸¦ ±¸¼ºÇϱ⠽ÃÀÛÇÑ´Ù. Docker¸¦ ÅëÇØ Redis, MySQLÀ» ±¸¼ºÇÏ°í Node.js °³¹ß ȯ°æÀ» ±¸¼ºÇÑ´Ù. 4Àå¿¡¼´Â ¿µÈ ¸ñ·Ï¿¡ ´ëÇÑ µ¥ÀÌÅͺ£À̽º ¸ðµ¨°ú GraphQL ½ºÅ°¸¶¸¦ ¼³°èÇÏ°í Äõ¸®¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ºÒ·¯¿À´Â °úÁ¤À» ¾Ë¾Æº»´Ù. 5Àå¿¡¼´Â ȸ¿ø°¡ÀÔ°ú ·Î±×ÀÎ, °¨»óÆò°ú ÁÁ¾Æ¿ä ±â´ÉÀ» ±¸ÇöÇÏ¸ç ¹ÂÅ×À̼ÇÀ» ÅëÇص¥ÀÌÅ͸¦ Á¶ÀÛÇÏ´Â °úÁ¤À» ¾Ë¾Æº»´Ù. 6Àå¿¡¼´Â ¾Ë¸² ±â´ÉÀ» ±¸ÇöÇϸç GraphQLÀ» ÅëÇÑ ÆÄÀÏ ¾÷·Îµå ¹æ½Ä¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. 7Àå¿¡¼´Â ±¸ÇöÇÑ ¼ºñ½º¸¦ AWSÀÇ Beanstalk, S3¸¦ ÅëÇØ ¹èÆ÷ÇÏ´Â °úÁ¤À» ÁøÇàÇÑ´Ù.
(°³)
1. ¹è¼Û
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 4½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ12½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù. ¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù. 2. ¹è¼Û·á ¹è¼Û·á´Â 25,000¿ø ÀÌ»óÀÌ °æ¿ì À̱×ÀëÇ÷¯½º¿¡¼ ºÎ´ãÇÏ°í, ¹Ì¸¸ÀÏ °æ¿ì °í°´ÀÌ 2,500¿øÀ» ºÎ´ãÇÕ´Ï´Ù. ´Ù¸¸ ±¸¸Å±Ý¾×ÀÌ 25,000¿ø ÀÌ»óÀε¥ Àû¸³±Ý µîÀ» »ç¿ëÇÏ¿© ½ÇÁ¦ °áÀç±Ý¾×ÀÌ 25,000¿ø ¹Ì¸¸ÀÌ µÇ´õ¶óµµ À̱×ÀëÇ÷¯½º¿¡¼ ¹è¼Û·á¸¦ ºÎ´ãÇÏ°í, Á¦ÁÖ¸¦ Á¦¿ÜÇÑ µµ¼Áö¿ªÀÇ °æ¿ì´Â 5,000¿øÀÌ Ãß°¡µË´Ï´Ù. Çؿܹè¼ÛÀº Àü¾× °í°´ºÎ´ãÀÌ µË´Ï´Ù. 5. ¹ÝÇ°/±³È¯
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù. 4. ȯºÒ ¹ÞÀ¸½Å ³¯ºÎÅÍ 2ÀÏ À̳»·Î Àüȳª 1:1 °Ô½Ã±Û·Î Àû¾îÁÖ¼Å¾ß °¡´ÉÇϽʴϴÙ. 5. ÁÖÀÇ °í°´´Ô º¯½ÉÀ¸·Î ÀÎÇÑ ±³È¯/¹ÝÇ°/ȯºÒ °í°´´Ô²²¼ Åùèºñ(¿Õº¹Åùèºñ)¸¦ ºÎ´ãÀÌ µÇ´Ï ÀÌÁ¡ À¯ÀÇÇØ ÁֽʽÿÀ. ¶ÇÇÑ °ÀÇÅ×ÀÙ/¾ãÀº¹®Á¦Áý/ºñ´ÒÆ÷ÀåµÈÁ¦Ç°µîÀº Çѹø ±¸¸ÅÇÏ½Ã¸é ±³È¯/¹ÝÇ°/ȯºÒÀÌ ÀüÇô ¾ÈµË´Ï´Ù. ½ÅÁßÈ÷ »ý°¢Çϼż ±¸¸Å ºÎŹµå¸³´Ï´Ù. ´Ù¸¸ ºÒ·®Å×ÀÙÀÇ °æ¿ì ±× ºÒ·®ÀÌ µÈ °³º°Å×ÀÙÀ» À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î A/S¸¦ Çص帳´Ï´Ù. 6. ÁÖ¹®Ãë¼Ò, ±³È¯, ¹ÝÇ° ¹× ȯºÒÀº ´çÀÏ 3½Ã ÀÌÀü¿¡ ÇØÁÖ¼Å¾ß °¡´ÉÇÕ´Ï´Ù. ±× ÀÌÈÄ´Â ¹è¼Û µî¿¡ µû¸¥ Á¦ºñ¿ëÀ» ºÎ´ãÇÏ¼Å¾ß ÇÕ´Ï´Ù.
|
|
||||||||
|
||||||||
|
||||||||
* »óÇ°»çÀÌÁî Ä¡¼ö´Â Àç´Â ¹æ¹ý°ú À§Ä¡¿¡ µû¶ó 1~3cm ¿ÀÂ÷°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.