PHPカンファレンス2005行って来ました。

寝坊したけど間に合って良かったです。
テンション無理やり上げて、発表も何とか終わりました。

資料: framework description.pdf

フレームワークのお話はそれぞれ新しいトピックが聞けて、ホントに1ヶ月とか1週間とかいう単位で状況がどんどん動いていっているなと思いました。

トピック:

  • ICCの確認のせいで複雑に
  • Agavi
  • パターンをフレームワークのプラグインに
  • フレームワークでCSRF対策
  • Seasar.PHP

2~3時間ぐらいしかいられなかったんですが、Php Application Design Handbookを注文しちゃったZefardさんにお会いできたり、会社の別支社の方と話せたりして楽しかったです。

その後、西武新宿の激旨ホルモン屋「幸永」でプチ打ち上げ。

ref: PHPカンファレンス2005

この間のおざきさんの話がすごい気になってたんですが、対策できました!

Mojaviのすべての基本となるSCRIPT_PATH定数をこんな感じで設定してやれば、この間つくったURIUtil::redirect()もSmartyプラグインのmojavi_uriも絶対URIを吐いてくれます。

/**
* An absolute web path to the index.php script.
*/
define('SCRIPT_PATH', strtolower(trim(array_shift(split("/", $_SERVER["SERVER_PROTOCOL"]))))."://".$_SERVER["HTTP_HOST"].dirname($_SERVER["PHP_SELF"])."/index.php");

きもちー。

ref: リダイレクト面倒

2005/07/08追記:

こっちの方がよい(via MugeSo)

/**
* An absolute web path to the index.php script.
*/
define('SCRIPT_PATH', strtolower(trim(array_shift(split("/", $_SERVER["SERVER_PROTOCOL"]))))."://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"]);

Byecycle – Aesthetic Programming for Eclipse

logobyecycle.gif

Byecycle is an auto-arranging dependency analysis plug-in for Eclipse.

クラスの依存関係を表示するEclipseプラグイン。
可視化してくれると依存関係を減らすのが楽しくなっていいかも!こんな風に小ネタをすぐにEclipseプラグイン化できるようになりたい。

php_study.jpg

第一回PHP勉強会 in Tokyo行って来ました。
PHPの濃い話がたくさん聞けてとってもためになりました!

内容はたくさんあって書ききれないですが、ためになったことメモ。(順不同)

  • DI/AOP
  • 配列と連想配列は同じ
  • 配列の添え字はintかchar*、値はzval
  • Maple, Dicon
  • Ethna info(早速パクッてMojavi info作りたい)
  • CatalystはRails似
  • Apache + FastCGI不安定
  • session_id()でホストアドレスとかくっつければ複数Webサーバセッション保存でもセッションIDかぶらない
  • PHP4限定、$this経由Factoryクラス(factoryメソッドじゃなくて)
  • QFのPasswordエレメント、Hiddenアスタリスク問題対応策
  • 外人はConfirm(確認画面)作らない
  • 日本では一時期の法律問題でConfirm作る文化がある可能性(Historical reason pattern)
  • SimpleXMLはアクセスしたときオブジェクトができる
  • SimpleXMLではあらかじめネームスペースを指定してから取る(=非実用的)
  • Railsでmixin前提設計
  • PEAR XML_Serializer不可逆シリアライズ
  • GooはPHPベースが多い
  • Popoon = PHP版Apache Cocoon
  • Maple, Dicon, QF, DBDO, FormBuilder
  • DreamWeaverDWTSmartyDWTプラグイン

おれの方ではMojaviでのパターンについて話させていただきました。

MSICC.pdf
msicc-1.4.zip

ある程度の規模で開発標準を決める場合、利便性よりも「共通の決まりを使用すること」や「繰り返し使うこと」の方が重要になってきてしまいます。
Mojaviでの開発標準やコーディング規約関連が落ち着いたらRailsやSeesaa、MapleやEthnaなど試したいです。

PHPEclipse.net

or download the current features.zip at sourceforge.net:
PHPeclipse-1.1.4-features.zip

