僕がnginxについて知ってるたった一つのTips

$sudo svn export http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/library/Zend/Http/Response.php --force request()->getBody(); Warning: gzuncompress(): data error in /usr/share/php/Ze…

第44回PHP勉強会@関東

http://events.php.gr.jp/events/show/81 に参加&お話をしてきました。 Phpstudy44 Zend Frameworkが抱えている問題は多い。View more presentations from sasezaki. yandoさんのDPC09発表の補足を、偏った観点で行うと、 ・Zend Framework Workshopは1.8か…

ZFDebug(旧略称ZF Debug Bar)を拡張してみる

symfonyにはsfWebDebugToolbarというのがあるらしいです。 どこかで見たことあるなあと思ったら、ZFDebugbarにそっくりじゃないですか!*1 symfony1.2のdebugツールバーは拡張が容易になったそうですね。 sfWebDebugToolbarを 拡張してみる http://d.hatena.…

ZendX_Console_Process_Unixの嘘やく

そういえば、ZendX_Console_Process_Unixの勝手訳をgistに挙げときました。(書いたの2週間ぐらい前だけど) http://gist.github.com/99757 (機械翻訳のほうがマシなのではという噂)

URLとXPath指定で良心てきにぶっこ抜きを行うexthtml.phpのいま

exthtml.pl*1のばったもんexthtml.phpですが、最近でもちょくちょく手を加えています。 http://diggin.googlecode.com/svn/trunk/bin/exthtml.php (ZF1.8のZend_Loader_Autoloaderにもいちおう対応) 本家との違いは、 引数 -v で取得型指定(@hrefとかDISPと…

スクレイピングwithPHPの本がでるよ。ヨ!

もちろん英語だけどな。。 PHP/Curlの本は2年前に出てるんだけれど*1、 Zend PHPカンファレンスでもスクレイピングの講演を行った elazar*2のミニ本がPHP|Architectで今年の3/4あたりで出るらしい。 んで、その内容はgithubに挙げられてる! http://github.c…

ZF1.8対応のデモコード

http://code.google.com/p/zendframeworkstorefront/ http://akrabat.com/zend-framework-tutorial/ なんか、Zend_Applicationについて先走って書いたからか.com以外のgoogleリファラが来てますが、1.8対応のサンプルは上のを見れば良いんじゃないでしょうか…

Zend_Application_Module_Autoloaderで、モジュールロードを手っ取り早く(デフォルトにそって)やる場合のメモ

よく知られているとおりZFはフォルダ構造の締め付けが弱くうんぬんの話はさておいて、よく知られているとおり1.8は一つのZFのターニングポイント。。(以下省略) さて、ZFのtrunkではZend_Loader_Autoloadが用意されています。 Zend_Loader_Autoloader_Interf…

HTML_CSS_Selector2XPath vs Zend_Dom_Query_Css2Xpath

openpearにてHTML_CSS_Selector2XPathがリリースされました。 http://openpear.org/package/HTML_CSS_Selector2XPathselector2XPath自体はyudoufuさん作で前からありましたが、 (ていうか、今「selector2XPath php」で検索したら他のも見つかったよ。。) Mug…

ZF勉強会に行ってきた

CakePHPやsymfony、CI、rhacoは独自の勉強会が開催されていたにも関わらず、 一度も日本で行われおらず待望論があったZFの勉強会に参加してきました。会場提供のウノウは初潜入です。 http://events.php.gr.jp/events/show/72 発表のダイジェストはnorikoさ…

ついき

iogiさんとこで紹介ありますが、ニコ動に動画があがっているようです。 http://d.hatena.ne.jp/i_ogi/20090324/1237914701 (ん?今混んでて見れない?) 発表のときに「もともとのWWW::HanakoがWeb::Scraper使ってるんだからDSLぱくればいいんですよ!」とDig…

第41回PHP勉強会@関東

http://events.php.gr.jp/events/show/71 発表というかネタふりしてきました。いつもトライコーンさんありがとうございます。 発表中の改変クラスとテストコードは以下です。 http://gist.github.com/83615 http://gist.github.com/83616 git clone git://gi…

カレントディレクトリー配下の*.phpなファイルの文字列を一括置換するワンライナー

ということで、new Diggin_Scraper_Processと記述していたところをnew Diggin_Scraperと変更する必要があります。適当にやるならこうでしょうか。*1 php -r 'class ExtFilter extends FilterIterator{function __construct(Iterator $i){parent::__construct…

よこく

次の0.6.0のDigginではScraperまわりをまたいじります。 http://code.google.com/p/diggin/source/detail?r=220 いままでprocessを入れ子にする場合、Diggin_Scraper_Processのprocessメソッド呼び出しにしてましたが、Diggin_Scraperクラスでの入れ子ができ…

今のWeb::ScraperとDiggin_Scraperの違い

#!/usr/bin/perl use Web::Scraper; use URI; use Data::Dumper; my $html = << "END_OF_HTML"; <html> <head> <base href="file:///diggin.musicrider.com/" /> <base href="http://diggin.musicrider.com/" /> <base href="file://musicrider.com/" /> </head> <body> <a href="?param=get">get</a> <hr /></hr></body></html>

