Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8879

Node.jsについて簡単に解説(学習まとめ)

$
0
0

はじめに

今更ながら、今回は「Node.js」について解説していこうと思います。
それでは早速、お付き合いのほど、よろしくお願いいたします。

本文

「Node.js」とは、サーバーサイドでJavaScriptを実行する環境(’エンジン’とでもいうべきもの)で、内部にChromeのJavaScript実行エンジンである「V8」を持ちます。
ApacheやNginx上で動作します。(※Node.js単体でも動作します)(※Node.jsでWebサーバーを作ることもできます)。
「ノンブロックIO」と「イベントループ」という二つの仕組みで大量のアクセスを捌くことができます。したがってリアルタイムで高速に動作します。
「ノンブロックIO」とは、ハードディスク(≒データベース)などへのアクセスでブロック(処理が完了するまでの待機動作)を発生させないということです。したがって、データの取り扱いは非同期に行われます。
「イベントループ」とは、外部からのアクセスをイベントとみなして、そのイベントを順次処理していく(発生順にキューに格納してから、これを順番に取り出して処理していきます)。
Node.js本体は、このイベントループをシングルプロセス&シングルスレッド上で実現しており、決められたポートの背後で、外部からのアクセス(=イベント)を待ち受けていて、実際にイベントが発生するとこのループの中でイベントを”ガチャガチャ”と処理していく流れとなります。
Node.js本体は動作が軽く、一度に大量のアクセスを捌けるため、スマホアプリやWebサービスに使われます(これらの土台として活躍してくれる)。
クライアントサイドでの実行ではセキュリティの都合上、ファイルシステムなどのOSの一部の機能にアクセスできませんが、サーバーサイドのJavaScriptであるNode.jsでは、これが可能となります。
ちなみに、クライアントサイド(=ブラウザ上)と比較すると、多少コードの書き方に違いがあります。

おわりに

今回はNode.jsについて簡単に解説してみました。
いかがでしたでしょうか?
また懲りずに記事を書いていこうと思います。
それではまた。


Viewing all articles
Browse latest Browse all 8879

Trending Articles