2009年9月6日日曜日

xdebug恐るべし

本当にブレークしやがった。それにしても動いたは良いのだが、今回分からないことだらけ。
peclとは?
いろいろ情報を漁ったものの、明快な私への答えというものは得られなくて、結局本家(http://www.xdebug.org/docs/install)に書かれていた、

# pecl install xdebug

を実行し、php.iniに、

zend_extension="/usr/local/php/modules/xdebug.so"

を倣って、

zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

を書き加え、さらに、netbeansでxdebugが接続できないエラーが発生していた頃に表示されていたエラーからphp.iniに、

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

を書き加えた。

peclはportでphpをインストールしたとき、+pearとしてPEARを導入していたつもりだったので、ひょっとしたら入っているのではないかと思って打ってみただけ。本当に適当にやったのだ。

そしたらなんか、cのコンパイルっぽいエコーがダーっと出力されて、ここでエラったらどうしようもないだろうなと思いつつ眺めていると、終わった。最後のメッセージを読むと、どうやら正常終了したような気がする。

そこで、先に書いたphp.iniのzend_extention=を追加してapache2を再起動してみたら、なんと! デバッガが動いたわけですよ。いや〜すごい。とここでまた一つ疑問が。

netbeansはどうしてxdebugでソースデバッグができるのか?

あと、var_dump()がxdebugのそれに置き換わったようで、
key=<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'b'</font> <i>(length=1)</i>

みたいに出力される。見やすくなったといえば見やすくなったが、ごめんなさい、微妙に中途半端な印象。

ちなみに私はhtmlに出力している途中のダンプ(var_dump()や勝手echo())はhtmlコメントで挟むようにしていますが、何か他にいい方法はないものだろうかと。うちの社員はファイルに出力しているようです。偉い! 自分にはそれ、ちょっと面倒くさいかも。

peclのログは下書きとして保存です。
ここでコードを畳んでおけるなら置くのですが、bloggerでそんなことできます? ここに何かJavaScript置けばできそうな気も、と例によって他力本願。

2009年9月4日金曜日

Flashを訪ねてJavaFXを知る

javafxで何か分からないことがあったら、まずflashで調べてみよう。例えばムービーのサイズを拡大したいとき、"flash ムービー 拡大"でググってみると、xscale,yscaleというのが見つかる。返す刀でjavafx api referenceからmediaViewの中にそれらしい物はないかと目を凝らすと、scaleX,scaleYという変数が。JavaFX の場合、これが倍率になっていて、例えば2を設定すると、2倍に拡大される。

英語力があれば、APIリファレンスを読み倒せば良いだけかもしれないが。