1
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-11-02

はじめに

今更ながら、今回は「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について簡単に解説してみました。
いかがでしたでしょうか?
また懲りずに記事を書いていこうと思います。
それではまた。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0