Browse Month: May 2013

MySQL 5.6 の mysql プロンプトの使い勝手を改善した

MySQL 5.6 にしてからというもの、mysql プロンプトで、Ctrl + w を押したとき、それまで入力していた行すべてが削除されてしまうようになった。
どうにも不便で、前のワード単位で削除したい方法を調べてみたら、さくっとこの情報が見つかった。

さっそく $HOME/.editrc を作成して、次の行を追加してみた。

bind "^U" vi-kill-line-prev
bind "^W" ed-delete-prev-word

mysql プロンプトの接続を切って、再接続すると、Ctrl + w で前のワード単位で削除できるようになった!!!
これで、MySQL 5.5 以前と同じ使い心地になった。

公式情報は、MySQL :: MySQL 5.6 Reference Manual :: 4.5.1.6 mysql Tips にあります。

CakeInfo for CakePHP 2.3.x

最近、とある案件で CakePHP を使っていますが、CakePHP 1.2beta対応-CakeInfo-0.1.2リリース – Shin x blog という phpinfo() ライクな cakeinfo() が便利そうだったので、CakePHP 2.3 で動作するように改良してみました。

元の CakeInfo だと、app/webroot に配置するだけで手軽に動作して便利なのですが、認証されている必要が必要だったので、組み込み版として改良してみました。

ソースコードは、github においてあります。

使い方は、次のとおりです。

1. cakeinfo.php を、app/Vendor ディレクトリにコピーします
2. cakeinfo.ctp を app/View/Foo など View にコピーします
3. 対象のコントローラーで、次のような変更をします


App::import('Vendor', 'cakeinfo');

class FooController extends AppController {

public function foo() {
$info = new CakeInfo();
$info->execute();
if (!defined('DATABASE_CONFIG_FLAG')) {
unset($info->values['Database']);
}

$this->layout = null;
$this->set('info', $info);
}

こんな感じで、あとは Foo/cakeinfo にアクセスすれば、こんな感じの画面が表示されるはずです。

手元の環境では、最新の CakePHP 2.3.4 で動作確認済みです。