{"id":10885,"date":"2016-10-05T14:37:21","date_gmt":"2016-10-05T05:37:21","guid":{"rendered":"https:\/\/jirak.net\/wp\/%ec%84%9c%eb%b2%84%eb%a6%ac%ec%8a%a4-express-%ec%95%b1-%ea%b0%9c%eb%b0%9c%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%98%a4%ed%94%88-%ec%86%8c%ec%8a%a4-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b3%b5%ea%b0%9c\/"},"modified":"2016-10-05T15:34:27","modified_gmt":"2016-10-05T06:34:27","slug":"%ec%84%9c%eb%b2%84%eb%a6%ac%ec%8a%a4-express-%ec%95%b1-%ea%b0%9c%eb%b0%9c%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%98%a4%ed%94%88-%ec%86%8c%ec%8a%a4-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b3%b5%ea%b0%9c","status":"publish","type":"post","link":"https:\/\/jirak.net\/wp\/%ec%84%9c%eb%b2%84%eb%a6%ac%ec%8a%a4-express-%ec%95%b1-%ea%b0%9c%eb%b0%9c%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%98%a4%ed%94%88-%ec%86%8c%ec%8a%a4-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b3%b5%ea%b0%9c\/","title":{"rendered":"\uc11c\ubc84\ub9ac\uc2a4 Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0 \uacf5\uac1c"},"content":{"rendered":"<p>\uc11c\ubc84\ub9ac\uc2a4 Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0 \uacf5\uac1c<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jirak.net\/wp\/wp-content\/uploads\/2016\/10\/serverless_express_git_1.png\" width=\"625\" height=\"526\"><\/p>\n<p><a href=\"https:\/\/expressjs.com\/\">Express<\/a>\ub294 <a href=\"https:\/\/nodejs.org\/en\/\">Node.js<\/a>\ub97c \uc0ac\uc6a9\ud558\ub294 \uc778\uae30\uc788\ub294 \uc6f9 \ud504\ub808\uc784\uc6cd \uc911\uc5d0 \ud558\ub098\uc785\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc190\uc27d\uac8c \u201c\uc11c\ubc84 \uc5c6\ub294(Serverless)\u201d \uc6f9 \uc0ac\uc774\ud2b8, \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc0f API \uc11c\ube44\ub974\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc11c\ubc84 \ub9ac\uc2a4 \ud658\uacbd\uc5d0\uc11c \ub300\ubd80\ubd84 \ubc31\uc5d4\ub4dc \ub85c\uc9c1\uc740 \ud544\uc694\uc5d0 \ub530\ub77c \uc694\uccad\ub418\ub294 \ubb34\uc0c1\ud0dc \uae30\ubc18\uc778 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. (Mike Roberts\uc758 <a href=\"http:\/\/martinfowler.com\/articles\/serverless.html\">Serverless Architectures<\/a> \uae00 \ucc38\uace0. <a href=\"http:\/\/blog.aliencube.org\/ko\/2016\/06\/23\/serverless-architectures\/\">\ud55c\uad6d\uc5b4 \ubc88\uc5ed<\/a>)<\/p>\n<p><a title=\"\" href=\"https:\/\/aws.amazon.com\/lambda\/\">AWS Lambda<\/a>\uc640 \ud568\uaed8 \uc0ac\uc6a9 \uac00\ub2a5\ud55c <a title=\"\" href=\"http:\/\/aws.amazon.com\/apigateway\">Amazon API Gateway<\/a>\ub97c \ud1b5\ud574 (\uc5bc\ub9c8 \uc804 \uc0c8\ub85c \ucd9c\uc2dc\ud55c <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/api-gateway-update-new-features-simplify-api-development\/\">\uac04\ud3b8\ud55c API \uac1c\ubc1c\uc744 \uc704\ud55c \uc2e0\uaddc \ud1b5\ud569 \uae30\ub2a5<\/a>\uc744 \uae30\ubc18\uc73c\ub85c) \uae30\uc874 Express \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc11c\ubc84\ub9ac\uc2a4 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. API Gateway\uc758 \uc0c8\ub85c\uc6b4 \ucd94\uac00 \uae30\ub2a5 \ubfd0\ub9cc \uc544\ub2c8\ub77c, \uac1c\ubc1c\uc790\ubcc4 API \uc0ac\uc6a9\ub7c9 \uc81c\uc5b4 \ubc0f \uce90\uc2f1 \ub4f1\uc744 \uc9c0\uc6d0\ud558\ub294 <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/new-usage-plans-for-amazon-api-gateway\/\">Usage Plans<\/a>\uc744 \ud1b5\ud574 \ub354 \ub098\uc740 API \uc11c\ube44\uc2a4 \uc81c\uacf5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n<p>\uae30\uc874 Express \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 <span title=\"\">Lambda<\/span> and <span title=\"\">API Gateway<\/span>\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud558\uae30 \uc704\ud574 <strong><a href=\"https:\/\/github.com\/awslabs\/aws-serverless-express\">aws-serverless-express<\/a><\/strong> \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0\ub97c \uacf5\uac1c\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc5ec\ub7ec\ubd84\uc758 \uc774\uc804 \uc791\uc5c5\uc744 \uc704\ud55c \uc2dc\uc791\uc810\uc73c\ub85c \ud544\uc694\ud55c \uc0d8\ud50c \uc608\uc81c\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/github.com\/awslabs\/aws-serverless-express\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/media.amazonwebservices.com\/blog\/2016\/serverless_express_git_1.png\" alt=\"\" width=\"625\" height=\"526\" \/><\/a><\/p>\n<p>\ub610\ud55c, <span title=\"\">API Gateway<\/span> and <span title=\"\">Lambda<\/span>\ub97c \ud1b5\ud55c Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \ub450 \uac00\uc9c0 \uae30\uc220 \uc815\ubcf4\ub97c \ucc38\uace0\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/claudiajs.com\/tutorials\/serverless-express.html\">Running Express Apps in AWS Lambda<\/a>(\uc601\ubb38): <a href=\"https:\/\/github.com\/claudiajs\/claudia\">Claudia.js<\/a>\uc640 <a href=\"https:\/\/www.npmjs.com\/package\/serverless-express\"><strong>aws-serverless-express<\/strong><\/a> \ubaa8\ub4c8\uc744 \ud1b5\ud574 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac1c\ubc1c \ubc0f \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4. \uae30\uc874 TCP \ub9ac\uc2a4\ub108\ub97c \uc81c\uac70\ud55c \ud6c4, Lambda \ud504\ub85d\uc2dc\ub97c \ucd94\uac00\ud55c \ud6c4 \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/li>\n<li><a href=\"https:\/\/aws.amazon.com\/blogs\/compute\/going-serverless-migrating-an-express-application-to-amazon-api-gateway-and-aws-lambda\/\">Going Serverless: Migrating an Express Application to Amazon API Gateway and AWS Lambda<\/a>(\uc601\ubb38): \uc704\uc758 \uae00\ubcf4\ub2e4\ub294 \uc880 \ub354 \uae4a\uc774 \uc788\ub294 \uae30\uc220 \ubb38\uc11c\ub85c\uc11c, \ud658\uacbd \ubcc0\uc218 \uc124\uc815 \ubc29\ubc95, \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc5f0\uacb0 \ubc29\ubc95, \uc815\uc801 \uc790\uc6d0\uc5d0 \ub300\ud55c \ud6a8\uc728\uc801\uc778 \ud638\uc2a4\ud305 \ubc29\ubc95 \ub4f1\uc744 \uc54c\ub824\uc8fc\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ucd94\uac00\uc801\uc778 Lambda \ubc0f API Gateway \uae30\ub2a5\uc744 \ud1b5\ud574 \uc804\uccb4 \ubc30\ud3ec \uc8fc\uae30 \ubc0f \uacfc\uc815\uc5d0 \ub300\ud55c \ubd80\ubd84\ub3c4 \uc790\uc138\ud788 \ub2f4\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\u2014 <a href=\"https:\/\/twitter.com\/jeffbarr\">Jeff<\/a>;<\/p>\n<p><em>\uc774 \uae00\uc740 <a href=\"https:\/\/aws.amazon.com\/blogs\/aws\/running-express-applications-on-aws-lambda-and-amazon-api-gateway\/\">Running Express Applications on AWS Lambda and Amazon API Gateway<\/a>\uc758 \ud55c\uad6d\uc5b4 \ubc88\uc5ed\uc785\ub2c8\ub2e4.<\/em><\/p>\n<p>Source: <a href=\"https:\/\/aws.amazon.com\/ko\/blogs\/korea\/running-express-applications-on-aws-lambda-and-amazon-api-gateway\/\" target=\"_blank\">\uc11c\ubc84\ub9ac\uc2a4 Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0 \uacf5\uac1c<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>\uc11c\ubc84\ub9ac\uc2a4 Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0 \uacf5\uac1c Express\ub294 Node.js\ub97c \uc0ac\uc6a9\ud558\ub294 \uc778\uae30\uc788\ub294 \uc6f9 \ud504\ub808\uc784\uc6cd \uc911\uc5d0 \ud558\ub098\uc785\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc190\uc27d\uac8c \u201c\uc11c\ubc84 \uc5c6\ub294(Serverless)\u201d \uc6f9 \uc0ac\uc774\ud2b8, \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc0f API \uc11c\ube44\ub974\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc11c\ubc84 \ub9ac\uc2a4 \ud658\uacbd\uc5d0\uc11c \ub300\ubd80\ubd84 \ubc31\uc5d4\ub4dc \ub85c\uc9c1\uc740 \ud544\uc694\uc5d0 \ub530\ub77c \uc694\uccad\ub418\ub294 \ubb34\uc0c1\ud0dc \uae30\ubc18\uc778 \uacbd\uc6b0\uac00 \ub9ce\uc2b5\ub2c8\ub2e4. (Mike Roberts\uc758 Serverless Architectures \uae00 \ucc38\uace0. \ud55c\uad6d\uc5b4 \ubc88\uc5ed) AWS Lambda\uc640 \ud568\uaed8 \uc0ac\uc6a9 \uac00\ub2a5\ud55c Amazon API Gateway\ub97c \ud1b5\ud574 (\uc5bc\ub9c8 \uc804 \uc0c8\ub85c \ucd9c\uc2dc\ud55c \uac04\ud3b8\ud55c API \uac1c\ubc1c\uc744 \uc704\ud55c \uc2e0\uaddc \ud1b5\ud569 \uae30\ub2a5\uc744 \uae30\ubc18\uc73c\ub85c) \uae30\uc874 Express \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc11c\ubc84\ub9ac\uc2a4 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. API Gateway\uc758 \uc0c8\ub85c\uc6b4 \ucd94\uac00 \uae30\ub2a5 \ubfd0\ub9cc \uc544\ub2c8\ub77c, \uac1c\ubc1c\uc790\ubcc4 API \uc0ac\uc6a9\ub7c9 \uc81c\uc5b4 \ubc0f \uce90\uc2f1 \ub4f1\uc744 \uc9c0\uc6d0\ud558\ub294 Usage Plans\uc744 \ud1b5\ud574 \ub354 \ub098\uc740 API \uc11c\ube44\uc2a4 \uc81c\uacf5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \uae30\uc874 Express \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 Lambda and API Gateway\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ud558\uae30 \uc704\ud574 aws-serverless-express \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0\ub97c \uacf5\uac1c\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc5ec\ub7ec\ubd84\uc758 \uc774\uc804 \uc791\uc5c5\uc744 \uc704\ud55c \uc2dc\uc791\uc810\uc73c\ub85c \ud544\uc694\ud55c \uc0d8\ud50c \uc608\uc81c\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, API Gateway and Lambda\ub97c \ud1b5\ud55c Express \uc571 <a class=\"mh-excerpt-more\" href=\"https:\/\/jirak.net\/wp\/%ec%84%9c%eb%b2%84%eb%a6%ac%ec%8a%a4-express-%ec%95%b1-%ea%b0%9c%eb%b0%9c%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%98%a4%ed%94%88-%ec%86%8c%ec%8a%a4-%ed%8c%a8%ed%82%a4%ec%a7%80-%ea%b3%b5%ea%b0%9c\/\" title=\"\uc11c\ubc84\ub9ac\uc2a4 Express \uc571 \uac1c\ubc1c\uc744 \uc704\ud55c \uc624\ud508 \uc18c\uc2a4 \ud328\ud0a4\uc9c0 \uacf5\uac1c\">[ more&#8230; ]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":10886,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[169],"tags":[656],"class_list":["post-10885","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-aws"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/10885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/comments?post=10885"}],"version-history":[{"count":1,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/10885\/revisions"}],"predecessor-version":[{"id":10887,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/posts\/10885\/revisions\/10887"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media\/10886"}],"wp:attachment":[{"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/media?parent=10885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/categories?post=10885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jirak.net\/wp\/wp-json\/wp\/v2\/tags?post=10885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}