2008年9月25日木曜日

Mac OSXのAdiumが1.3.2b1になった

MSNメッセをOSXで使う事に関する記事を先日書きましたが、
バージョンアップが激しく将来に期待出来ると言う事でAdiumを使っています。

そしたらなんと今回のアップデートで「不在メッセージ」に対応してくれました!

MSNメッセ(今はWindowsLiveか)の知り合いが割と多いので、アップデートして初回ログイン時はヤバかったです。
「ポコペン」「ポコペン」「ポコペン」「ポコペン」「ポコペン」
みたいな。

とにかく、これでようやくWinXp上のWindows Live Messangerと遜色なく使えるかなと思います。
状態メッセージがまだ貧弱だけど、他人のは見れるからそれほど困る事も無いかと

2008年9月24日水曜日

CakePHPの高深度アソシエーションの欠点

CakePHP(1.1)でSNS的なシステムを運用していて気づいた事。
1.2で改善されてるのか?ちょっと調べてないから解らないが…


メッセージ一覧のページの表示が前々から遅くて、何が起きてるのかと思いつつ放置していたんだが
少し余裕が出て来たのでデバッグモード(=2)でクエリを見てみたら、何か件数x3くらいのクエリが実行されていた訳だ


ここで問題。

PHP標準のSQL発行ではアソシエーションの階層はハッシュの階層に反映されない。LEFT JOINを何度しようと、結局はSELECTで指定したカラム名による一次ハッシュになるはず。
でもCakeでアソシエーションを組むと、階層が反映されるわけだ。
どうやっているんでしょうね?

正解は、「カラムごとにクエリを何度も発行している」(!!)
だから今回の様に、何かのリストのような物を表示する時にCakeのfindAll(Byなんたらを含む)をするとめちゃくちゃ重いってわけだ

結局Model::query()にカスタムしたSQL文を突っ込んでやったら爆速になりましたとさ。



まとめ

CakePHPのfind系メソッドは複雑なアソシエーションを組んだデータのリストには向いてないので、自分でSQL文を書こう!

2008年9月20日土曜日

GmailでRFC違反アドレスにもメールを送る方法

先日、GmailからRFC違反のメールアドレスにメールを送る事が出来なくなりました。

しかしながらココはケータイメール大流行りのニッポンだし、まさか「俺からメール送れないからお前メルアド変えろ」なんて言えないでしょ?
ただでさえRFC違反アドレスにする人はそう言う事に興味が無いから違反アドレスにしている訳で、もちろんこれでルール守らない糞キャリアざまぁwだとは思うんだけど実用上不便ということで…

独自調査による、GmailからRFC違反アドレスにメールを送る方法です。


・SMTPもしくはIMAPでメールを送る


…これだけなのでしたー^^;

2008年9月12日金曜日

CakePHP1.1のscaffolgでアンダーバー(_)区切りDB(モデル)を使う時にバグる

タイトルの通りです。
そして記事としてはサイトの紹介に留まります。
http://d.hatena.ne.jp/cos31/20080220/1203490118
Notice: Trying to get property of non-object /hogehoge/cake/libs/controller.php L66

バグの内容としては、テーブルは通常通りに描画されているっぽいんだがなぜか表示されない。
動作の雰囲気は、モデル情報を適切に取得できずにカラムが生成出来ていないといった所。

スクリーンショット撮っておけばよかったなぁ

まぁ私用メモみたいなもんですが、困ってる人の参考になれば幸いです

2008年9月4日木曜日

google chromeはmacっぽい

google chromeをVM ware Fusion上のWindowsXpで使ってみた感想

「これ、macっぽいな!(OSX的な意味で)」

macにはspotlightという機能がある。
これは書類の名前とか中身とかからサクっと情報を引き出す機能で
慣れて来ると何をするにもまずはspotlightから、って感じになる。
Control + spaceで検索バーが出て来くる。
「iTu」まで入力すればiTunesが出て来るから、あとはEnterすればiTunesが起動する。
Webページの履歴は一緒にしちゃうとややこしくなりすぎるから俺はオフにしているけど、Safariを使ってアクセスしたページの履歴もここから検索出来る。

というspotlightを常用している俺からすると、chromeも似た様な使い勝手だなぁと思う。
まさにWeb版spotlight

前々からgoogleとappleは何だか似ている所がある様に感じている。
収益を得る方法とか理念とかは全然似てないんだけど、出来る「物」自体は非常にそっくり。
前述のspotlightもそうだし、iCalとgoogleカレンダーの操作性も近い。
どちらも「察しが良い」かつ「速い」という点が似ているのだろう。

MSはその辺りが遅れている様に思う、だから「使いにくい」とか言われてしまうんじゃ無いかなぁ。
Officeの検索機能は勝手に出て来るし(こういうのは「出したい」と思った時に出て来るべき)、遅くて他のプロセスにまで影響を及ぼす。
「お前を消す方法」という笑い話はMSには笑っていられない問題である。
Windows7で挽回出来るのか、見物ですね。