『02_Node.jsを触ってみる』

Node.jsの対話環境について

 REPL(Read-eval-print loop)が用意されているので実際に使っていきます。

REPLの起動

 $ node

上記のコマンドを実行するとコードを入力できる状態になります。

 

文字の出力

<コマンド>
 > console.log('Hello World');
<出力結果>

 Hello World
 undefined

 

変数に値を設定

<コマンド>
 > a = 'a';
<出力結果>

 'a'

<コマンド>
 > b = 'b';
<出力結果>

 'b'

 

結合して出力

<コマンド>
> a + b;
<出力結果>

  'ab'

 

関数の定義

<コマンド>
 > function add(a, b){
 ... return a + b
 ... };
<出力結果>

 undefined

<コマンド>
 > add(a, b);
<出力結果>

  'ab'

「...」が表示されている間は入力が継続しています。

入力を取り消す際には「Ctrl + C」で取り消すことができます。

 

Webアプリケーションの実行

最後にNode.jsのみを利用してWebページを表示します。

<コマンド>

 > http.createServer(function (req, res) { //httpモジュールの読み込み

 ... //レスポンスとヘッダーの設定
 ... res.writeHead(200, {'Content-Type':'text/plain'}); 

 ... //表示文字列の設定
 ... res.end('Hello World');
 ... }).listen(8080, 'localhost');

<実行結果>

f:id:nemuneko-1008:20170419162814p:plain

 

Node.jsは自身でWebサーバーモジュールを持っているのでWebサーバーを用意することなくWebアプリケーションを作成することができます。

次回はまだ決まっていませんが、Node.js関係でまた記事を書きたいとます。

 

『01_Node.jsとは』

Node.jsに少しだけ触れる機会があったので、これから学習していきたいと思います。

 

Node.jsの特徴

・サーバサイドのJavaScript

サーバサイドでもJavaScriptを使うことで言語を統一することができる。それにより開発効率を向上させることができる。

・ノンブロッキングI/O

データの送受信を待たずに可能なところまで処理を進めていくため、ApacheなどのWebサーバと比較すると同規模でも大量の処理をこなすことができる。

・イベントループ

受信したイベントに対応する処理を行い、無限ループを利用することでイベントの監視を行う。

 

Node.jsはどんなことに向いているのか

・ 向いていること

  1. 処理が短時間でアクセスが大量に発生するチャットやゲームといったウェブベースのアプリケーションの開発に向いている。

・向いていないこと

  1.  CPU負荷の高い処理を行わせるとイベントループがうまく回らない状態になってしまうためあまり向いていない。
  2. 大規模な開発になると変数定義を曖昧にすることもできるので不具合が起こりやすくなってしまう可能性がある。

Node.jsの導入

 Windows

今回はインストーラを利用してWindowsにNode.jsを導入します。

https://nodejs.org/

 ↑インストーラはここからダウンロードできます。

 

 Nextをクリック

f:id:nemuneko-1008:20170216084812p:plain

 

同意にチェックをつけてNextをクリック

f:id:nemuneko-1008:20170216084920p:plain

 

 任意の場所を設定してNextをクリック

f:id:nemuneko-1008:20170216085356p:plain

 

インストールするものを選択してNextをクリック

(今回はデフォルトで導入します)

f:id:nemuneko-1008:20170216085421p:plain

 

Installをクリック

f:id:nemuneko-1008:20170216085605p:plain

 

Finishをクリック

f:id:nemuneko-1008:20170216090101p:plain

 

最後にコマンドプロンプトを起動して下記のコマンドを入力

バージョンが正しく表示されれば導入完了です。

f:id:nemuneko-1008:20170216090251p:plain

 

 

 次回はNode.jsでなにかしていきたいと思います。

はじまり

気が向いたときに更新していく予定。

 

・学習記録

・勉強会レポート

 

上記について書くつもりです。