Node.jsの概要(特徴、バージョン、主なコアモジュール)

AWS Lambdaが Node.js(v8.10) をサポートし始めてから、Node.jsを利用する機会が増えてきました。ここでは、Node.jsの概要について取り上げます。

目次

特徴

  • Google V8 JavaScript Engine というランタイムエンジンを利用してJavaScriptを実行できます。
  • PHPなどは ApacheNginxなどのWebサーバーを別に必要としますが、WebサーバーもNode.jsで作ることができます。
  • シングルスレッドイベントドリブンを採用しています。
    • シングルスレッドで複数接続に対応します。
    • マルチスレッドに比べて、CPUリソースを必要としません。
  • ノンブロッキングI/Oを採用しています。
    • ハードディスクの入出力で待ちが発生せず、処理内容にもよりますが、たくさんの接続を同時に処理することが可能です。

バージョン

コアモジュール

path http などのコアモジュールが提供されています。

個人的に利用機会がありそうなモジュールを取り上げます。

モジュール概要
httpHTTPサーバー、HTTPリクエスト
httpsHTTPSサーバー、HTTPSリクエスト
querystringURLクエリ文字列の解析、フォーマット
fsファイルの読み書き
pathファイルとディレクトリのパス操作
streamストリームの枠組みを提供
osOS関連のユーティリティメソッドを提供
( ホスト名 CPU数 メモリ量 など)
processNode.jsプロセスに関する情報を提供
( コマンドライン引数 環境変数 カレントディレクトリ など)
utilformat inspect などのユーティリティを提供
ストリームとは

ストリームの場合、データの読み/書き/変換を徐々に行うことができます。大きいデータを扱うケースなどで活用します(一度に全てのデータをメモリに読み込むとメモリ不足になるため)。

参考

よかったらシェアしてね!
目次