{"id":643,"date":"2022-10-02T22:55:40","date_gmt":"2023-05-03T21:14:14","guid":{"rendered":"https:\/\/www.silicloud.com\/ja\/blog\/index.php\/2023\/11\/30\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/"},"modified":"2025-08-01T01:19:18","modified_gmt":"2025-07-31T16:19:18","slug":"node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/","title":{"rendered":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002"},"content":{"rendered":"<p>\u4eca\u65e5\u306f\u3001Node JS\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3068\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u306b\u3064\u3044\u3066\u898b\u3066\u3044\u304d\u307e\u3059\u3002\u4ee5\u524d\u306e\u6295\u7a3f\u3067\u3001Node JS\u306e\u57fa\u672c\u3001Node JS\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3001Node JS\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u3064\u3044\u3066\u8b70\u8ad6\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2>Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3002<\/h2>\n<p>Node JS\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u4f8b\u3092\u59cb\u3081\u308b\u524d\u306b\u3001Node JS\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u3064\u3044\u3066\u306e\u57fa\u672c\u7684\u306a\u77e5\u8b58\u3092\u6301\u3064\u3053\u3068\u304c\u91cd\u8981\u3067\u3059\u3002\u3053\u306e\u6295\u7a3f\u3067\u306f\u3001\u300cNode JS\u306e\u5185\u90e8\u52d5\u4f5c\u3001\u3069\u306e\u3088\u3046\u306a\u51e6\u7406\u30e2\u30c7\u30eb\u3092\u63a1\u7528\u3057\u3066\u3044\u308b\u304b\u3001Node JS\u304c\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u30e2\u30c7\u30eb\u3067\u4e26\u884c\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u3069\u306e\u3088\u3046\u306b\u51e6\u7406\u3059\u308b\u304b\u300d\u306a\u3069\u306b\u3064\u3044\u3066\u8a71\u3057\u5408\u3044\u307e\u3059\u3002<\/p>\n<h3>Node.js\u306e\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb<\/h3>\n<p>\u79c1\u305f\u3061\u304c\u3059\u3067\u306b\u8a71\u3057\u5408\u3063\u305f\u3088\u3046\u306b\u3001Node JS\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u300c\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u4f7f\u7528\u3057\u3066\u3001\u8907\u6570\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u51e6\u7406\u3057\u307e\u3059\u3002JSP\u3001Spring MVC\u3001ASP.NET\u3001HTML\u3001Ajax\u3001jQuery\u306a\u3069\u3001\u591a\u304f\u306e\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u6280\u8853\u304c\u3042\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3053\u308c\u3089\u306e\u6280\u8853\u306f\u3059\u3079\u3066\u3001\u300c\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u306e\u30ea\u30af\u30a8\u30b9\u30c8-\u30ec\u30b9\u30dd\u30f3\u30b9\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u4f7f\u7528\u3057\u3066\u8907\u6570\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\u79c1\u305f\u3061\u306f\u65e2\u306b\u300c\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u306e\u30ea\u30af\u30a8\u30b9\u30c8-\u30ec\u30b9\u30dd\u30f3\u30b9\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u77e5\u3063\u3066\u3044\u307e\u3059\u3002\u306a\u305c\u306a\u3089\u3001\u307b\u3068\u3093\u3069\u306e\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u304b\u3089\u3067\u3059\u3002\u3057\u304b\u3057\u3001Node JS\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306f\u306a\u305c\u7570\u306a\u308b\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u9078\u629e\u3057\u305f\u306e\u3067\u3057\u3087\u3046\u304b\u3002\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u3068\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u4e3b\u306a\u9055\u3044\u306f\u4f55\u3067\u3057\u3087\u3046\u304b\u3002\u3069\u306e\u30a6\u30a7\u30d6\u958b\u767a\u8005\u3082Node JS\u3092\u5b66\u3073\u3001\u7c21\u5358\u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305f\u3060\u3057\u3001Node JS\u306e\u5185\u90e8\u69cb\u9020\u3092\u7406\u89e3\u3057\u306a\u3044\u3068\u3001Node JS\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u8a08\u3068\u958b\u767a\u304c\u3046\u307e\u304f\u884c\u3048\u307e\u305b\u3093\u3002\u3057\u305f\u304c\u3063\u3066\u3001Node JS\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u3092\u958b\u59cb\u3059\u308b\u524d\u306b\u3001\u307e\u305aNode JS\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u5185\u90e8\u69cb\u9020\u3092\u5b66\u3073\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>Node JS\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0<\/h3>\n<p>Node.js\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306f\u3001\u8907\u6570\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306b\u300c\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u308c\u3067\u306f\u3001\u8907\u6570\u306e\u30b9\u30ec\u30c3\u30c9\u3092\u4f7f\u7528\u305b\u305a\u306b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u4e26\u884c\u3057\u3066\u51e6\u7406\u3059\u308b\u65b9\u6cd5\u306f\u5b9f\u969b\u306b\u306f\u3069\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3057\u3087\u3046\u304b\u3002\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f\u3053\u308c\u3089\u306e\u6982\u5ff5\u306b\u3064\u3044\u3066\u9806\u756a\u306b\u8aac\u660e\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u307e\u305a\u3001\u300c\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u3064\u3044\u3066\u8aac\u660e\u3059\u308b\u524d\u306b\u3001\u6709\u540d\u306a\u300c\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u306e\u30ea\u30af\u30a8\u30b9\u30c8-\u30ec\u30b9\u30dd\u30f3\u30b9\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u3064\u3044\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<h3>\u4f1d\u7d71\u7684\u306a\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u51e6\u7406\u30e2\u30c7\u30eb<\/h3>\n<p>\u4e00\u822c\u306b\u3001Node.js\u3092\u4f7f\u7528\u305b\u305a\u306b\u958b\u767a\u3055\u308c\u305f\u4efb\u610f\u306e\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u3001\u300c\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u578b\u306e\u30ea\u30af\u30a8\u30b9\u30c8-\u30ec\u30b9\u30dd\u30f3\u30b9\u300d\u30e2\u30c7\u30eb\u306b\u5f93\u3044\u307e\u3059\u3002\u5358\u7d14\u306b\u8a00\u3048\u3070\u3001\u3053\u306e\u30e2\u30c7\u30eb\u306f\u30ea\u30af\u30a8\u30b9\u30c8\/\u30ec\u30b9\u30dd\u30f3\u30b9\u30e2\u30c7\u30eb\u3068\u547c\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30b5\u30fc\u30d0\u30fc\u306b\u9001\u4fe1\u3057\u3001\u30b5\u30fc\u30d0\u30fc\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u57fa\u3065\u3044\u3066\u51e6\u7406\u3092\u884c\u3044\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u6e96\u5099\u3057\u3066\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u9001\u4fe1\u3057\u307e\u3059\u3002\u3053\u306e\u30e2\u30c7\u30eb\u3067\u306fHTTP\u30d7\u30ed\u30c8\u30b3\u30eb\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002HTTP\u306f\u72b6\u614b\u3092\u6301\u305f\u306a\u3044\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u3042\u308b\u305f\u3081\u3001\u3053\u306e\u30ea\u30af\u30a8\u30b9\u30c8\/\u30ec\u30b9\u30dd\u30f3\u30b9\u30e2\u30c7\u30eb\u3082\u72b6\u614b\u3092\u6301\u305f\u306a\u3044\u30e2\u30c7\u30eb\u3068\u547c\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3057\u305f\u304c\u3063\u3066\u3001\u3053\u308c\u3092\u30ea\u30af\u30a8\u30b9\u30c8\/\u30ec\u30b9\u30dd\u30f3\u30b9\u72b6\u614b\u306a\u3057\u30e2\u30c7\u30eb\u3068\u547c\u3076\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3053\u306e\u30e2\u30c7\u30eb\u3067\u306f\u8907\u6570\u306e\u30b9\u30ec\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u540c\u6642\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\u3053\u306e\u30e2\u30c7\u30eb\u306e\u5185\u90e8\u306b\u3064\u3044\u3066\u8aac\u660e\u3059\u308b\u524d\u306b\u3001\u4ee5\u4e0b\u306e\u56f3\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30ea\u30af\u30a8\u30b9\u30c8\/\u30ec\u30b9\u30dd\u30f3\u30b9\u30e2\u30c7\u30eb\u306e\u51e6\u7406\u624b\u9806\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>Clients Send request to Web Server.<\/li>\n<li>Web Server internally maintains a Limited Thread pool to provide services to the Client Requests.<\/li>\n<li>Web Server is in infinite Loop and waiting for Client Incoming Requests<\/li>\n<li>Web Server receives those requests.Web Server pickup one Client Request<br \/>\nPickup one Thread from Thread pool<br \/>\nAssign this Thread to Client Request<br \/>\nThis Thread will take care of reading Client request, processing Client request, performing any Blocking IO Operations (if required) and preparing Response<br \/>\nThis Thread sends prepared response back to the Web Server<br \/>\nWeb Server in-turn sends this response to the respective Client.<\/li>\n<\/ul>\n<p>\u30b5\u30fc\u30d0\u30fc\u306f\u7121\u9650\u30eb\u30fc\u30d7\u3067\u5f85\u6a5f\u3057\u3001\u4e0a\u8a18\u3067\u8ff0\u3079\u305f\u3059\u3079\u3066\u306e\u30b5\u30d6\u30b9\u30c6\u30c3\u30d7\u3092n\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3059\u3079\u3066\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3057\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u3053\u306e\u30e2\u30c7\u30eb\u3067\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u3054\u3068\u306b1\u3064\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002\u8907\u6570\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u30d6\u30ed\u30c3\u30ad\u30f3\u30b0IO\u64cd\u4f5c\u3092\u5fc5\u8981\u3068\u3059\u308b\u5834\u5408\u3001\u307b\u3068\u3093\u3069\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u81ea\u5206\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u6e96\u5099\u306b\u5fd9\u3057\u304f\u306a\u308a\u307e\u3059\u3002\u305d\u306e\u7d50\u679c\u3001\u6b8b\u308a\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u3088\u308a\u9577\u3044\u6642\u9593\u3092\u5f85\u305f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002\u56f3\u306e\u8aac\u660e\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>Here \u201cn\u201d number of Clients Send request to Web Server. Let us assume they are accessing our Web Application concurrently.<\/li>\n<li>Let us assume, our Clients are Client-1, Client-2\u2026 and Client-n.<\/li>\n<li>Web Server internally maintains a Limited Thread pool. Let us assume \u201cm\u201d number of Threads in Thread pool.<\/li>\n<li>Web Server receives those requests one by one.Web Server pickup Client-1 Request-1, Pickup one Thread T-1 from Thread pool and assign this request to Thread T-1\n<p>Thread T-1 reads Client-1 Request-1 and process it<br \/>\nClient-1 Request-1 does not require any Blocking IO Operations<br \/>\nThread T-1 does necessary steps and prepares Response-1 and send it back to the Server<br \/>\nWeb Server in-turn send this Response-1 to the Client-1<\/p>\n<p>Web Server pickup another Client-2 Request-2, Pickup one Thread T-2 from Thread pool and assign this request to Thread T-2<\/p>\n<p>Thread T-2 reads Client-1 Request-2 and process it<br \/>\nClient-1 Request-2 does not require any Blocking IO Operations<br \/>\nThread T-2 does necessary steps and prepares Response-2 and send it back to the Server<br \/>\nWeb Server in-turn send this Response-2 to the Client-2<\/p>\n<p>Web Server pickup another Client-n Request-n, Pickup one Thread T-n from Thread pool and assign this request to Thread T-n<\/p>\n<p>Thread T-n reads Client-n Request-n and process it<br \/>\nClient-n Request-n require heavy Blocking IO and computation Operations<br \/>\nThread T-n takes more time to interact with external systems, does necessary steps and prepares Response-n and send it back to the Server<br \/>\nWeb Server in-turn send this Response-n to the Client-nIf \u201cn\u201d is greater than \u201cm\u201d (Most of the times, its true), then server assigns Threads to Client Requests up to available Threads. After all m Threads are utilized, then remaining Client\u2019s Request should wait in the Queue until some of the busy Threads finish their Request-Processing Job and free to pick up next Request. If those threads are busy with Blocking IO Tasks (For example, interacting with Database, file system, JMS Queue, external services etc.) for longer time, then remaining clients should wait longer time.<\/li>\n<li>Once Threads are free in Thread Pool and available for next tasks, Server pickup those threads and assign them to remaining Client Requests.<\/li>\n<li>Each Thread utilizes many resources like memory etc. So before going those Threads from busy state to waiting state, they should release all acquired resources.<\/li>\n<\/ul>\n<p>\u8981\u6c42\/\u5fdc\u7b54\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u30e2\u30c7\u30eb\u306e\u30c7\u30e1\u30ea\u30c3\u30c8\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>Handling more and more concurrent client\u2019s request is bit tough.<\/li>\n<li>When Concurrent client requests increases, then it should use more and more threads, finally they eat up more memory.<\/li>\n<li>Sometimes, Client\u2019s Request should wait for available threads to process their requests.<\/li>\n<li>Wastes time in processing Blocking IO Tasks.<\/li>\n<\/ul>\n<h3>Node JS\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002<\/h3>\n<p>Node.js\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\/\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u3067\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u306a\u30e2\u30c7\u30eb\u306b\u5f93\u3044\u307e\u305b\u3093\u3002\u4ee3\u308f\u308a\u306b\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u3067\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u306b\u5f93\u3044\u307e\u3059\u3002Node.js\u306e\u51e6\u7406\u30e2\u30c7\u30eb\u306f\u3001\u4e3b\u306bJavaScript\u306e\u30a4\u30d9\u30f3\u30c8\u30d9\u30fc\u30b9\u30e2\u30c7\u30eb\u3068JavaScript\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u30e1\u30ab\u30cb\u30ba\u30e0\u3092\u57fa\u306b\u3057\u3066\u3044\u307e\u3059\u3002JavaScript\u306e\u30a4\u30d9\u30f3\u30c8\u3068\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u30e1\u30ab\u30cb\u30ba\u30e0\u304c\u3069\u306e\u3088\u3046\u306b\u52d5\u4f5c\u3059\u308b\u304b\u306b\u3064\u3044\u3066\u306e\u5341\u5206\u306a\u77e5\u8b58\u3092\u6301\u3063\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u77e5\u3089\u306a\u3044\u5834\u5408\u306f\u3001\u307e\u305a\u3053\u308c\u3089\u306e\u6295\u7a3f\u3084\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3092\u8aad\u3093\u3067\u3001\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u306b\u9032\u3080\u524d\u306b\u30a2\u30a4\u30c7\u30a2\u3092\u5f97\u3066\u304f\u3060\u3055\u3044\u3002Node.js\u306f\u3053\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u5f93\u3046\u305f\u3081\u3001\u975e\u5e38\u306b\u7c21\u5358\u306b\u3088\u308a\u591a\u304f\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u51e6\u7406\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30e2\u30c7\u30eb\u306e\u5185\u90e8\u306b\u3064\u3044\u3066\u8aac\u660e\u3059\u308b\u524d\u306b\u3001\u307e\u305a\u4e0b\u306e\u56f3\u3092\u898b\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u56f3\u3067\u306f\u3001Node.js\u306e\u5185\u90e8\u306e\u5404\u30dd\u30a4\u30f3\u30c8\u3092\u8aac\u660e\u3059\u308b\u305f\u3081\u306b\u8a2d\u8a08\u3057\u307e\u3057\u305f\u3002Node.js\u306e\u51e6\u7406\u30e2\u30c7\u30eb\u306e\u4e2d\u5fc3\u306f\u300c\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u300d\u3067\u3059\u3002\u3053\u308c\u3092\u7406\u89e3\u3059\u308c\u3070\u3001Node.js\u306e\u5185\u90e8\u3092\u7406\u89e3\u3059\u308b\u306e\u306f\u975e\u5e38\u306b\u7c21\u5358\u3067\u3059\u3002\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u306e\u51e6\u7406\u624b\u9806\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>Clients Send request to Web Server.<\/li>\n<li>Node JS Web Server internally maintains a Limited Thread pool to provide services to the Client Requests.<\/li>\n<li>Node JS Web Server receives those requests and places them into a Queue. It is known as \u201cEvent Queue\u201d.<\/li>\n<li>Node JS Web Server internally has a Component, known as \u201cEvent Loop\u201d. Why it got this name is that it uses indefinite loop to receive requests and process them. (See some Java Pseudo code to understand this below).<\/li>\n<li>Event Loop uses Single Thread only. It is main heart of Node JS Platform Processing Model.<\/li>\n<li>Even Loop checks any Client Request is placed in Event Queue. If no, then wait for incoming requests for indefinitely.<\/li>\n<li>If yes, then pick up one Client Request from Event QueueStarts process that Client Request<br \/>\nIf that Client Request Does Not requires any Blocking IO Operations, then process everything, prepare response and send it back to client.<br \/>\nIf that Client Request requires some Blocking IO Operations like interacting with Database, File System, External Services then it will follow different approach<\/p>\n<p>Checks Threads availability from Internal Thread Pool<br \/>\nPicks up one Thread and assign this Client Request to that thread.<br \/>\nThat Thread is responsible for taking that request, process it, perform Blocking IO operations, prepare response and send it back to the Event Loop<br \/>\nEvent Loop in turn, sends that Response to the respective Client.<\/li>\n<\/ul>\n<p>\u30c0\u30a4\u30a2\u30b0\u30e9\u30e0\u306e\u8aac\u660e\uff1a<\/p>\n<ul class=\"post-ul\">\n<li>Here \u201cn\u201d number of Clients Send request to Web Server. Let us assume they are accessing our Web Application concurrently.<\/li>\n<li>Let us assume, our Clients are Client-1, Client-2\u2026 and Client-n.<\/li>\n<li>Web Server internally maintains a Limited Thread pool. Let us assume \u201cm\u201d number of Threads in Thread pool.<\/li>\n<li>Node JS Web Server receives Client-1, Client-2\u2026 and Client-n Requests and places them in the Event Queue.<\/li>\n<li>Node JS Even Loop Picks up those requests one by one.Even Loop pickups Client-1 Request-1\n<p>Checks whether Client-1 Request-1 does require any Blocking IO Operations or takes more time for complex computation tasks.<br \/>\nAs this request is simple computation and Non-Blocking IO task, it does not require separate Thread to process it.<br \/>\nEvent Loop process all steps provided in that Client-1 Request-1 Operation (Here Operations means Java Script\u2019s functions) and prepares Response-1<br \/>\nEvent Loop sends Response-1 to Client-1<\/p>\n<p>Even Loop pickups Client-2 Request-2<\/p>\n<p>Checks whether Client-2 Request-2does require any Blocking IO Operations or takes more time for complex computation tasks.<br \/>\nAs this request is simple computation and Non-Blocking IO task, it does not require separate Thread to process it.<br \/>\nEvent Loop process all steps provided in that Client-2 Request-2 Operation and prepares Response-2<br \/>\nEvent Loop sends Response-2 to Client-2<\/p>\n<p>Even Loop pickups Client-n Request-n<\/p>\n<p>Checks whether Client-n Request-n does require any Blocking IO Operations or takes more time for complex computation tasks.<br \/>\nAs this request is very complex computation or Blocking IO task, Even Loop does not process this request.<br \/>\nEvent Loop picks up Thread T-1 from Internal Thread pool and assigns this Client-n Request-n to Thread T-1<br \/>\nThread T-1 reads and process Request-n, perform necessary Blocking IO or Computation task, and finally prepares Response-n<br \/>\nThread T-1 sends this Response-n to Event Loop<br \/>\nEvent Loop in turn, sends this Response-n to Client-n<\/li>\n<\/ul>\n<p>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u30011\u3064\u307e\u305f\u306f\u8907\u6570\u306eJavaScript\u95a2\u6570\u306e\u547c\u3073\u51fa\u3057\u3067\u3059\u3002JavaScript\u95a2\u6570\u306f\u4ed6\u306e\u95a2\u6570\u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u3082\u3042\u308a\u3001\u307e\u305f\u3001\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u306e\u7279\u6027\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002\u3057\u305f\u304c\u3063\u3066\u3001\u5404\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u306b\u306a\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\uff1a<\/p>\n<pre class=\"post-pre\"><code>function1(function2,callback1);\r\nfunction2(function3,callback2);\r\nfunction3(input-params);\r\n<\/code><\/pre>\n<p>\u65e5\u672c\u306e\u53cb\u9054\u306b\u30e1\u30fc\u30eb\u3092\u9001\u308b\u3002<\/p>\n<ul class=\"post-ul\">\n<li>If you don\u2019t understand how these functions are executed, then I feel you are not familiar with Java Script Functions and Callback mechanism.<\/li>\n<li>We should have some idea about Java Script functions and Callback mechanisms. Please go through some online tutorial before starting our Node JS Application development.<\/li>\n<\/ul>\n<h3>Node.js \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 &#8211; \u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u5229\u70b9<\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u3088\u308a\u591a\u304f\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u8981\u6c42\u3092\u51e6\u7406\u3059\u308b\u3053\u3068\u306f\u975e\u5e38\u306b\u7c21\u5358\u3067\u3059\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u79c1\u305f\u3061\u306eNode JS\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u3001\u307e\u3059\u307e\u3059\u591a\u304f\u306e\u540c\u6642\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306e\u8981\u6c42\u3092\u53d7\u3051\u53d6\u3063\u3066\u3082\u3001\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u304a\u304b\u3052\u3067\u3055\u3089\u306b\u591a\u304f\u306e\u30b9\u30ec\u30c3\u30c9\u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>Node JS\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30b9\u30ec\u30c3\u30c9\u3092\u5c11\u306a\u304f\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u30ea\u30bd\u30fc\u30b9\u3084\u30e1\u30e2\u30ea\u3082\u5c11\u306a\u304f\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/ol>\n<h3>\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u7591\u4f3c\u30b3\u30fc\u30c9<\/h3>\n<p>\u300c\u79c1\u306fJava\u306e\u958b\u767a\u8005\u3067\u3059\u306e\u3067\u3001\u300c\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u52d5\u4f5c\u65b9\u6cd5\u300d\u3092Java\u306e\u5c02\u9580\u7528\u8a9e\u3067\u8aac\u660e\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u7d14\u7c8b\u306aJava\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u7686\u3055\u3093\u306a\u3089\u7406\u89e3\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u3082\u3057\u7406\u89e3\u306b\u554f\u984c\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u30b3\u30e1\u30f3\u30c8\u3092\u6b8b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u300d<\/p>\n<pre class=\"post-pre\"><code>public class EventLoop {\r\nwhile(true){\r\n        \tif(Event Queue receives a JavaScript Function Call){\r\n        \t\tClientRequest request = EventQueue.getClientRequest();\r\n                            If(request requires BlokingIO or takes more computation time)\r\n                                    Assign request to Thread T1\r\n                            Else\r\n                                  Process and Prepare response\r\n                  }\r\n            }\r\n} \r\n<\/code><\/pre>\n<p>\u305d\u308c\u304cNode JS\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3068Node JS\u306e\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u306e\u3059\u3079\u3066\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u65e5\u306f\u3001Node JS\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3068\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u30e2\u30c7\u30eb\u306b\u3064\u3044\u3066\u898b\u3066\u3044\u304d\u307e\u3059\u3002\u4ee5\u524d\u306e\u6295\u7a3f\u3067\u3001Node JS\u306e\u57fa\u672c\u3001Node JS\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3001Node JS\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u3064\u3044\u3066\u8b70\u8ad6\u3057\u307e\u3057\u305f\u3002  [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[71,26],"class_list":["post-643","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-node-js","tag-26"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/ja\/blog\/node-js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002\" \/>\n<meta property=\"og:description\" content=\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/ja\/blog\/node-js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-03T21:14:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T16:19:18+00:00\" \/>\n<meta name=\"author\" content=\"\u685c, \u6625\u6a39\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u685c, \u6625\u6a39\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"25\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/\",\"name\":\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\"},\"datePublished\":\"2023-05-03T21:14:14+00:00\",\"dateModified\":\"2025-07-31T16:19:18+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/ff22288af1a5455571aff7586b0fb341\"},\"description\":\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/ja\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/ff22288af1a5455571aff7586b0fb341\",\"name\":\"\u685c, \u6625\u6a39\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cee48863f3d4fd7fef222498f3e71b82312aee42b7257a2dbde56394ca4e19de?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cee48863f3d4fd7fef222498f3e71b82312aee42b7257a2dbde56394ca4e19de?s=96&d=mm&r=g\",\"caption\":\"\u685c, \u6625\u6a39\"},\"url\":\"https:\/\/www.silicloud.com\/ja\/blog\/author\/sakuraharuki\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002 - Blog - Silicon Cloud","description":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/ja\/blog\/node-js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\/","og_locale":"ja_JP","og_type":"article","og_title":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002","og_description":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","og_url":"https:\/\/www.silicloud.com\/ja\/blog\/node-js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-05-03T21:14:14+00:00","article_modified_time":"2025-07-31T16:19:18+00:00","author":"\u685c, \u6625\u6a39","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"\u685c, \u6625\u6a39","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"25\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/","url":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/","name":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website"},"datePublished":"2023-05-03T21:14:14+00:00","dateModified":"2025-07-31T16:19:18+00:00","author":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/ff22288af1a5455571aff7586b0fb341"},"description":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3092\u5206\u304b\u308a\u3084\u3059\u304f\u89e3\u8aac\u3002\u5b9f\u8df5\u7684\u306a\u4f8b\u3068\u30b3\u30fc\u30c9\u3001\u6ce8\u610f\u70b9\u3092\u542b\u3081\u3066\u521d\u5fc3\u8005\u306b\u3082\u7406\u89e3\u3067\u304d\u308b\u3088\u3046\u8aac\u660e\u3057\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/ja\/blog\/"},{"@type":"ListItem","position":2,"name":"Node.js\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc\u306f\u3001\u30b7\u30f3\u30b0\u30eb\u30b9\u30ec\u30c3\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30eb\u30fc\u30d7\u3067\u3059\u3002"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#website","url":"https:\/\/www.silicloud.com\/ja\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/ff22288af1a5455571aff7586b0fb341","name":"\u685c, \u6625\u6a39","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cee48863f3d4fd7fef222498f3e71b82312aee42b7257a2dbde56394ca4e19de?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cee48863f3d4fd7fef222498f3e71b82312aee42b7257a2dbde56394ca4e19de?s=96&d=mm&r=g","caption":"\u685c, \u6625\u6a39"},"url":"https:\/\/www.silicloud.com\/ja\/blog\/author\/sakuraharuki\/"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.silicloud.com\/ja\/blog\/node-js%e3%81%ae%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%83%bc%e3%81%af%e3%80%81%e3%82%b7%e3%83%b3%e3%82%b0%e3%83%ab%e3%82%b9%e3%83%ac%e3%83%83%e3%83%89%e3%81%ae%e3%82%a4\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/comments?post=643"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/643\/revisions"}],"predecessor-version":[{"id":43201,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/posts\/643\/revisions\/43201"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/media?parent=643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/categories?post=643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/ja\/blog\/wp-json\/wp\/v2\/tags?post=643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}