Windows開発環境

http://gigazine.net/index.php?/news/comments/20080324_vertrigoserv/

XAMPPみたいなものだけど、より使いやすいように見える。
全部、同じ設定画面内でいじれるってのは便利そう。

セパレーターがWindowsとサーバ(Linux)で異なるのが嫌で、VMWareを立ち上げたのだけど、
パスの設定をほぼいじることのない開発の時期になると、
これでもいいのかなと思ったりもします。

とりあえず、インストールして触ってみよう。

【メモ】多次元配列のソート

phpで、多次元配列をできるだけ簡単にソートする方法を探していた。

連想配列がさらに配列になっている場合に、連想配列の指定したキーにて
連想配列の並びをソートしたい。これがやりたいこと。

検索してたら、使えそうな関数を見つけた
usortとarray_multisort

http://jp.php.net/manual/ja/function.usort.php
http://jp.php.net/manual/ja/function.array-multisort.php

先にやらないといけない仕事がはいったので、後でちゃんと調べるためのメモ。

そういえば、ZendFrameworkの新しいバージョンが出てた。1.5.0。
いま使ってるのは、1.0.3。beta版として1.0.4が出てたのに、次が1.5.0。
いったんここで、安定したってことなのかな。

英語のドキュメントは苦手なので、いまいちわからん。
でも、きっとそうだと思う。1.0.4までで試したことの安定板のはず。
マルチパートメールの受信が簡単にできるようになっていたらいいな。
送信簡単だったのに、受信は自作しないといけなかったから。

還暦祝い2

両親からメールがきた。
還暦祝いにプレゼントした、ペアの腕時計は喜んでもらえたようだ。

母からのメールにハートマークがついていたのが、印象的。
なんで、息子にハートマークなのか。
お礼にしては、ポップすぎる。でも、おもしろい。

母なりに、がんばってメールをうったんだろう。
携帯電話の電話帳からアドレスを読みだすことすらままならない母ですから。

ブラウザからのファイルダウンロード

http://tkoshima.net/wp/archives/48

IEでだけ、ブラウザ経由のファイルダウンロードがうまくいきませんでした。
ネットで検索して、見つけたのが上記のリンク。
httpヘッダのキャッシュ設定を public にしないと正常にダウンロードできないとのこと。
下記ソースの※の部分を追加したら、IEでも正常に動作するようになりました。
(このソースは、Zend FrameWorkのActionコントローラ内に記述しています)

$fileName は、ダウンロードダイアログに出力するファイル名、
$path は、ダウンロード対象ファイルへのパスになります。

$fileNameは、ブラウザがIEの場合 SJIS に変換しないと日本語が文字化けします。

$this->getResponse()
   ->setHeader("Cache-Control", "public") ※
   ->setHeader("Pragma", "public")        ※
   ->setHeader("Content-Type", "application/octet-stream; name=\"$fileName\"")
   ->setHeader("Content-Disposition", "attachment; filename=\"$fileName\"")
   ->setHeader("Content-Length", filesize($path))
   ->setBody(file_get_contents($path));

初FRAMES

たぶん、初めて。

代官山のやつに1回行ったような記憶はあるが、AIRを抜け出してとかそういうの。
FRAMESだけに行ったのは、しかもご飯を食べにいったのは、今回が初めて。

そこで食べた、フェットチーネとジャンクポテト。
ジャンクポテトは名物なんだそう。
スイートチリソースと、サワークリームの味がおいしい。
帰りに中目黒で、CALDI寄ったらどっちも置いてあったので、
あとはジャガイモさえあれば、似たようなものが家でも楽しめます。

私が一番おいしいなと思ったのは、フェットチーネ。
もちもちとしてたし、ソースもしつこくなくて、ペロっと食べることができました。
あれだけ2皿食べてもいいかなと思えるくらい。
舞茸よりも、厚めに切ってあるベーコンが印象に残っています。

鶏のドラゴン揚げもおいしかったけど、もっとかみごたえがある肉が好みです。
あまり、脂身が多かったり、サシが入っているお肉よりも、
ササミみたいな噛み応えのある食感が欲しい。
よだぎんぽや、あきらで食べたチキン南蛮は、もっとおいしかった。

最近、家で食べた肉じゃがも相当においしかったです。
じゃがいも、玉ねぎ、こんにゃく、お肉、汁。すべて。
次の日、弁当にも入れてもっていったくらい気に入りました。

