【Node.js/AngularJS】でアプリケーションを開発する。

下記ページがとてもわかり易い。
上から順に真似していけば雰囲気がすぐにつかめる。
※Angular側の知識がある程度無いと辛いかもしれません。

http://scotch.io/tutorials/javascript/creating-a-single-page-todo-app-with-node-and-angular

これは本当に素晴らしいエントリーです。

 

【Node.js】Node.jsのインストール手順まとめ。

1, まずはNode.jsのバージョン管理を行ってくれる「nvm」をインストールする。

$ git clone git://github.com/creationix/nvm.git ~/.nvm

2, 次にnvmコマンドが使えるようにパスを通す。

$ source ~/.nvm/nvm.sh

3, nvmコマンドの動作確認を行う。「nvm help」と打ってエラーがでなければOK。

$ nvm help

4, nvmコマンドでNode.jsをインストール。

「nvm ls-remote」を実行すると、ダウンロード可能なNode.jsのバージョンリストを取得することが出来る。

$ nvm ls-remote

リスト表示された中から好きなバージョンを選んでインストールすれば良い。
ちなみにNode.jsは偶数バージョンが安定版、奇数バージョンが開発版となっている。
エントリー作成時では「v0.10.28」が安定版の最新だったので今回はそれをインストールする。

$ nvm install 0.10.28

ゲージが100%になればインストール完了。下記コマンドを実行してバージョンが表示されれば問題なく完了。

$ node -v
v0.10.28

5, nvmの設定をする。

nvmコマンドはターミナルを再起動してしまうと、同様の手順を踏まないと使えないため、自動で使えるような設定を行う。

まずはデフォルトのNode.jsのバージョンを指定する。

$ nvm alias default v0.10.28

「~/.bash_profile」を編集して、ターミナル起動時にnvmコマンドが適用されるように設定する。

$ vim ~/.bash_profile

ファイル内のどこでもいいので下記を追記。

if [[ -s ~/.nvm/nvm.sh ]];
    then source ~/.nvm/nvm.sh
fi

これでひと通りのインストールと設定は完了。
あとはプロセスをデーモンとして動作し続けるforeverとかを入れたりするとよりベター。

 

【CentOS】rmコマンドでワイルドカード「*」ではドットファイルは対象にならない。

ので隠しファイルを削除することが出来ない。
隠しファイルを削除したい場合は下記のように指定すればOK。

rm -rf tafgetDir/.*

 

【AngularJS】AngularJSのモデルとサーバーを同期させる事ができるAngularFire。

AngularJSはモデルとビューの2wayデータバインディングが強みだけど、AngularFireはそれをサーバーサイドまで拡張して、
いうなれば3wayデータバインディングを可能にしてくれるとのこと。

https://www.firebase.com/docs/web/bindings/angular/

AngularsNinjaさんでも取り上げているしこれは面白いことになりそう。

http://angularjsninja.com/blog/2013/09/01/angularfire-realtime-chat-app/

今度試してみよう。

 

【AngularJS】ngOptionsの書き方メモ。

あんまり使わないので忘れるからメモ。

オブジェクトを渡す方法と配列を渡す方法があるんだけど、とりあえず今回はオブジェクトのほう。

<select ng-options="key for (key, value) in {'ばりゅ?1': 'value1', 'ばりゅ?2': 'value2', 'ばりゅ?3': 'value3'}"></select>

これでkeyがoptionの値になりvalueがvalue=””の中に入ってくれる。

まぁ更なる詳細は公式みたほうがいいあるね。

https://docs.angularjs.org/api/ng/directive/select

 

【AngularJS】ng-appを複数共存させる方法。

まず大前提として。

1, ngAppディレクティブの入れ子は出来ません。
2, angularは一番はじめに見つけたngApp以外は自動で起動してくれません。

というのを踏まえると入れ子は厳禁、そして2つ目以降のアプリケーションは自分で起動する必要がある。
のでこうする。

// jQueryが読み込まれていると仮定
angular.element(document).ready(function() {
    angular.bootstrap($('.targetElement'), ['myApp']);
});

angular.bootstrap()の第1引数にはngApp属性が指定されているエレメントを渡す。
※この例ではjQueryが読み込まれていることを前提として$関数にセレクタを渡し、エレメントを参照させている。
そして第2引数に起動したいアプリケーション名(今回はmyAppと仮定)を指定すれば良い。

これで複数のアプリケーションを起動させることが出来る。

 

【AngularJS】orderByフィルターに複数のフィールドを指定する。

引数に配列を渡せばOK。

<ul>
    <li ng-repeat="item in lists | orderBy: ['name', 'number']"></li>
</ul>

的な感じ。

 

【CentOS】Crontabの設定メモ。

いつも調べてしまうけれど、下記ファイルにかなりわかりやすい説明が書いてあることを知ったのでメモ。

/etc/crontab

vimなどで閲覧すると下記のようになっている。

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

これは相当わかりやすいね。覚えておくと幸せになれそう。