サーバーサイドJavaScript node.js

サーバーサイドJavaScriptについては、全く知らない。
Javaでいいじゃん、と思ってしまうくらいだ。
サーバーサイドをJavaScriptで記述するメリットは何だぁ?という感じ。

私にとっては、その程度のサーバーサイドJavaScriptだが、本命はnode.jsというものらしい。
特徴は、「シングルスレッドベースの非同期処理環境」とのこと。
シングルスレッドで非同期処理を実行するにはどうするの?と思ったが、「イベントループ」と呼ばれるアーキテクチャを用いて、非同期処理を行うとのこと。

それでは、イベントループとは?

イベントループとは、「ノンブロッキングI/O」を利用して、複数のリクエストに対応する技術

とのこと。

それでは、ノンブロッキングI/Oとは・・・・。

ノンブロッキングI/Oとは、データの送受信(I/O)が完了を待たずに、他の処理を開始する処理方式

のことらしい。

つまり、

イベントループとは、イベントが発生したタイミングでコールバックで呼び出される仕組みのこと