トップ 追記

いしなお!

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|
2009|03|10|

2009-10-29 [長年日記]

_ phpmyadmin 3系とmysql 5.0系 on windows

windows(xp or vista)で、xamppのphpmyadminとmysqlを使ってruby on rails(2.3.4)からmysqlを使おうとしたら、gemでインストールしたruby(1.8.7)のmysqlドライバがmysql 5.1で使おうとすると落ちる。どうやらmysql 5.0ならOKらしい。

しょうがないんで、xamppのmysql 5.1系は削除して、mysql 5.0系を入れることにしたんだけど、ちょうどtritonnのwindowsバイナリが5.0系だったんで、それを入れることにした。

すると、phpmyadminが「show pluginsがない」というエラーを出して動かないようになってしまった。

どうやら"show plugin"だか"show plugins"だかは、mysql 5.1以降で追加されたコマンドなんだけど、phpmyadmin 3系の新しいやつはそれを問答無用で使っちゃってるんでエラーが出るらしい。

phpmyadminのソースをgrepしてみたら、"show plugins"を使っているのはlibraries/blogstreaming.lib.phpしか見あたらなかった。

どう直すのが妥当なのかよくわからないけど、どうせサポートしてない機能の情報を得ようとしているんだから、"select null"にしておいた。

副作用があるかどうかは知らん。

_ vistaでmysqldをサービス登録する

tritonnのWindowsバイナリをd:\mysqlにコピーして、

d:\mysql\bin\mysqld-net --install mysql

とかしようと思ったら、

Install/Remove of the Service Denied!

とかでてサービス登録できない。なぜかと思ったらvistaのUACのせいらしい。コマンドプロンプト自体を明示的に「管理者として実行」して、「管理者:コマンドプロンプト」から実行したら、ふつうに登録できた。

vistaのUACは、自分が管理者アカウントでログインしているときでも、こうやって明示的に「管理者として実行」しないといけないときがあるけど、その仕組みがよくわからん。

で、サービスとして登録できたから、

net start mysql

とかしたらエラーが出て止まる。イベントログを見ると

Can't find messagefile 'C:\mysql\share\english\errmsg.sys'

とか書いてあって、どうやらデフォルトでc:\mysqlを見に行っているせいらしい。コンパネのサービスからmysqlの起動オプションに

--basedir=d:/mysql

とかつけたらようやく動きだした。

コンパネから起動オプションを追加しただけだと

再起動したら起動オプションを忘れてしまうらしい。いったんmysqlサービスを終了してから、

mysqld-nt --remove mysql

してサービスを削除し、

mysqld-nt --install MySQL --basedir=d:/mysql

みたいに起動オプション付きでサービス登録した方がよさそう。


2009-10-27 [長年日記]

_ 久しぶりすぎて

更新の仕方を忘れた。


2009-03-30 なんかあんまり変わってない [長年日記]

_ tDiaryを2.1.4から2.3.1にアップデートした。文字コードがEUC-JPからUTF-8に変わったはずなのに、何も変換操作をしなくても勝手にデータもアップグレードされてくれたっぽい?

ここ1年以上、RSSリーダーもほとんど放置状態だったんだけど、いったん未読をリセットしてからちらっと回ってみた感触では、1年以上見てなかった割には、ネット界はあんまり変わっていないように見えるなー。

実際、個人でのネットの活動にあんまりおもしろみを感じなくなって、(仕事と受動的な遊び以外は)何となくネットから離れていたんだけど、ここ最近ってあんまり大きな変化って起こってないのかな?


2008-07-07 [長年日記]

_ [PHP][発言小町][熱狂小町] 熱狂小町 - 発言小町リーダー作りました

じわじわとブックマークされつつあるみたいなんで、こっちにも書いておきます。Google Codeを使ってみる実験でもあるんで、何かありましたらあちらにどうぞ。 メニュー 最近読んだトピック カテゴリー別トピック一覧 はてなブックマークに登録されているトピック一覧 トピックを表示

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

_  [熱狂小町、使わせていただいてます。 とても便利です! 以下、もしバグフィックスの参考になれば・・・。 投稿者の名前..]

_ ishinao [>w様 Revision 9で修正しておきました。アーカイブにはそのうち反映させます。]

_  [早速のお返事、ありがとうございます!]


2008-04-25 [長年日記]

_ obsoleteフラグ

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

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

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

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

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

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


2008-03-12 [長年日記]

_ [PHP][Zend Framework] 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 [長年日記]

_ [PHP][Zend Framework] Zend_Controller_Dispatcher_Standardのtrunk 247行目

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

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

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