繋がらなかったPHPEclipse更新サイトですが、復活してさらにzip版も提供されてます。

1.1.4からサーバアプリまとめたパッケージXAMPP(1.1.3までは古いwampp2に対応)に対応したり、更新サイトでQuantum DBやSFTP、Subclipseなんかのプラグインをついでに入れることができてPHP開発環境としての利便性が増してます。

個人的にはApacheやPHPは手動でそれぞれ入れてますが、dbgでのデバッグも動くし快適です。(dbgのPHP 4.3.11対応版が出てないのが気になりますが)
後はCtrl Shift FのフォーマッタがJDTみたいにカスタマイズできたらいいなと思います。(のでFeature Requestsに出しときました。)

ref: PHPEclipse1.1.4つながらない

Structurred Blogging: blog.bulknews.net

Sturctured Blogging は実際はいわゆるタギングとはちょっと違い、コンテンツを XML でマークアップして、XML Schema でそれを評価しようという小文字な semantic web 的な試み。実際に WordPress のプラグインが structuredblogging.org で出ています。

小文字なsemantic webって何だろう?

ちょっとしたメモ – 小文字のsemantic web

W3Cの進める「Semantic Web」にはまだリアリティを感じられなくても、自分の文書のマーク付けを工夫して、より正確な情報を提供したいと考えている人は少なくない。RDF/XMLを直に記述するのではなく、従来の(X)HTMLを利用してメタデータの提供を試みようという「小文字のsemantic web」が、静かに広まっている。

なるほど、(X)HTMLのボキャブラリ内で意味付けをしていこうということみたいです。

久しぶりにPHPなので開発環境を整え(ようとし)ました。

1.0 Finalが出たTruStudio試したかった。プラグイン版で動かすとエラー多発。Eclipse同伴版で動かしたけどファイルセーブするとエラー。JDTに比べるとかなり残念。結局テキストエディターでやりました。

p0t: komono toolsオープン

audioscrobblerで聞いている最新の曲を一覧で出力する komono toolを作ってほしいです。

投稿者 halt : 2005年02月28日 15:10

audioscrobblerがわからなかったので調べました。音楽を介したSNSみたいな感じなようです。自分の使っているプレイヤーに対応したプラグインを入れると聴いた曲がaudioscrobblerの自分のページにアップされました。なるほど、Webserviceを公開しているので素敵な連携ができそうです。

<script type="text/javascript" 
src="http://komono.no-ip.org/rss.php?url=
http://ws.audioscrobbler.com/rss/recent.php?user=<strong>komagata</strong>"&gt;
&lt;/script&gt;
表示例:

太字の部分を自分のaudioscrobblerのアカウントに変えてください。
サーバにCGIとか設置する必要なくてちょっと楽じゃない?

xored software – TruStudio 1.0 Final Release

Xored Software Team is pleased to announce that TruStudio 1.0 Final is released.

Built on top of Eclipse platform, TruStudio presents a unique extensible Integrated Development Environment for PHP and Python, providing a powerful set of editing, debugging and deployment tools:

EclipseのPHP開発環境プラグインTruStudio1.0 Finalがリリースされました。
使ってみてPHPEclipseとの違いなどをレポートできればと思います。

Open Proxy からの Trackback Ping を拒否する MT プラグイン: blog.bulknews.net

Trackback Ping SPAM がなかなかひどいことになってきていて、特定のキーワードや URL ベースでブラックリストしているのですが新規追加もなかなかメンドウ。

ということで、DNS ベースの Blacklist である DSBL を利用して IP アドレスがブラックリストに載っている場合は Trackback Ping を拒否するプラグイン mt-tbping-dsbl をつくってみました。

tbping_plugin.png

Googleがnofollow属性をページランクから除外してから露骨にトラックバックスパムが増えてきてるようなので導入。

動作にはNet::DNSかnslookupコマンドが必要とこのこと。丁度nslookup欲しかったのでこっちを入れました。debian woodyだとdnsutilsパッケージに含まれてました。

利用可能なプラグインに表示されて嬉しい。でも常連であるonline pokerからは防げず!