こんばんわ。
misneyです。
結構この名称、まだ恥ずかしかったりします。
たまには仕事の話をしようかなーと思いました。
今日家から帰ってきて、パソコンに向かっていたのですが、ZendFrameWorkのページを見る機会があったのです。
私は普段PHPを使ってプログラムを作っているのですが、フレームワークは昔から使ってる自分のフレームワークだったりするんです。
そう。頭悪いので、他人様のソースを使うのが苦手なんです。
今日は
Zend_Controllerってのを見てたのですが、これが結構自分のやり方に似ていたのです。
なんか、これなら自分でも使えるかもしれないなーと思いました。
ソースも自分とは比べ物にならないほど綺麗ですし、処理も凄く纏まってる。
ZendStudioも良い動きしますし、Zendさんはスゴイですね。
しかし、相変わらずこの手の解説は難しいのです。
解説書の解説書が欲しいところです。
さて、ついでにもう一個。
最近、SQUiのアイテム取得部分の処理を修正しました。
まだ修正状態を更新してないので、見ることは出来ないのですが。
$CHさんから、「私が登録したい画像が取得されないわよ!!」と怒られたので、ちゃんと取得するようにしようと思ったのです。
SQUiのアイテム取得は、ブックマークレットの処理でHTMLに含まれる商品の画像など、いくつかの情報を取ってくるってな感じの処理なのです。
HTMLの情報の中から、最も適した順に画像を並べるのが理想なのですが、今は何の処理も入れてません。外したのです。重かったので。
なので、今度は軽い処理で実装できる物を考えてみました。
単純にjavascriptで解析してあげればいいかなーって考えたのです。
getElementByTagName('img')で取ってきたnodeから、alt , width , height の値を取ってくる。
その情報から最適化を行えばいいじゃーんて。
SQUiで最初に作ったプロトタイプがこのバージョン。
さて、このデータをどうやって送ろうかなーと考えたときに思ったのが、PHPのserialize形式で送ってみようかなーって方法だったのです。
serialize化の形式は何となく解かってたので、同じようなのを作ってみたんです。
動くところまでは思っていたより簡単に出来たのですが、ごく稀にエラーが。
どうもマルチバイト文字のbyte計算がたまに間違うようで。
さらにURL入力の方で違った取得方法になってしまうということから、お蔵入りになっちゃいました。
久しぶりの自信作だったのにザンネン。
結局サーバーサイドで最適化処理を入れました。
今度の処理は軽いので結構いい感じです。
javascriptのserializeは、そのうち何かで使ってみたいなーって思いました。
上手く動くようになったらここで公開してみようと思います。
ちなみに、その後serialize化は誰かが作ってるんだろうなーって思って探したら、やっぱりありました。
ASPAN
PHP serializerでも、マルチバイト対応じゃないから、日本語が入ると動かないと思う。
obj.lengthのとこはcharAt + escapeとかでバイト計算をしてやらないとだめ。
バイト計算と言っても時給 × 時間じゃない。
[4回]