トップ «前7日分 最新 次7日分» 追記

2002|01|02|03|04|05|06|07|08|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|02|03|04|07|

2008-04-25 [長年日記]

_ obsoleteフラグ

blogとかの古い記事に、簡単にobsoleteフラグを付ける機能があるといいね。消しはしないけど、すでに現状に即していない記事ですよ、というのをわかりやすくするために。obsoleteフラグがついた記事は、古文書風にぼろぼろに表示される(CSSがあたる)といいのかな。

第三者からの評価として行う場合は、ソーシャルブックマークなんかでobsoleteタグを付けておいて、そのタグの数で識別する、なんてのもいいかもね。

あと、記事の掲載日時を表示するときには、単に「○○年×月△日」とだけ書くんじゃなくて、ある程度古くなったら自動的に「○○年×月△日(掲載から□年経過)」とか、その記事が古いことをわかりやすく表示するといいかもね。

っつーか、自分のところもそうだし何か調べていてググった場合もそうだけど、古い技術系の記事のobsolete度合いを簡単に識別する手段があると便利だよね。obsolete度評価専門のソーシャルブックマークとか誰かつくんね?

本日のツッコミ(全1件) [ツッコミを入れる]

_ takano32 [自分の記事をリライトしたときにさえ、過去の記事へのpingbackやtrackbackを忘れてしまうことがありますね..]


2008-03-12 [長年日記]

_ Zend_Db_Select::where()メソッドの$type

trunkでは、

    * @param string   $cond  The WHERE condition.
    * @param string   $value OPTIONAL A single value to quote into the condition.
    * @param constant $type  OPTIONAL The type of the given value
    * @return Zend_Db_Select This Zend_Db_Select object.
    */
   public function where($cond, $value = null, $type = null)
   {
       if ((func_num_args() > 3) or (($type !== null) and ($type !== 0) and ($type !== 1) and ($type !== 2))) {
           $value = func_get_args();
           array_shift($value);
           $type = null;
       }
       $this->_parts[self::WHERE][] = $this->_where($cond, $value, $type, true);

       return $this;
   }

なんて感じになっているんだけど、この「(($type !== null) and ($type !== 0) and ($type !== 1) and ($type !== 2))」ってのはどこから現れたんだ?

where()メソッドでは、

    * @param constant $type  OPTIONAL The type of the given value

になっているけど、ここから呼ばれている_where()メソッドでは、

    * @param string   $type   optional

になっているし、実際PDO_MYSQLを使ったZend_Db_Tableのinfo()では、DATA_TYPEはstringで返ってくる("varchar"とか"int"とか)。

0、1、2という数値から、Zend_Db::INT_TYPE = 0、Zend_Db::BIGINT_TYPE = 1、Zend_Db::FLOAT_TYPE = 2あたりが怪しそうな気がするけど、この値ってZend_Db_Adapter_Abstract内で$_numericDataTypesとして定義されて以降、まったく使われていないし、意味的にも$typeが数値ではなかった場合に$valueを配列扱いするっていう意味がわからない。

これのせいで、trunkにしたらZend_Db_Tableのリレーション周り(findParentRow()とか)が動かなくなっちゃったんだよなー(Zend_Db_Table_Row_Abstract::findParentRow()内でZend_Db_Table_Abstract::info()で取得したDATA_TYPEをそのまま渡しているため)。自前で直そうにも、コードの意味がわからなくて直せないし。

3/13追記

昨日更新されたrevision 8783で、上記の怪しげな条件文はばっさり削除された。なんだったんだ……。


2008-03-11 [長年日記]

