SyntaxHighlighter

2014年5月29日木曜日

MySQL eventのlast_executedはUTCなんだそうだ

こんばんは。

mysqlで

select * from mysql.event;

とやりますとイベントの情報が見れるわけですが、どうもlast_executedのタイムゾーンが違う、、、というか日本からみると-9:00になっているわけで。

Webをあさりましたら、どうやらマニュアルに「UTCで表示する仕様なりよ。でも動作はちゃんとしてるよ」的なことが書いてあるらしく杞憂でした。(読んでない(´ー`))

小一時間無駄にしたし、my.cnfに default-time-zone='+9:00' とか余計なもの書いちゃったよちくしょう。
 


2014年5月27日火曜日

CakePHPで$this->Model->saveに失敗したとき

こんにちは。

またもハマりました…

CakePHPで$this->Model->saveに失敗しだしたのです。前はちゃんと動いてたのに。

結論から言うと、「Modelの $validate の設定を見直しな!と。

もしくは、saveの第2引数にfalseを渡してみましょう。つまりvalidationすんなこのやろう!ってことです。まずはfalseにして、通ったら$validateの設定をみなおす、という順番が良さそうです。

ふいー

2014年5月22日木曜日

CakePHPで$this->Session->read('Auth.User.id') 値が取れない?

Authコンポーネントを使用している環境です。

開発環境1で動いていたコード、$hoge = $this->Session->read('Auth.User.id')が、何故か開発環境2だと$hogeがnullになってしまっていたようで、null禁止のDBカラムを更新できないという自体に。

 同じコード、同じDBにしたはずなのに… と思いながら Config/core.phpを開き、    Configure::write('debug', 0); → Configure::write('debug', 1);  にしたら、あっさり期待する動作に。


えええ、debugでしか動かないのおおお∑(´Д`;) とか思いながら0に戻しても、動く。ブラウザ起動しなおしたり別のブラウザしても動く。サーバ側で何かが変わったんだろうな…


ということで、穴があくほどコードを見ても間違っていないと思った時、別の環境では動くのに、こっちの環境では動かない、と思った時、CakePHPご使用の場合はconfigのdebugをいじってみるのもありかと思います。
 


2014年5月13日火曜日

Linuxであるフォルダ以下に存在するファイルのサイズ合計を求めるよ

あるフォルダ以下のサイズを求めるのに du を使っていたが、どうもduはブロックサイズに影響されるようで、環境によってまちまちになる、と。

Webをあさったらlsの結果からファイルサイズを求める方法があったので、それをアレンジして find の結果から集計するようにしてみた。

find . -type f -printf "%s %f\n" | awk '{i+=$1}END{print i}'


サイズ出すだけなら%fはいらないっすよ。