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 などのコアモジュールが提供されています。

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

モジュール 概要
http HTTPサーバー、HTTPリクエスト
https HTTPSサーバー、HTTPSリクエスト
querystring URLクエリ文字列の解析、フォーマット
fs ファイルの読み書き
path ファイルとディレクトリのパス操作
stream ストリームの枠組みを提供
os OS関連のユーティリティメソッドを提供
( ホスト名 CPU数 メモリ量 など)
process Node.jsプロセスに関する情報を提供
( コマンドライン引数 環境変数 カレントディレクトリ など)
util format inspect などのユーティリティを提供
ストリームとは
ストリームの場合、データの読み/書き/変換を徐々に行うことができます。大きいデータを扱うケースなどで活用します(一度に全てのデータをメモリに読み込むとメモリ不足になるため)。

参考

【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。