_ Zend_Controller_Dispatcher_Standardのtrunk 247行目

           if (!$this->getParam('useDefaultControllerAlways') && !empty($controller)) {

           if (!$this->getParam('useDefaultControllerAlways') && empty($controller)) {

のような気がするんだけど、いい花粉が飛んでいて頭がぼーっとするせいで、いまいち自分の判断が信用できない。ここは、useDefaultControllerAlwaysが無効な場合は、コントローラ名が解決できない→例外を発生させる処理だよな。


2008-02-04 [長年日記]

_ Zend Framework 1.5対応作業

久しぶりにtrunk(Zend Framework 1.5相当)にupしてみたら、ViewRenderer連動時にアクションからビュースクリプト名に変換する際に、自動的にCamelCaseを小文字ハイフン区切りに変換するようになっていた(デフォルトのままのInflectorを利用した場合)。

「FooController::CamelCaseAction」が「foo/camel-case.phtml」になる。従来は単に小文字変換される(foo/camelcase.phtml)だけだったんで、その頃に作ったビュースクリプトファイル名を全部リネームしないと。

新しい仕様の方がわかりやすくていいけど、さらに古いバージョンの頃はfoo/CamelCase.phtmlでいけたから、これで3度目の仕様変更(リネーム作業)だなー。そろそろフィックスしてほしい。

そういえばZend_Layoutが追加されていたんで、自前の(ActionController::postDispatch()を利用した)レイアウト実装から、Zend_Layoutを使ったレイアウト実装への切り替えも行った。こちらは単純なレイアウト以上の高機能なものになっているっぽいけど、ひとまずは最低限のレイアウト機能のみを利用。

それ以外は特に変更しなくても、だいたい動いているっぽいかな。

本日のツッコミ(全2件) [ツッコミを入れる]

_ まあ [Zendとは無関係なツッコミですが….MM/本のメモを利用させていただいております.大変便利なサービスをありがとうご..]

_ まあ [おっかなびっくり書誌情報を編集したところ,解決しました.お騒がせしました.]


2007-12-25 [長年日記]

_ Zend_Mailで日本語ヘッダ要素を登録

mb_encode_mimeheader()してから、setSubject()とかしただけだと、"\r"とか"\n"とかが"?"に変換されてしまうんで、

function encode_mimeheader_for_zendmail($str)
{
  return strtr(mb_encode_mimeheader($str, 'iso-2022-jp'), array("\r" => '', "\n" => '');
}

みたいなものをかましておくのが正解か*1

っつーか"?"がZend_Mail内で変換されていたことになかなか気づかなかったよ。てっきりメールサーバーの問題だと思ってしまっていた。

Tags: PHP Zend_Mail

*1 strtr($str, "\r\n", "")だとうまく動かなかったんでstrtr($str, array("\r" => "", "\n" => ""))に変更

本日のツッコミ(全3件) [ツッコミを入れる]

_ twk [こんにちは。トラックバックもさせてもらったのですが、これってメールヘッダーの仕様上は問題にならないのでしょうか。 ..]

_ ZJYoshida [こんにちは Zend Frameworkのupdate権限を持つ人でプログラム自体をupdateできる人がほとんど..]

_ ZJYoshida [こんにちは 日本人でソースコードのupdate権限所持者が3名だけなので、ぜひ開発コミュニティーに参加していた..]


2007-12-20 [長年日記]

_ TOSHIBA HD DVD VARDIA 地上・BS・110度CSデジタルチューナー搭載HD DVDレコーダー HDD600GB RD-A600買った

TOSHIBA HD DVD VARDIA 地上・BS・110度CSデジタルチューナー搭載HD DVDレコーダー HDD600GB RD-A600 RD-X7まで待つつもりだったけど、価格.comで85000円まで下がっていたんで、試しにビックカメラで聞いたら96600円の15%ポイントと言われ、その値段を言って地元のケーズデンキで(ビックカメラよりもちょっと高い値段で)買った。5年保証付きで10万円以下で買えるなら十分だ。

本当はソニーのブルーレイレコーダー今冬モデルを買うつもりだったんだけど、X90のでき(特に2チューナー利用時の制限)があまりにもひどかったし、どうせ俺はほとんど光学メディアは使わないから、だったらHDDレコーダーとしては(旧来からのRDユーザーにとっては特に)使い勝手がよく、お買い得価格のRD-A600でいいかなーと思って。スターターパック(HD DVDビデオとHDMIケーブルとHD DVD-R1層メディア1枚)とトランスフォーマーキャンペーン(トランスフォーマーHD DVD版とHD DVD-R1層メディア5枚)がおまけでついてくるんで、さらにお買い得度は増すし。

それに、ブルーレイレコーダーだったら数年待ったらもっといいのが買えるようになるだろうけど、HD DVDレコーダー(というか東芝のRDシリーズ)の場合は、今RD-A600を買うよりもいいものが将来買えるとは限らないからなー。RD-X7くらいまでは発売されるだろうし、それ自体はRD-A600よりはいいものだろうけど、値段の方も結構しそうだし。

ちなみに接続したところ、地デジだけが映らない状態だったんだけど、下調べの甲斐あって、アッテネータの設定を変えた(リモコンの停止ボタン+本体の停止ボタン)ら、無事地デジも映るようになった。RD-X5からの置き換えだと、テレビとの接続をD端子+RCAコンポジットケーブルからHDMIケーブルに変更した以外は、スカパー!連動も含めてそのままケーブルを差し替えるだけでOKだった。スカパー!連動周りの設定も、RD-X5の頃と比べるとずいぶんわかりやすくなったもんだのぉ。

Tags: RD-A600

2007-12-06 [長年日記]

_ Zend_DateのW3C形式対応

現状では、タイムゾーンでZを指定したパターンと、小数秒には対応していないんだね。例外になるんで注意。

本日のツッコミ(全5件) [ツッコミを入れる]

Before...

_ ishinao [新しいbookmarkletを用意した(http://mmmemo.1470.net/mm/about.html)の..]

_ ishinao [> あと、 > http://tdiary.ishinao.net/20060628.html#c > の方にコ..]

_ molio [メモできるようになりました。 ありがとうございました。]