Node.js のいろは

Blog Single

最近めっきり寒くなってきましたね、皆さんいかがお過ごしでしょうか。
今回記念すべき初投稿になります、佐野です。以後お見知り置きを。
さて、初投稿に当たり何を書こうか考えていたのですが、最近仕事で Node.js を使用する機会があり、とりあえず使ってはいたもののあんまり理解して使用していなかった節があったので、どうせならということで勉強がてらまとめていこうかなと思います。

Node.js とは

さてみなさん、 Node.js とは一体何者なんでしょうか?
ざっくりと一言で言うと、Node.js とは サーバーサイドの JavaScript 実行環境 です。通常 JavaScript はフロントエンドで使用する言語ですが、Node.js はサーバーサイドで JavaScript を実行します。

Node.js には主に以下の特徴があります。

ノンブロッキング I/O モデル採用

ノンブロッキング I/O モデルを採用しているため、I/O の結果を待たずに 他の処理を並列で実行 できる

シングルスレッド

メモリ消費が少なく 、切り替えが少ないので速い

JavaScript エンジンが Google の V8

JavaScript のエンジンである、Google の「V8」を採用しており、 処理速度が速い

文字だけ見ていてもつまらないのでとりあえず動かしてみましょう。
習うより慣れろです。

nvm を導入

Node.js をインストールする前に、まず Node.js のバージョンを管理する nvm ( Node Version Manager ) をインストールしましょう。ここに従ってインストールします。ちなみに Mac 環境で説明していきます。

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

さらに、以下のコマンドで .bash_profile に必要な設定を加えます。

$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

上記の設定を反映させるために、以下のコマンドを実行します。

$ source ~/.bash_profile

さて、バージョンを確認してみましょう。

$ nvm --version
0.33.11

無事インストールできているようですね。

Node.js を導入

いよいよ Node.js をインストールします。
まずインストール可能な Node.js のバージョンを見てみます。

$ nvm ls-remote
     v0.1.14
     v0.1.15
     v0.1.16
     v0.1.17

    ...

    v10.12.0
    v10.13.0 (Latest LTS: Dubnium)
     v11.0.0
     v11.1.0

今回は最新の LTS ( Long Term Support ) をインストールします。
LTS とは、公式ページ で推奨している安定稼働版的な感じです。
以下のコマンド で Node.js をインストールします。

$ nvm install --lts
$ nvm use --lts

インストールが終了したら確認しましょう。

$ node --version
v10.13.0

無事インストールできました。

Node.js を使ってみる ①

軽く動作を見てみることにします。

ターミナル上で js を実行

以下コマンドを入力することで、ブラウザのコンソールと同じような REPL が開きます。

$ node
> var test = 'Node.js 導入して実行してみたよ'; test;
'Node.js 導入して実行してみたよ'

js file を作成し、それを実行

以下のような test.js を作成。

console.log('Node.js 導入して実行してみたよ');

これをターミナルにて実行します。

$ node test.js
Node.js 導入して実行してみたよ

無事に実行できました。

Node.js を使ってみる ②

公式サイトにあるサンプルを使用して、web サーバを立ててみます。
以下のような testServer.js というファイルを作成して、そのファイルを実行してみましょう。

var http = require('http');

http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');
$ node testServer.js
Server running at http://127.0.0.1:1337/

これだけで web サーバが立ち上がるので、ブラウザで 127.0.0.1:1337 にアクセスして確認してみます。

おおお…。( 感動 )

まとめ

個人的に、最初は結構難しそうな印象でしたが、導入も実行方法もとても簡単でした。
簡単にサーバを立てられるのが便利で良いですね。
今後これを基にして何か作れたらいいなあと漠然と考えています ( 無計画 ) 。
何作ろうかなー。

参考

Posted by masafumi.sano
ゲームと音楽とお酒が好き。 あと数学と物理と宇宙も好きな元大学院生。 通称 : イケメン

Other Posts: