適当に実況します。ネットワークとバッテリーが続く限り。
9:15
開場されました。結構ガラガラな感じです。
9:38 Welcome / Tatsuhiko Miyagawa
世界最大のYAPCらしいです。
9:48 Kwiki and the Symlink / Ingy dot Net
- ドラエモンな猫 × 3
- Ingy dot Netを本名にしたっぽい
- "Ingy döt Net" in Hatena ... orz
- Kwiki2.0の紹介
- Symlinkを色々使っている
- 依存するモジュール
- ドキュメント
- 継承
- インストールを手早くするノウハウ?
- やっぱ英語きつい(笑)
10:25 Virtualization and Package Deployment with EC2 / Emerson Mills
11:05 Higher-Order Parsing techniques for Perl / Mark Jason Dominus
12:00 ランチタイム
唐揚げ定食。
13:52 Perlネットワークプログラミング再考 / Naoya Ito
- httpdに飽きた( ´△`)
- Perlで書いてもそんなに遅くない
- Socket とか IO::Socket で Socket API 呼べます
- sysreadとsyswriteで、バッファリングを迂回する
- blockingの見分け方 (STAT = R or S, read_chan, CPU TIME 等)
- sleepからHardware割り込みが発生するまでblockingされる
- I/O Multiplexing: forkやthreadを使わないI/Oの並行処理*2
- ※select()は引き数の数で動きが変わる
- IO::Select で実現が可能
- select(2)の弱点: C10K、効率 → epoll, kqueue, devpoll
- Sys::Syscall または IO::Epoll (:compatモードでIO::Poll互換)
- システムコールを抽象化し、イベントドリブンで書けるようにするperlフレームワーク
- POE: 自社フレームワークのWEBサーバやIRCのボット
- Event::Lib Event.pmと似ていて、よりシンプル
- Danga::Socket 実績がある
14:46 Everything Vox / Ben Trott
- 同時通訳(miyagawaさんthanksヽ(‘ ∇‘ )ノ!)
- Six Apartの4つめのサービス
- WEB2.0ってウェブトゥーポイントオーって読むのか・・・
- XML::LibXMLを使ってる
- GData, OpenSearch, Media RSS → Open Media Profile
- Ajaxに関してはCatalyst + JSON-RPCを使っている
- JavaScriptに関しては自作ライブラリ(ソースも公開されている)
- Data::ObjectDriver
- キャッシュがサポートされている
- 透過的なパーティショニング*3
- AUTO_INCREMENTは利用できない
- yuidd ユニークなIDを発行するサーバを用意した
- TheSchwartz ジョブの分散。Workerがポーリングしてジョブを処理する
- TheSchwwartzはVideo変換や、キャッシュのクリアや、更新履歴処理に利用
- Catalystは拡張性が高く、十分高速
- TTはちょっと遅い
- TTのテンプレートにアプリのバージョンを入れている(キャッシュ防止)
- Perlbal
- パーティショニングに関する横断検索のTips
- インデックステーブルを別のサーバに作成する