YAPC::Asia 2008 2日目
今日は6時に起きて前日のレポートを書きました。自宅から会場まで Door to Door で 1時間くらいかかるので、9:45 の一番初めのセッションに出るためには 8:45 に家を出ないといけません。すごい朝型!さきほど帰宅しましたが、もうすでに相当眠いです・・。
FormValidator::Assets
How to defend Apache/CGI against multibyte XSS attacks
- mod_imagefight
- 試験用に作成した Apache モジュール
- mod_わっふる
- パフォーマンスにも気をつかって作成
DBIx::MoCo
Introducing "MobaSiF" (Mobile Simple Framework)
- 今日からオープンソースとしてリリース
- 2003年から開発
- レガシーだが安定
- もばおく
- ポケットアフィリエイト
- モバゲータウン
- 毎日5億PV
- ユーザー1000万人
- もばこれ
- 絵文字変換
- キャリア検地
- 端末の種類と機種名と端末ID
- テンプレートエンジン
- 薄いフレームワーク
- 環境
- DoCoMo: FOMA(ただし https では i-mode ID が取れない)のみ
- au: WINのみ
- SoftBank: 3Gのみ
- MobileEnv.pm
- 接続元の IP を見てキャリアを判断
- 絵文字
- 3つのキャリアで違う
- エンコードも違う
- i絵文字で入れる
- ない場合は似た絵文字が出る
- テンプレートエンジン
- バイナリ化されてメモリにキャッシュされる
- シンプルな文法
- エスケープ
- IF, LOOP
- 簡単なページで TT の10倍速い
- ちょっと複雑なページで TT の22倍速い
- 絵文字変換
- Encode::JP:Mobile の3倍速い
- Catalyst の 6倍速い
- O/R マッパはない(SQLベタ書き)
- Daemon.pm でデーモンを書きやすくする
- MLog.pm
- メール配信エンジン(mobamail)は後ほど公開されます
- http://sourceforge.jp/projects/moba/
- MySQL に依存した部分はそんなにないので他のものが使いたければ書き換えてね
- リアルタイム性が結構重要なのでキャッシュはあんまりしていない
Improving your Catalyst application
- 本を書きました
- 初心者に最適
- アクション
- Local
- Local('name')
- Path
- Path Args(0)
- index はもう使わない
- default は 404 を返すときなどに
- Chained 便利
- Catalyst::Action::REST 使おう
- GET と POST で If 文を書かなくてすむよ
- action_GET と action_POST が自動で呼ばれます
- irc.perl.org/#catalyst
- 太ったコントローラ
- テストできないよ
- 再利用できないよ
- Moose を使ってロジックを書く例
- DBICx::TestDatabase
- Catalyst::Model::Apaptor
- コントローラは本当に小さくするべきだよ
- Config::Any で yaml, ini, perl, json でも設定がかけるよ
- Moose の使いどころ
- モデル
- コントローラ(たぶん動くけど・・)
package MyApp:Controller::Foo; use Moose; BEGIN { extends 'Catalyst::Controller' };
From POE to Erlang
- 通常はシングルスレッド
- ithread が最近できたけどつかっている人は少ない
- fork() するもの
- fork() は遅い
- select ループは使いこなすのが難しい
- POE みたいなフレームワークを使えば楽になります
- スレッドは危険
- POE でシンプルな例を作ったけどデッドロック対策とか難しいよ
- GUI プログラミングはもっと難しいよ
- POE はイベント駆動、協調モデル
- Erlang はアクターモデル
- ムーアの法則が続いていれば2009年には32GHzになるはず
- 速度は増えずにCPUコアが増えてる
- マルチスレッドプログラミングが必須になりつつある
- 並列プログラミング
- 共有モデルはいろいろ気をつけないといけないよ
- メッセージ交換モデルは何も共有しないよ(Erlangはこっち)
- Erlang
- 動的型付け
- リアルタイム
- パターンマッチ
- リスト
- サーバー・クライアントを作るのが簡単
Gungho and cloud computing, a scalable crawling and processing framework
Perl Is unDead
- 脳みそ〜
- Perl は脳みそが必要です
- Perl は COBOL みたい?
- Perl は死んだ?
- CPAN 登録速度はむしろ上がっています
- Perl カンファレンスとハカソンの合計も増えています
- Ruby は無視して
- PHP は笑って
- Python と戦って
- 90年代、Perl 以外は遅かった
- Perl はどこでも入っていた
- Web 1.0 を制覇
- Web 2.0 で見失った
- PHP, Ruby, Python も速くなってきたし
- フォークソングみたいなプログラミング
- シンプルさはどこに行った?
- 今のフォークソングみたいなプログラミングは Javascript
- Perl はいつもボトムアップ(トップダウンで使われることはない)
- Perl は他の人たちと上手く付き合えない
- 独自ドメインをとる
- 世の中の人にもっと使われていることを知ってもらおう
- SEO 対策をする
- プログラムはユーザーが好きだ
- 次のすげーアプリケーションを Perl で書こう
- PHP アプリケーションをインストールしてみよう
- ダウンロードしてきたらすぐ使える
- 最初の10分を簡単にしよう
- 他のギークのイベントに行こう
- ランチを一緒にして新しいアイデアを取り入れよう