話がだいぶそれましたね。FRAMESへ行ったら、ジャンクポテトはマストで!!

VMWareを使ってみる

新しく発売されたMacBook Pro。
欲しいと思ったけど、無理して買う前にWindowsにVM入れて、Linux使って見ようという
結論に落ち着いたため、週末にさっそくインストールしてみた。

CentOS5.1で、ある程度環境構築されているものをインストールし、
apache、php、mysqlをインストールする。
その前に、sshでTeraTermを使って、接続できたときは、ちょっと興奮した。
index.html、index.phpをおいて、ブラウザで見れるところまで確認OK

あとは、mysqlへの接続確認がOKだったら、ドメインごとにバーチャルホスト作って、
それぞれのDocumentRootにアクセスできたら、プログラム開発に入れます。

eclipseを使って開発もしますが、viをまた使い始めると、こちらがやりやすいです。
viがいい+ftpの必要がない+サーバにあげるのと同じように組める。
これのメリットは、かなり魅力的です。

メールヘッダーのデコード(Zend_Mail)

Zend_Mail_Storage_Imapを利用して、メッセージを取得する場合、
Zend_Mail_Storage_ImapのgetMessageメソッドにて、メッセージデータを
取得したタイミングで、メールヘッダーもデコードされて、オブジェクトに設定されます。

この際のデコードは、iconv_mime_decode_headersというphp5から使える
phpライブラリで行われています。Zend_Mime_Decodeクラスの中で。
しかし、このとき文字コードが、iconv.internal_encoding(default “ISO-8859-1″)
にてデコードされるため、日本語を含んでいる場合は、正常にデコードされません。

iconv_mime_decode_headersの第3パラメタに’UTF-8’を指定したら、
日本語もUTF-8にて、正常にデコードされて取得することができます。

この対応策にたどり着くまでに、4,5時間悩んでましたが、解決策は1行修正。
Zendのソースには、あまり修正を入れたくないと思っていたので、手間取りました。

還暦祝い

今月、母が還暦を迎える。
父は数年前に還暦を迎えたけれど、入院中でお祝いできなかった。

「今年、母さんが60やけん、お祝いばせんばね」と弟が言ったとこころ、
父が、「おいんとは?」と笑いながら言ったらしい。

辛いところは家族にすらあまり見せず、人以上にがんばる父にはめずらしい。
退院してから、家族に何かをしてもらうということが、余計うれしいのかもしれない。
兄弟3人もと大学まで行かせてくれて、最後の弟が卒業して間もなく倒れた父。
家族からおおいに感謝される資格を持っている、それを支えた母も。

お祝いには、ペアで腕時計をあげようということになった。
もとのアイデアは、友達からいただいた。
還暦を過ぎてもともに時間を刻んでくださいという意味合いがあるそうだ。
それって、とてもいいことだし、ゆっくり今の生活を楽しんでもらいたいと、
兄弟全員が思っていることなので、ぴったりだった。

今日下見に行き。1つめぼしいやつを取り置いてもらっている。
週末まで、あと何件が見に行き。その中から選ぶつもりだ。

喜んで毎日つけて、それについて話をしている両親の姿が浮かぶ。
あの、日当たりのいい台所の椅子に座って。

雛祭り

3月3日は雛祭り。女の子の日。

雛祭りでお祝いしてもらえるのは、いつまでなんでしょう?
小学生の間?中学生になってもあるのかな?

5月5日をお祝いしてもらったのは、記憶にないです。
写真を見ると、まだ父さんに片手で抱えられてる私がいました。
たぶん、4歳くらいまでだったんでしょう。盛大でした。

今でも、女の子は3月3日はちょっと特別な日なのかもしれません。
ピンクのお菓子を見ると、ちょっとテンションがあがるのかもしれません。

睡眠時間

昨日の睡眠時間は、3時間半。
今年に入ってからは、6時間~7時間くらい寝ていたので、半分くらい。

眠くはならないけれど、頭の回転速度が違う。
意識的に集中しないと集中力を保てない。散漫になる。

何か1つの作業に没頭するときは、この状態がプラスに働くかもだけど、
あれこれ考えてプログラムを組むっていうときには、能率が悪い。

もう何年も睡眠時間は、5時間くらいだったので、ここまで違うと思わなかった。
2時間多く寝て、集中力が高まった方が、作業量は多いかもしれない。