2009年10月29日木曜日

CodeIgniter 言語ファイル

デフォルトでインストールした状態だと、
system/language/japanese というディレクトリが出来てるのに、
動かそうとすると、なぜか
system/language/ja
というディレクトリにアクセスしようとして、言語ファイルが無いと言う。
system/language 以下に、ja という japanese への
シンボリックリンクを貼って解決。
なんでこんな風になっているのか?

default character set latin1

http://sourceforge.jp/projects/codeigniter/lists/archive/users/2008-February/000337.html
http://wota.jp/ac/?date=20061011
http://d.hatena.ne.jp/tueda_wolf/20080716/p7
http://www.abe-tatsuya.com/web_prog/mysql/mycnf_xampp_mysql_1.php

この辺を見ながら、mysql のデフォルトの文字コードを utf8 に変更。
latin1 とか誰が嬉しいんだろう・・・
freebsd の ports からのインストールだと、 /etc/my.cnf がデフォルトで
出来ていないという仕様もなんだか非常に分かりづらい気がする・・・

2009年10月28日水曜日

WP Security Scan でテーブルの prefix を書き換えたら、ログインできなくなった。

WP Security Scan という wordpress のプラグインによれば、
wordpress をインストールした時のデフォルトのデータベースのテーブルのプレフィクスの
"wp_" を、そのままで使うのは危険らしい。
で、そこをクリアしておいて、と橋場さんから頼まれたので、
そのままポチッと、WP Security Scan プラグインの機能の
テーブルプレフィクスを書き換えボタンを押してみたら、
見事に管理画面全体にログインできなくなった。

http://wordpress.org/support/topic/256981

http://beconfused.com/2007/08/28/how-to-solve-you-do-not-have-sufficient-permissions-to-access-this-page-in-wordpress/

上2つを見て、データベース内の wp_usermeta テーブル内の wp_capabilities というレコード
のプレフィクスをユーザー数分だけ、手で書き換えたら、入れるようになった。
メンテナンスされてないプラグインて怖い。

2009年10月23日金曜日

iPhone アプリ内からメーラーを起動するワンライナー


[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto:jacques@example.com"]];


iPhone アプリ内から、メールを出させたい時に。

2009年10月22日木曜日

UIPickerView のドラムを止めるイディオム


[picker selectRow:[picker selectedRowInComponent:n] inComponent:n animated:No];

UIPickerView はドラム式の選択肢インプットを自動で作ってくれる便利な UIKit コンポーネントだけど、ちょっと困るのが、勝手にドラムの慣性を処理してくれているせいで、値の選択に微妙なタイムラグがあるのが、ちょっと面倒。(ユーザー視点で言えば、それが気持ちいい訳だけど、・・・)たとえば、ドラムを目一杯勢いを付けた状態で、即決定ボタンにタッチみたいな操作をされると、picker から取得した値と picker の状態に齟齬が生じて、思わぬバグが混入したりする可能性がある。(しかも、そういう操作のテストが面倒。)そういうバグを防ぐ為に、picker の値を取得する際に、強制的に picker を止める上のイディオムが結構有効だと思う。

2009年10月18日日曜日

UINavigationBar の挙動が邪悪な件

Cocoa Touch フレームワークの UIKit の UINavigationBar の挙動が邪悪(=非論理的)な気がする。

View hierarchy を無視して、親ビューのサイズとかオフセットを無視して、
勝手な位置に固定サイズで勝手に表示される。どうにかコントロールできないものか・・・

2009年10月6日火曜日

Golfscript のダンプ

ダンプしたい場所に行って、

]p#

を挿入。あるいは、

]`#

を挿入。

PHP のダンプ

ダンプしたい場所に行って、


<plaintext>
<?php print_r($GLOBALS); ?>


を挿入。