FirePHPを用いた、スクレイピングデバッグに関する考案

今回は、架空のサイトevents.php.bunko.jpを対象にスクレイプ&spidering対象にします。 仮に、勉強会の参加回数を聞かれて答えに窮する状況があったとします。 参加回数の表示機能は、カリオストロ城の奥地に眠っているらしくすぐに使うのは困難なようです…

第39回PHP勉強会@関東に参加

29日に行われた、勉強会に参加してきました。最近はすべりこみで参加が多いような。。(私が http://events.php.gr.jp/events/show/67 詳細な場所が参加申し込み前から表示されていた会場のディノさんありがとうございます。 動画のほうはustにすでにあがって…

Diggin 0.5.3リリース

(*注 現段階でpear install してもxmlnsの除去に関するバグは除かれません。(後述))インストールは pear install --alldeps --force http://diggin.musicrider.com/Diggin.tgz です。 ただし、以前のバージョンを入れられていた場合、 pear uninstall __uri…

最近のZend Frameworkの話

元旦にこの前の発表スライドにZJ吉田さんからコメントをいただきました。 とのことです。 ZFのセミ公式pearチャンネルができました。 詳しくは、Ralph Schindlerの記事をご覧ください。 http://ralphschindler.com/2009/01/07/the-semi-official-zend-framew…

第38回PHP勉強会に参加

第38回PHP勉強会 http://events.php.gr.jp/events/show/66 に参加&発表してきました。 発表時のスライド: 発表時は病み上がりで鼻声だったこともあってカミカミでした。スイマセンでした。 懇親会は今回kunitさんと同じテーブルだったので、有名なkunitさん…

PEAR2の例外の基本はインターフェイス

タイトルだけでは日本語が崩壊してますが、 現在wiki.php.netに挙がっているPEAR2のexceptionポリシーでは基本となるexceptionはインターフェイスとし、それをimplementsした個々の例外クラスを用いるようです。 http://wiki.php.net/pear/rfc/pear2_excepti…

HTTP_Request2にaddQueryStringはひつよう?

リクエストというコンポーネントの責務としてクエリーの組み立ては必要なのかというと私は懐疑的にならざるおえません。 http://d.hatena.ne.jp/sotarok/20081121/1227251508 setQueryVariable('queryKey1', 'word1'); $url2->setQueryVariable('query Key2'…

第3回PHP懇親会

http://events.php.gr.jp/events/show/59 参加しました。参加者の皆さん、会場の新宿「ファンデリ」さんありがとうございました。 スライド用の画像はやる夫で学ぶジェネレーターを使って作ってみました。 http://yaruodemanabu.com/learnings/21/stories/271…

PHP関西勉強会での懇親会

・ミュージックステーションのばったもんくさい映像が淡々と流れてる韓国料理のお店 ・座った席、対面側の方々がheavenshellさんの知り合いの方(ぼかした書き方)だと知ってチヂミ噴きそうになった。 ・デザイナーさんとの連携的な話、Zend_Dbのpdoのoracleの…

PHP関西勉強会にて参加&発表

11月7日夜に行われた、PHP関西勉強会に参加させてもらいました。 http://events.php.gr.jp/events/show/61 主催のkunitさん、shin1x1さん並びに参加された方々、色々ありがとうございました。 関西の勉強会なのに、関西に縁がない私が発表を唐突に表明すると…

美輪明宏のチンコの有無を返すAPIから得た結果をテンプレートに反映させるには。

kumatch先生*1が開発しているsimplehtmlparserを利用したPHP5 HTML テンプレートエンジンRunemaster*2ちょっとだけ触ってみました。 template.htmlというHTMLを用意。 <p>美輪明宏にチンコは...<span key="miwa">...</span>。</p>

Diggin 0.5.0リリース

svnのrev124あたりをベースにパッケージングしました。 http://code.google.com/p/diggin/updates/list インストールは、 pear install http://diggin.musicrider.com/Diggin.tgz アンインストール(!)は、 pear uninstall __uri/Diggin pear uninstall __ur…

Zend Framework的フォルダ構成に対する、pearパッケージング方法(?)

もともとpearパッケージングする際には Ganchiku.comの いまいちPackageFileManager2が使いこなせない件について(修正:ちょっとわかってきた) http://www.ganchiku.com/2006/08/packagefilemanager2_1.html を参考にmakepackage.phpを改変して行ってたん…

Diggin_Scraperの図

PerlのWebクライアントライブラリ http://wassr.jp/user/tsukamoto/statuses/FYeMFTe8Ed/photo_html に対抗(?)してDiggin_Scraperが基本的にどのような処理をしているか図示してみました。 下手ですね。 で、図にあるとおりFlexibleという「cssかxpath」ど…

PHPでブックオフの店舗を検索し、結果をDOMElementのイテレータに格納する?

Perlでブックオフの店舗を検索し、結果をハッシュの配列に格納する - As a Futurist... http://blog.riywo.com/2008/03/31/164327 Big Sky :: Perlでブックオフの店舗を検索し、結果をハッシュの配列に格納する http://mattn.kaoriya.net/software/lang/perl…