[Java] 既存のクラスを(擬似的に)拡張したい

サブクラスしか持っていないメソッド

Javaでサブクラスがスーパークラスが持っていないメソッドを持っているときに統一的に取り扱おうとすると面倒なことが多い。
本来はサブクラス側を直した方がいいのかもしれないけど、既存のクラスでこちらが修正できない場合も多々ある。

例えば、SQLExceptionはExceptionが持っているgetMessageだけではなく、getErrorCodeやgetSQLStateを持っているけど、これらを統一的にログに出力したかったりする。

[PHP] PHPオブジェクトと配列の変換まとめ

ファイルから読み込んだ値をオブジェクトにしたり、逆に外部に渡したい時にはオブジェクトのプロパティを連想配列にしたい場合は結構ある。
DBの場合はPDOなどフレームワークがやってくれることも多いけど、自分でやりたい場合はどうすればいいか。

配列からオブジェクトを生成する

新しくオブジェクトを作りたい場合は配列をobject型にキャストするだけ。
$obj = (object)[ 'foo' => 'orange', 'bar' => 'green' ];
var_dump($obj);

[MySQL] MySQLのキーワード、予約語

MySQLの予約語?

SQLでは基本的に予約語をテーブル名やカラム名に使うことはできない。

MySQL 5.6 9.3 予約語
https://dev.mysql.com/doc/refman/5.6/ja/reserved-words.html

"IN"や"FROM"をカラム名に使うことはないと思うけど、"RANGE"とか"REPEAT"とか"SEPARATOR"なんかは使ってしまいそうな気がする。

例えば、カラム名に"repeat"を使ってテーブルを作成しようとすると以下のようになる。