• MacのSublimetext3でSublimeLinterの日本語エラーが出る場合の対処方法

    MacのSublimetext3でSublimeLinterの日本語エラーが出る場合の対処方法

    原因としてはjavaScriptの場合起きるようです。

    which node
    ↓
    出てきたnodeのフルパスをコピー
    ↓
    ln -s "ここにペースト" ~/bin/node
    mkdir /usr/local/bin
    ln -s "ここにペースト" /usr/local/bin/node
    Code language: JavaScript (javascript)

    node.jsがある場合は自動的にnodeがある場所を探してくれるようですが、それでもダメな場合は、
    こうすると良いようです。

    Rubyでエラーが起きる場合は

    構文チェックを行うファイルの先頭に

    #! ruby -EUTF-8
     # -*- mode:ruby; coding:utf-8 -*-Code language: CSS (css)

    を挿入すればいいのですが、どれもこれも挿入していてはきりがないので、この場合は、

    cmd + shift + p
    ↓
    「linter settings default」
    ↓
    [Enter]
    ↓
    表示された全文をコピー
    ↓
    cmd + shift + p
    ↓
    「linter settings user」
    ↓
    ペースト
    
    Code language: JavaScript (javascript)

    したあとに、

    "linters": {
        "ruby": {
            "@disable": false,
            "args": ["-Ku"],
            "excludes": []
        }
    }Code language: JavaScript (javascript)

    argsに -Ku を追加します。

    どうしてもうまくいかないとき

    Sublimetext3の場合、
    https://github.com/SublimeLinter/SublimeLinter
    ではなく
    https://github.com/SublimeLinter/SublimeLinter3
    のほうです。

    詳しいインストール方法はこちらに書いてあります。
    http://sublimelinter.readthedocs.org/en/latest/installation.html

  • angular.jsとknockout.jsを使ってみた

    とても便利なangular.jsとknockout.js

    これまで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使わなくてもいいような・・・?

    そんなことはないです。backbone.jsは様々なプラグインが用意されており、もしくは自分で自由に振舞いを書き換えることができるのでかなりカスタマイズがきくし自由度が高い。angular.jsやknockout.jsはビューの書き換えには特化してるけどモデルの扱いは弱いので、そういった面でもbackbone.jsは補えたりする。なので、一長一短なのだ。

    使い分け

    • backbone.js → 大規模開発に向いている。フルカスタマイズしたい人向けで、骨さえ用意してくれればいいよ!っていう場合これ
    • knockout.js → イベントの処理かくのめんどくさいので楽に書きたい、それだけでいいという方むけ。
    • angular.js → 楽に書きたい! 楽にリッチなWebアプリ作りたい! 細かいカスタマイズは必要ない! という方はこれ!

    最後に

    どのフレームワークも「癖」みたいなものがあります。食わず嫌いはしないで一度様々なフレームワークに触れてみて自分、もしくはプロジェクトにあったフレームワークに手を出してみるのがいいと思います。