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はいらないっすよ。

2014年4月2日水曜日

CakePHPでConfigure::write('debug', 0); にしたら真っ白になったよー

頭も真っ白ですね。

さておき、

開発環境から本番環境へ持って行く時、debugを0にしてサイトアクセスしたら何も表示されないでやんの。

ひぃぃぃ、と思ってググるググる。

幾つか引っかかるけど、どれもピンとこない感じでして…




あれこれやってるうちに、debug 0でも表示出来てたヾ(o゚ω゚o)ノ゙


ググって出てきた対処法でもどうしてもダメなとき、app/tmp のしたのcacheを消したり、debugを2にしてみたり、0にしてみたりしてみて!!



2014年3月29日土曜日

redmine の DMSFをいれるよー

勢い、ドキュメント管理をredmine使ってやるよ!って言ってしまった。

そして、いざ使ってみるとredmineでは階層構造で文書を管理できない…。正確には「カテゴリ-タイトル-文書」という程度にはできるが、もっと柔軟なディレクトリは作れない。

そこで検索して出てきたのが、redmine_dmsfでした。


  • ドラッグ&ドロップによるファイル登録
  • ディレクトリ構造

が使えます。ファイルは一度に複数登録可能。ただし、ディレクトリをドラッグ&ドロップしてもダメでした。だから階層構造を作るには、ディレクトリを作り、ファイル投入、ディレクトトリを作り、ファイル投入を繰り返さないとだめなのねん(´ー`)

インストールは ここ のところにある通り。migrationとかやるのでちょっと怖かったですが、やってみたらあっさりうまくいきました。#でも実施前はバックアップしときなよ!

試したredmineのバージョンなど。


今のところ日本語ファイル名のものを登録してもちゃんと動いてる…(^ω^) イイネ!


なにげに迷ったのがディレクトリの作り方。

答えは簡単。リスト右上の+ボタンでした。



これでなんとかなりそうだ .。゚+.(・∀・)゚+.゚

2014年3月26日水曜日

CakePHP2.4 で userごとのpasswordハッシュ値をつくるよ

結論からいうとできませんでした。ゴリゴリとCakePHPのソースを侵食すれば行けるのかもしれませんが…

CakePHP2.4からパスワードのハッシュのカスタマイズはPasswordHasherクラスを基底としたクラスを作り、登録することで出来ます。

でもこのPasswordHasherのhash()っていうメソッド、$passwordっていうパスワード文字列しか渡せない。ユーザーIDが渡せない。

hash($password, $additional)みたいな感じでハッシュ生成時に追加できる文字列指定できればいいのに…。


ストレッチングはパスワード文字列があればまぁ簡単にできるんだけどなあ。CakePHP作ってる方面ではユーザーIDを混ぜ込む文化がないのかな?

結局 AuthComponentの_findUser()に手を入れないとダメな感じであきらめモード。残念。