YTsudaのブログ

1985生まれ、男。東京で働くWeb制作者

CakePHP2.xのテストで不適切なエラーが出る件

CakePHP2系のPHPUnitを用いたテストでWeb上(/test.php)からテストする際、
テストケースを書いてない状態だと以下のエラーが出る。

Call to undefined method PHPUnit_Framework_AssertionFailedError::getComparisonFailure()

エラー内容がよくわからなくてぎょっとするが、テストケースを書けば直る。

この不適切なエラー表示を修正するpull requestがgithubに寄せられているので、
手動で反映すると適切なエラーが出るようになる。

https://github.com/cakephp/cakephp/pull/898

新年

新しい年になった。 12月30日から1月3日の現在まで、
ほぼPCの前から動かなかったせいで年を越したという感覚が無い。

紅白も見てないし除夜の鐘も聞いてない。

浦安魚市場の年末大売出しで蟹を買ってきたのと、
コミケにちょっとだけ顔を出したのが、
わずかながらの年末らしいイベントだった。

それ以外はほとんど家で仕事をしていた。

仕事

去年は仕事の年だった。 朝から晩まで、休みの日もだいたい仕事をしていた。

一昨年もそうだった気がする。

ひたすら関わっているサービスの構築、運用、改善に没頭していた。
完全にワーカーホリックであり、どうかしている。

解決

タスクは山積している。 それを順番にちぎっては投げ、ちぎっては投げ。

最善と思われる手段を調べ、実装する。
3ヶ月ほど後にもっと良い手段があったことに気づく。
6ヶ月後にはその副作用に苦しむ。
1年後にリファクタリングする。

成果

そんな感じで黙々と問題を処理していたらそれなりに成果が上がってきた。

長らく3人で続けていた会社は、昨年、12人にまで成長した。(その後ちょっと減った)

人が増えて仕事を分担したら、よりタスクに集中できるようになった。

昨年11月に結婚した。

私は仕事に没頭していると他のことにすっかり無頓着になる。
机は散らかり、服や靴下は脱ぎっぱなし、
雨が降っても窓は開いたままで洗濯物も取り込めない。

照明すらまともにつけることができない。
引っ越して半年経った今でも、壁のどのスイッチが
玄関の照明を点灯させるものなのか覚えていない。

嫁はいろいろと文句を言いながら、そんな私の身の回りをよく世話してくれている。

これから

この今年の抱負といったものは特に思いつかない。
ひたすら仕事をこなすだけである。

覚えなくてはいけないことは沢山ある。

SublimeText2のvim化にはVintageEX

話題のSublimeText2を使い始めました。

公式のvim

vim化する方法として以下の方法が公式サイトのVintage Modeで紹介されています。

やり方は、Preferences -> Setting - Default を開き

"ignored_packages": ["Vintage"]

"ignored_packages": []

に変更するだけです。 これで再起動するとvimとほぼ同じ使用感になります。

が、しかし細かい点で違いがあってイライラします。
例えば以下の点が再現されません

  • :qでファイルが閉じない
  • :%s/hoge/moga/g で置換できない
  • gtでタブが切り替わらない

ここでSublimeText2の使用を諦めた人も多いのではないでしょうか。 しかし、これらのうちいくつかはVintageEXというプラグインをインストールすることで解決できます。

VintageEXのインストール方法

1.パッケージマネージャのインストール

Sublime Package Controlで紹介されている通り、 ctrl+`(バッククォート)でコンソールを開き、以下のコマンドをコピペしてEnterでOK。

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

2.VintageEXのインストール

Prefelence -> Pacage Control を選択すると出るリストから「Pacakge Controll: Install Pacakge」を選択します。
出てきたコンソールで、「VintageEX」と入力し、出てきたプラグインをインストールします。

ショートカットの登録

VintageEXで大半の機能は再現するのですが、「gtでタブが切り替わらない」は再現しませんでした。

そこで、 Preferences -> KeyBinder - User で開く設定ファイルから以下のようにショートカットを登録するとgtでのタブ切り替えが可能になります。

[
    { "keys": ["g", "t"], "command": "next_view",
        "context":
        [
            { "key": "setting.is_widget", "operand": false },
            { "key": "setting.command_mode" }
        ]
    },
    { "keys": ["g", "T"], "command": "prev_view",
        "context":
        [
            { "key": "setting.is_widget", "operand": false },
            { "key": "setting.command_mode" }
        ]
    }
]