Node.js

Node.jsの非同期処理を実現するためのイベントキューとイベントループについて

Node.jsの非同期イベントを実現するためには,イベントループとイベントキューが必要不可欠です.この2つを簡単に説明すると,イベントループとは複数のイベントを待機させるための仕組みのことを指します.イベントキューとはイベントが発生した場合,そのイベントを待ち行列として格納しておくデータ構造です.これらを使用してノンブロッキングI/Oを効率よく実行させます.詳しくみていきましょう.

続きを読む

Node.jsのテンプレートエンジン「 EJS 」を使用してページを生成する

この記事ではNode.jsのテンプレートエンジン「EJS」を使用して,Webページを生成します.テンプレートエンジンとは,Webページを構成するHTMLを生成するための型のようなものです.HTMLだけでは毎回同じページしか表示できません.HTMLに独自機能を組み込んだテンプレートエンジンを使用することで,出力をNode.jsで書き換えることができる動的なWebページを作成できます.今回使用するテンプレートエンジンはjavascriptで利用される「EJS」を使用します.それでは解説していきます.

続きを読む

Expressで用いるプロセスマネージャー Forever & PM2

Node.jsの実行環境やクラスタリングの他にもう一つ押さえとかなければならないことがあります.それはプロセスマネージャーです.Node.jsを起動するとフォアグラウンドプロセスとなり,プロセスが異常終了した場合,アプリケーションが落ちたままとなってしまいます.そこでプロセスマネージャーを使用して,プロセスの監視を常駐で行うバックグランドプロセスとして実行することで,異常終了時に再起動してくれます.これをNode.jsのデーモン化といいます.この記事ではnodeアプリのデーモン化を行うための2つの方法を解説します.

続きを読む

Node.jsにおけるCPUを有効活用するクラスタリング

Node.jsはシングルプロセスがシングルスレッドで実行されます.基本的にスレッドは一つのCPUで動作します.もしサーバーに4コアCPUが備わっている場合,シングルスレッドでは3つのCPUコアが使われないことになってしまいます.これはCPUを有効活用できていなく,多数のリクエストが来た場合でもCPUをフル活用できません.本記事はNode.jsでマルチプロセス化する方法を解説していきます.

続きを読む

サーバーを構築するNode.js シングルスレッド&シングルプロセス

Node.jsはスケーラブルなWebアプリケーションを作成するために設計された非同期イベント駆動型のJavaScript環境です.主にはサーバーを構築することが多い言語です.

Node.jsでサーバーを構築するのはかなり簡単です.わずか数行でサーバーを作成できます.さらにNode.jsのフレームワーク「Express」を使用するとさらに楽にサーバーを構築できます.

続きを読む

Node.jsの実行環境の基本は抑えとけ!

Node.jsとはサーバーサイドのjavascript実行環境のことです.Node.jsには非同期型イベント駆動型の2つの特徴があります.これらの特徴はサーバーに複数の接続があった場合に,かく各接続ごとに処理を実行できます.

混同されがちですが,javascriptと言っても,フロントエンドで使用する物とは異なります.フロントエンドのjavascriptはWebページのアニメーションやデザインを作成するための言語です.javascriptのjQuery 等もフロントエンドに当たります.

続きを読む

ブラウザからmongoDBのデータベースにデータを追加・表示する(Express Node.js)

前回の記事では「mongoose」を使ってデータベースからデータを取得し、ブラウザに表示させましたが、今回はnpm の方で MongoDB が公式で出しているモジュールがあったのでそちらを使用します。

今回は接続から、取得、表示、追加の順に解説します。「/form」のフォームから追加するデータを入力し、「/page_a」で追加したデータの一覧を表示させます。完成イメージは以下の通りです。

続きを読む