Hatena::ブログ(Diary)

おぎろぐはてな RSSフィード

2008-01-05

PHP拡張勉強会を考えてみる

PHP勉強会では、フレームワークからPEARライブラリ、拡張の作り方から正規表現の動作まで、発表のジャンルも幅広くやってます。とはいえ、PHP勉強会という名目上(、というか、発表内容が直前に出てくることが多いので)、あんまりディープな話はできないかなーというのがある。

で、PHPコード読書会の話*1から話がそれて、PHP拡張やxdebugの読書会とかという話が出てきた。

@cocoitiban C勉強会!!

Hideyuki SHIMOOKAさんのツイート: "@cocoitiban C勉強会!!"

@cocoitiban xdebug読書会++!PHP勉強会でやるネタじゃないでしょうけどw

Sotaro KARASAWA©さんのツイート: "@cocoitiban xdebug読書会++!PHP勉強会でやるネタじゃないでしょうけどw"

PHPの範囲とはいえ、言語がC言語になっちゃうので、PHP勉強会でやるにはずれているかなというのがあるので、C言語縛りの分科会を作ってもいいんでないかなぁと。「PHP拡張分科会」的な。

なんとなく思いついたことを箇条書き

目的

PHP拡張の作り方を勉強することで、C言語もある程度使えるようになること、Cレベルの実装を見ることで、PHPの理解をより深めること。

PHPのソースコードがCの勉強にいいとは思えないんですが、「こういう動きをする拡張を書きたい」→「あの関数を見れば分かる」とか「なぜこの関数がこういう動きをするのか」→「こういうクソ実装になってるからなのか」と、CとPHPの世界を行き来することで、PHPの理解をより深めることができます。

対象者

C言語触ったことがあるくらいのひと。ポインタ、構造体あたりくらいまでなんとなく分かるひと。

コード書かないと理解できないから、ノートPC持ち込みで?

やる内容

いろいろ考えた!

  • PEAR::CodeGen_PECLを使ったExtensionの作り方
    • 簡単にExtensionを作れるようになりたい
  • もっと実用的な作り方
    • CodeGen_PECLでは設定できないこととか、配列の操作とか、MINIT・RINITとか
  • テーマを絞った読書会
    • 配列の操作とか、あの関数の実装はどうなってるかなど、役に立つところから、==比較の動作であるとか役に立たないことまで
  • xdebug読書会
    • PHPのフックしどころが満載で、いいとは思う
  • Sara本 (か、Saraのプレゼン資料)に沿った読書+実践
    • Sara本(→Extending and Embedding PHP (Developer's Library))は拡張を書くのにとてもよい参考書なのですが、洋書だし安くもないので (でも、現時点だと5000円くらいなので焼肉1回分くらいだから悪くはないな)、参加者が買うのに躊躇しそう
    • Saraの講演資料はとても素敵なので、それをベースに、読み進めながら解説+実践のパターン
      • Saraのじゃないけど、ここの"PHP Extension Writing"の資料とか
    • PHP: PHP のコア: ハッカーの手引き - Manual の内容が充実してくれば、これもよさそうです。(ついでに和訳もしたりするとなおベターかも)

この中だと、xdebug読書会か、Saraプレゼン読書会が、テーマの設定とか何もなくて始めやすいと思いますが、敷居が高そう。

トライアル的に一度やってみるかな。。

Extending and Embedding PHP (Developer's Library)

Extending and Embedding PHP (Developer's Library)

*1:PEARライブラリの実装とか、フレームワークの実装の比較であるとか、PHPコードレベルの読書会は、これとは別に考えてちゃんとやってみたいところ

halthalt 2008/01/06 00:52 超参加したい!

i_ogii_ogi 2008/01/06 12:19 ぜひぜひ!

suztomosuztomo 2008/01/06 14:36 興味ありです!

i_ogii_ogi 2008/01/06 14:42 きまったら、ぜひ参加してくださいー

masaki-fujimotomasaki-fujimoto 2008/01/06 15:48 おぉ、おもしろそうです!(ごぶさたしています)決まったらぜひぜひ参加させていただきたいですー。

makingxmakingx 2008/01/06 20:27 こんにちは.
PHP拡張に関してですが,SWIGでさくっと作る OR 吐かれるコードの良し悪しを検討する,もどうでしょうか?
適当に試してみましたが,なかなか使えそうでした
http://makingx.net/blog/2008/01/06/php-libsvm/

i_ogii_ogi 2008/01/06 21:25 > masaki-fujimoto さん
お。ぜひぜひー

> makingx さん
ありがとうございます
多言語対応できるし、SWIGは便利ですよね。自分が使ってる頃には、PHP対応があまり整備されていなかったのと、何よりインターフェイスファイルの書き方が分からずあきらめてしまったことが --;
吐かれたコードは人が読むのは結構辛いかなという印象だったので、初めて読む人には不向きかもです。
SWIGでライブラリのwrapperをさくっと作れるようになると、世界が広がるのでやってみたいですね

yandoyando 2008/01/07 09:29 APCとかも面白そう。

nemonemo 2008/01/08 15:42 出遅れましたが、参加したいですっ。
#少人数なら、中目黒で場所貸しOKです(〜6,7人限界かな)

i_ogii_ogi 2008/01/09 01:49 >yando さん
コアですねーw
ロックとかいろいろCの世界の勉強にはなるなー

>nemo さん
おお、ありがとうございますー
ぜひぜひー

現在、開催に向けて調整中です。多くの反響をもらってうれしい反面、それぞれの人が拡張勉強会に求めていることは違うのかな (エントリー?マニアック?実践的?)、というのを考えてしまって、内容をどうしようかとすごく悩んでます。。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

Connection: close