そんなものも無い
— via ssig33.com
そんなものも無い
— via ssig33.com
原因としてはjavaScriptの場合起きるようです。
which node ↓ 出てきたnodeのフルパスをコピー ↓ ln -s "ここにペースト" ~/bin/node mkdir /usr/local/bin ln -s "ここにペースト" /usr/local/bin/node
node.jsがある場合は自動的にnodeがある場所を探してくれるようですが、それでもダメな場合は、
こうすると良いようです。
構文チェックを行うファイルの先頭に
#! ruby -EUTF-8 # -*- mode:ruby; coding:utf-8 -*-
を挿入すればいいのですが、どれもこれも挿入していてはきりがないので、この場合は、
cmd + shift + p ↓ 「linter settings default」 ↓ [Enter] ↓ 表示された全文をコピー ↓ cmd + shift + p ↓ 「linter settings user」 ↓ ペースト
したあとに、
"linters": { "ruby": { "@disable": false, "args": ["-Ku"], "excludes": [] } }
argsに -Ku を追加します。
Sublimetext3の場合、
https://github.com/SublimeLinter/SublimeLinter
ではなく
https://github.com/SublimeLinter/SublimeLinter3
のほうです。
詳しいインストール方法はこちらに書いてあります。
http://sublimelinter.readthedocs.org/en/latest/installation.html
これまでbackbone.jsを触ってきたのですが、正月休みでangular.jsとknockout.jsも試しに触ってみました。
backbone.jsほど学習に時間がかからず、特にknockoutはdata-bind属性内に予め定義されたバインディングや自作のバインディングを書いて、それにパラメータを渡すことで様々なイベントや処理が行えるようなかんじで、覚えるのがとても楽でした。
angular.jsは ng-hogehoge 属性でhogehogeをいろんな形式に書き換えることで様々なイベントや処理を行うことができるかんじになっており、ng-model属性で定義した識別子をng-valueに書くとその部分にリレーションができて<input data-model=”hoge”>とすると<span ng-value=”hoge”>の値がリアルタイムで書き換わるので便利。
knockout.jsでも同じことはできるけども、knockout.jsの場合は、observableでデータの監視、computedでデータの監視で変化があると実行する関数で明示的に定義してやらないといけないので注意。
そんなことはないです。backbone.jsは様々なプラグインが用意されており、もしくは自分で自由に振舞いを書き換えることができるのでかなりカスタマイズがきくし自由度が高い。angular.jsやknockout.jsはビューの書き換えには特化してるけどモデルの扱いは弱いので、そういった面でもbackbone.jsは補えたりする。なので、一長一短なのだ。
どのフレームワークも「癖」みたいなものがあります。食わず嫌いはしないで一度様々なフレームワークに触れてみて自分、もしくはプロジェクトにあったフレームワークに手を出してみるのがいいと思います。