Node - yasushinzato/study GitHub Wiki

Node.js

Nodeインストール

Nodeのバージョン管理をするnodebrewをインストールする。

  • curl -L git.io/nodebrew | perl - setup を実行 サーバ上から取得したプログラムをperlで実行する
  • 表示されるパスを追加する。 echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.profile
  • プロファイルの変更を読み込むコマンド source ~/.profile
  • nodebrew でバージョンや使用方法を確認
  • バージョンを指定してインストール nodebrew install-binary v8.9.4 nodebrew use v8.9.4 node --version

使用方法

node だけで実行するとREPLのコンソール画面になる。終了する場合はCtrl + C を2回やる。 ★nodeのprocess.argv[]の0番はnodeコマンドのファイルパスが、1番は実行しているプログラムのファイルパスが入る。 ★const number = process.argv[2] || 0; || 0 は、引数が0やNullやundefinedの場合は0を代入する。 ★条件付き論理和(||) は、選択的代入に利用できる。

  • node app.js 100 とかで実行できる。

ライブラリ

function pow(x,y) {
	var result = x;
	for (var i = 1; i < y; i++) {
		result = result * x;
	}
	return result;
}

この関数だと、pow(2,-1);で2が返される。 2の-1乗は本来なら0,5になる。 JavaScriptのライブラリにMathというライブラリが用意されている。 Math.pow(2,-1);で0.5が返される。

npm

npm はNode.jsのためのパッケージマネージャー npm -g lsでパッケージの依存関係を表すツリーが表示される。 -g はグローバルインストールを意味する。 グローバルはNode.js自体へのインストール。 ローカルインストールは現在のディレクトリへのインストール

パッケージを指定して、インストールする。 ローカルフォルダに移動してからnpm install requestとかでrequestパッケージをインストールすると ローカルフォルダにパッケージに必要なものがインストールされる。

npmパッケージの作成

フォルダーに移動して、npm initを実行してチュートリアルを起動。

  • デフォルトではフォルダの名前が入るみたいなので、パッケージの名前はそのままEnter
  • Versionもそのまま1にする。
  • パッケージ説明文
  • ライブラリを読み込んだときの最初の実行ファイル。index.jsが初期設定.
  • テストコマンド
  • Gitリポジトリの公開。不要なら空欄でEnter
  • npm登録時の検索ワード
  • npm著者の名前
  • ライブラリのライセンス。デフォルトはISC ★ISCはソフトウェアの使用、コピー、改変、配布を許可する。

パッケージを作成したら、npm install ../hogehoigeでローカルファイルを指定してインストールする npm uninstall hogehogeでアンインストールできる。 パッケージのモジュール公開で修正があった場合、アンインストールしてからまたインストールすること。

以下はパッケージのコード例

'use strict'
function add(numbers) {
    let result = 0;
    // 配列で渡された引数の数字をすべて合計する。
    for (let num of numbers) {
        result = result + num;
    }
    return result;
}
function multi(numbers) {
    let result = 1;
    // 配列で渡された引数の数字をすべて掛け合せる。
    for (let num of numbers) {
        result = result * num;
    }
    return result;
}

// モジュールとして公開
module.exports = {
    add : add,
    multi : multi
};
'use strict'
const s = require('npm_sum');
console.log(s.add([1, 2, 3, 4]));
console.log(s.multi([1, 2, 3, 4]));

処理時間を調査するプロファイル作成ツール「nodegrind」

「nodegrind」というプロファイルツールを使用.以下のコマンドでインストール

npm update -g [email protected]
sudo apt-get install build-essential python
npm install -g nodegrind

npmの更新 ツールのインストール 10分程度かかる。 nodegrindのインストール

ツールを使うときは以下のコマンドでjsファイルを実行する nodegrind -o hoge_nodegrind.cpuprofile hogehoge.js そうすると、「hoge_nodegrind.cpuprofile」が作成されるので、Chromeのデベロッパーツールを起動して、 [More Tools]を選択し、[JavaScript Profiler]をクリック「Record Java Script CPU Profile」画面が表示されたら、[Load]をクリックしてファイルを読み込む

補足:cpuprofile拡張子のファイルはgitgnoreファイルでGitHubに管理しないようになっている。