Knockout.jsのViewModel間でデータのやりとりを行う方法

www.wrapcode.com

Knockout.jsで別々のViewModel間でデータのやりとりを行う方法がわからなかったので
調べた所、上記のサイトに各種方法が書いてあった。

"ko.subscribable"というfunctionがnativeであるけれど詳しいドキュメントは
ないらしい。
このfunctionを使う方法もあるが、"knockout-postbox"という拡張を使うと
もう少しシンプルに書ける。

GitHub - rniemeyer/knockout-postbox: A small library that uses Knockout's native pub/sub capabilities to facilitate decoupled communication between separate view models or components.

サンプルとして記載されていたコードが動かなかった(jsfiddleでの外部コード読み込みが"https"のみ対応となったため)ので自分でCodePenに書いてみた。

See the Pen knockout.js multiple view model 2(Pub-sub) by tamoriinu (@yokoyama) on CodePen.

これJadeでどう書くの?という時に使えるサービス

Jadeで少し複雑な箇所に出くわした時、記法の調べが簡単につかない時は
一度HTMLで書いて以下のWebサービスでJadeに変換すると速い。

HTML 2 Jade - a converter for HTML

ajaxでコンテンツを読み込んでから要素の高さを揃える

webdrawer.net

上記のサイトを参考にして、書き方をちょっとだけ変えたのが以下。
いままでコールバック地獄、という程のものに出会わなかったけれど、今後は非同期処理を気にする必要があるパターンに色々でくわしそうなので予習しておいてます。

http://tamoriinu.sakura.ne.jp/js_deferred/pattern5/

crontabでnode.jsを定期実行する

node.jsはcron用のモジュールがあるが、今回はCentOSのcrontabを使用する。

node.jsのいろいろなモジュール14 – node-cronでcron的にプログラムを実行する
http://dev.classmethod.jp/server-side/cron/

さくらVPSでcronを設定する(CentOS
http://okuzawats.com/crontab-20151218

モジュールのパスが通らずエラーになる場合は、crontab内に
環境変数としてパスを記載する必要がある。