2013年8月11日日曜日

phpのvar_dumpでデバッグを分かりやすくするテンプレート

var_dump('ExecFile: '.basename(__FILE__).'('.__LINE__.')', 'FUNCTION: '.__FUNCTION__, 変数名);

var_dumpはカンマ区切りで引数を無制限に渡すことが出来る。 これを使い、どのファイルの何行目のどの関数で呼び出されたdumpかを表示しておける。

ソースを追いかけているとどこでdumpしたのか忘れがちになるけど、こうしておけばいつでも削除箇所が分かって手間が少ない。

2013年8月3日土曜日

Sublime Text のプラグインのコマンドに好きなキーを割り当てる

掲題通りで、キーを割り当ててみる。
参考として今回は諸事情で割り当てを行ったSortTabsのGithubを見てみよう。

SortTabs/sort_tabs.py at master · bizoo/SortTabs · GitHub


Sublime textのPluginは
class SortTabsByNameCommand
のようにCommandが付くClass名に対してショートカットキーを設定することが出来る。
SortTabsByNameCommandは名前の通り、タブの名前でソートするコマンド。
ではこのコマンドにキーを割り当ててみる。
{ "keys": ["ctrl+alt+s"], "command": "sort_tabs_by_name" }
と、こうなる。
他のキーマップに倣って好きなkeysを設定する。
さらにcommandを見てもらうとClass名と違うことが分かる。
SortTabsByNameCommand
sort_tabs_by_name
よく見比べてもらえれば容易なことで、Commandを削除し、最初の文字以外の大文字の前にアンダースコアを入れ、文字は全部小文字にするだけ。

これでキーを押してみるとタブがいつでも名前順にソートできる。

/** 今更感のあるエントリーだなぁ。 */

2013年5月6日月曜日

初心かどうか分からないけど。

少し時間を費やせば良かっただけなのに、ユーザーを裏切ったんじゃないのか。
ユーザーは数十人しかいなかったけどやる価値はあったんじゃないのか。
コストが見合うならやってもいいと言われて結局やらなかった。

開発者ってそんなんだったっけ。
採算度外視でユーザーエクスペリエンスとか自分の欲求を追求してなんぼな職業じゃなかったっけ?

そうなんだよ。
そこをなんとかするんだよ!

2013年3月3日日曜日

Mercurialでバックアップ取ればいいじゃない?

星の数ほどあるバックアップツール。
「バックアップ重要だよね」と思って設定してたけど、掲題件の通り分散バージョン管理ツールでもできるやん?しかも完全にバージョン管理だよ!

と思ったので、近々Mercurial+Jenkins(Windowsのタスクでもいいと思うけど)あたりで構築してみるというTODOメモでした。

記事じゃなくてすみません。RTMあたりで管理しろと。

2013年1月20日日曜日

Sublime Text 2にPHPのCodeSnifferを追加。

PHPをPSR規約に準拠して書こうと思い立ったのでいくつかの規約を自分で選んで準拠チェックが出来るCodeSnifferを追加した。
このプラグインは他にもいくつか機能があり、自分はPSR準拠にフォーマットしてくれる機能も設定している。
プラグインはsublime-phpcs
プラグインの詳細はこちら

プラグインのインストールはいつも通りPackage Controlなので割愛。

このプラグインはPearのPHP_CodeSnifferライブラリが必要なので下記のコマンドで導入。

pear channel-update pear.php.net
pear clear-cache
pear install PHP_CodeSniffer
※1行目と2行目は念のため。

ついでにPSR準拠のソースに自動で変換してくれるPHP Coding Standards Fixerも使う。
これはsublime-phpcsのオプションとして対応している。
使用するためにはPHP Coding Standards Fixer本体ファイルが必要なので下記から導入。
PHP Coding Standards Fixer
これを適当な場所に置く。
自分はsublime Text 2の\Data\Packages\User\配下に設置。

追記(2013-08-03 17:44): どうやら以前書いたものは使えなくなったみたい。
どこかのアップデート時にsettingが変わったようで、新しいものにしないと動かなくなったので気づいた。
現在はExampleとして
Data\Packages\Phpcs\example-settings
にファイルが入っているのでそれを使った方が無難。

ユーザー設定は下記。参考程度にどうぞ。
設定するうえで必須なのはphp_cs_fixer_executable_path。
このパスはコマンドラインへそのまま渡すので"php "から書かないと動かないので要注意。
{
    // Execute the sniffer on file save
    "phpcs_execute_on_save": false,

    // PHP_CodeSniffer settings

    // Additional arguments you can specify into the application
    //
    // Example:
    // {
    //     "--standard": "PEAR",
    //     "-n"
    // }
    "phpcs_additional_args": {
        "--standard": "PSR2",
        "-n": ""
    },


    // Show the errors in the quick panel so you can then goto line
    "phpcs_show_quick_panel": false,

    // PHP-CS-Fixer settings

    // Fix the issues on save
    "php_cs_fixer_on_save": false,

    // Show the quick panel
    "php_cs_fixer_show_quick_panel": true,

    // Path to where you have the php-cs-fixer installed
    "php_cs_fixer_executable_path": "php \"Sublime Text 2インストールパス\\Data\\Packages\\User\\php-cs-fixer.phar\"",

    // Additional arguments you can specify into the application
    //
    // Example:
    // {
    //     "--level": "all"
    // }
    "php_cs_fixer_additional_args": {
        "--level": "psr2"
    },


    // PHP Linter settings

    // Are we going to run php -l over the file?
    "phpcs_linter_run": false

}
 

2012年12月31日月曜日

彷徨うubuntu初心者。

Serversman@vpsでUbuntu10.10を契約。

やるぞぉ~!(by バズー)と思ったら
apt-get update
で404だらけ。
E: Some index files failed to download, they have been ignored, or old ones used instead.
とか言われてそこでさっそく終了…。
apt-getのリポジトリのURLリストを確認すると
vi /etc/apt/sources.list
中身でmaverickうんちゃら。
そこに書かれているURLへ飛ぶとmaverickらしきフォルダは無いらしく。
削除されたのかシンボリックリンクがどっかに張られていたのかは分からないが、ともかく使えない。

2時間くらい広大なネットを彷徨ってたどり着いたのが
http://repogen.simplylinux.ch/
このサイト。
Ubuntunのバージョンごとに参照するaptサーバーのlistを生成できる。
ここでリストを生成し(Ubuntu10.04のサーバーを参照した)、sources.listを書き換えてupdate!
無事終了。

Serversmanはこのことを知らないのか、もしくは放置してるのか、はたまたDIYなんでよろ。なのかは分からない。
ってか、11以降を提供してくれてもいいんじゃないかな…。

追記: 2012-12-31 2:52
maverickリポジトリは下記のURLで取得できるようで。
http://old-releases.ubuntu.com/ubuntu
10.04は長期サポート版だからまだ通常のリポジトリだけど、10.10はサポート終了して移動されたということだった。
日本サーバーじゃないから重い…。

2012年12月22日土曜日

Sublime text 2はプロジェクトを使う。

Twitter読んでると、プラグインがうまく動かないといった話がよくある。
そもそもSublime Text 2はプロジェクトを設定することを前提として作られている。
もちろんプロジェクトがなくても動くけど、設定ファイルはプロジェクトフォルダ内から探す。みたいなプログラムがプラグインではよくされている。

ちょっとした開発でもプロジェクトをまず作りましょう。