第24回PHP勉強会

http://events.php.gr.jp/event.php/event_show/20
木曜日の夜に行われた勉強会に参加してきました。サイボウズ・ラボさん、発表者の皆さんありがとうございます。
遅くなりましたが、自分なりのまとめ。

君はまたextensionか(PECL_CodeGenC++するとハマる件) - haltさん

  • Extensionを使えばPHPだってやればできる子だよ!(某エントリあて)
  • 前回のおさらい
    • ミサイルはやっぱり結構飛ぶ。
  • ExtensionでFizzBuzz実装
  • Txのwrapperを書きたい!
  • C++で上手く動かない件は、koyhogeさん曰く、マングリングが上手くいっていないのではないか
    • C++,Cでそれぞれ同じ関数をコンパイルしてもシンボル名が異なる。Cで書かれた関数を呼ぶには全てextern "C" {} で囲う。
    • g++使うように。
    • CodeGen_PECLはやってくれない?しっかりしてくれよ

携帯とPC両対応システムの構築 - 野間さん

  • 紙資料あり
  • 携帯・PC両方の対応したいけど、そんなに時間もお金もかけれない。わかる!!
    • 別システムにすると大変
    • テンプレートもプログラムも共通化する
  • キャリアによってテンプレートの振りわけ
  • 最終的なアウトップトフィルタでそれぞれにあわせた出力
    • 絵文字変換,タグの除去とかとか。
  • デザインはPCはCSS, 携帯はfontタグ
  • Rewriteで画像のハンドリング
    • URL上では jpgだけど実はgifとか?
  • 出力は全てShift_Jis
  • 独自テンプレートエンジンを実装
    • Rhacoのテンプレート継承にちょっと似てる。ブロック内の書き換えとか。
  • 衝撃。実は殆どPerlPHPは一部だけ。w

TwitterAPI+GraphViz一発ネタ- shimookaさん

  • PHP3.0.xから使ってます。
  • mixiGraphっぽいものをTwitterで。
    • 現状では自分のフレンズのフレンズまで
  • TwitterはServices_Twitterで。
  • グラフ生成はPEAR::Image_Graphviz
    • 内部でバッククォートを使って、コマンドを叩いてる。
    • デフォはSVGpng等でも出せる。
      • SVGだとClickableにできる。
      • しかしAdobeはSVGViewerのサポート終了宣言。orz
    • ExtensionでもGraphvizを叩くものがあるらしい。
  • 地図でできることは大体できるかも。フレンズからフレンズの最短経路とか。
  • 可視化するってのはやっぱり面白い!

Javaでグラフ - サイボウズ・ラボ 西尾さん

  • グラフの話が出たので飛び入り!
  • 最近ラボの人に。Puthonの方。
  • デモではマッチ棒7本でできる図形を全て表示してそれがウニョウニョ動いてた。自分で動かしたり。説明できないけど面白い!
  • しかもXML-RPCで公開している。
  • データフォーマットはYAML
  • 他の人とグラフのリアルタイム同期ができるらしい。
    • しかし、今回のデモのバージョンでは動きませんでした。
    • 西尾さん曰く「testっていう名前が付いてたから怪しいと思った」。w

その他

  • runkit最高。デフォで入れて欲しい。
    • でも諸刃の剣w
    • 気になってたけど触ったことない。今度使ってみよう。
  • Ethnaにそろそろ動きあり?
  • 24回目、2周年おめでとうございます。
  • http://events.php.gr.jp/event.phpには実はイベント個別レベルでのRSSがある。
  • もしかして〜…と思ってた、最近気になってた方にもお会いできました!


C++はかじった程度なので殆どわからないのでextern "C"は存在は知ってたけど内部の動作は詳しくしらなかった。
マングリング(mangling)について二流プログラマの三流な日常さんのところでお勉強。