へべれけ

ゲームとDTMと本と煙草と酒と泪と男と女

Node.jsのインストールと"Hello world"を出すまで

Node.jsとは

サーバー側で動くJavaScript
もともとJavaScriptってやつはクライアント側、つまり簡単に言えばPC側で動くプログラム言語だけど、それをサーバ側で動くようしたシロモノがNode.jsというもの。

特徴としては大量の処理に対応するために、ノンブロッキングI/Oという機能があり、データベースへのアクセスとWebページの表示を別々におこなってくれて、ストレスなくページの表示ができる。そのためソーシャルゲーム界隈で使われているとか。
あとはチャットなどのリアルタイムに動的な挙動をさせるのに用いられている。

そもそもjavaJavaScriptって違うものなの?

全然違う。ボクシングとキックボクシング並に違う。
プロレスとアマレス並に違う。メロンパンとメロンソーダ並に違う。
もし貴方が営業で「JavaJavaScriptとか名前似てるし同じようなもんだろ」と案件引っ張ってきたら、エンジニアで殺されるので気をつけよう☆
具体的なことは省くが、色々根っこから違っている。文法もそうだが、概念的なことを言えばメインの活躍場所はJavaはサーバ側、JavaScriptはPC側、といった具合。

JavaScriptの名前が似ているのは、開発者がJavaの人気にあやかったとか。お前ほんとふざけんなよ
で、今回導入するNode.jsは上に書いたように本来はPC側で動かすJavaScriptをサーバで動かすようにしたもの。

導入手順

では早速Node.jsをインストールさせよう。
今回はNode.jsをインストールさせて、
環境はLinux Amazon EC2
ユーザは自分が普段使っている一般ユーザで。(rootだとパスがnode,nvmコマンドに通らない)

Node.jsを使うためのアレやソレをインストールするためにgitを使う必要がある。
無い場合はインストール。

$ yum install git

インストールしたgitでgithubリポジトリから頂戴する

$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh

ちゃんとインストールされているか確認。nvmコマンドで以下のように出れば成功

$ nvm help
Node Version Manager
Usage:
nvm help Show this message
以下省略

nvmコマンドからNode.jsをインストールする。今回は安定版と言われているバージョン0.12.7をインストール

$ nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
・
・
・
v0.12.5
v0.12.6
v0.12.7

$ nvm install 0.12.7
########################################################################
Now using node v0.12.7

ちゃんとインストールできたか確認

$ node -v
v0.12.7

デフォルトで使用するNode.jsのバージョンを指定する。

$ nvm alias default v0.12.7
default -> v0.12.7

パスが通っていないので通す

$ vim ~/.bash_profile

※末尾に↓を書き加える
if [[ -s ~/.nvm/nvm.sh ]];
 then source ~/.nvm/nvm.sh
fi

これでターミナルを再起動してnodeコマンドが使えたら成功。

コマンドライン上で"Hello world"を表示させよう。

nodeコマンドを使用して、main.jsを通して、hello.jsに記述された"Hello World"をコマンドに出力する。
そのため、main.jsとHello.jsの2つのjsファイルを作成する必要がある。
このファイルは、nodeコマンドで呼び出すためのファイルになる。

$ vim main.js
var hello = require('./hello.js');
console.log(hello.sayHello());


次にhello.jsを作成する。

$ vim hello.js
exports.sayHello = function(){ return "Hello World !" }
<||

コマンドラインに"Hello world"を表示させよう
>||
$ node main.js
Hello World !


Node.jsでwebサーバ"Hello world"
ポートは10000番を使う。

$ vim example.js

var http = require('http');

http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World\n');
}).listen(10000); ←ここにポート番号を指定する


console.log('Server running at http://1270.0.0.1:10000/'); ←ここにサーバーのグローバルIPとポートを指定してURLとする

ブラウザからアクセスしてみる。
http://127.0.01:10000
これで"'Hello World"と表示されていれば成功。

文法とか書き方についてはまた今度にする。なぜならわからないから。
今はRubyの勉強だけで忙しいんじゃい。

サーバサイドJavaScript Node.js入門 (アスキー書籍)

サーバサイドJavaScript Node.js入門 (アスキー書籍)