ゆきのぶ日記
2008/05/16(Fri) [長年日記]
■ [yapcasia2008] YAPC::Asia 二日目
昨日はしゃぎすぎてしまったせいか、体調が悪すぎた。
Yoshinori TAKESAKO (takesako) - How to defend Apache/CGI against multibyte XSS attacks
- YAPC のパンフ写真は HDR 写真である
- shibuya.jpeg (cho45++)
- サウンドハウスからカード番号が漏洩した
- 統計は IPA より色々と
- wafful.org 英語で書いている
- mod_imagefight
- IE コンテンツ自動判別による XSS
- IE 特有の脆弱性なので、Web アプリでの対応は面倒だよね
- HTML Escape してもだめなケース
- hoshikuzu++, hasegawayousuke++
- MEditor は IE と同じような EUC 解釈を行う
- 未定義領域への対応がアドホック
- 本来はブラウザもバグである
- mod_wafful (WAF for user library)
- 今までの WAF はブラックリスト方式で抜けがあった
- WAFful では許可するものを指定するホワイトリスト方式
- 「契約による設計」と言う概念(達人プログラマー)
- POST のロギングも可能
- charset の確認も Apache Flter で実装
- これからは Validation の時代
- 安全な Web 社会の実現をしたい
- Q&A
- この問題の再現は IE6 のみか。IE7 はどうか。
- 確認している範囲では IE6 のみ。IE7 は試していない。
- はまちちゃんのあしあと帳と同じ仕組みか
- その手法は知らないが、今回の手法はあまり知られていないと思う。
- パフォーマンスは
- imagefight は PoC なので微妙。wafful は実運用用にブラッシュアップしてから出す。
Naoya Ito - DBIx::MoCo
OR マッピングしたことない。なんか便利そうだ。
- DBIx クラスを使っている人多い。7 割くらい。DBI クラスを使っている人は 2 割くらいで少数派。
- DBIx::MoCo は、はてなで作って使っている O/R Mapper for MySQL & SQLite
- Model Component の略
- Easy SQL Operations
- Ruby-like list operators
- 透過キャッシュ
- Test fixture - テストデータの自動生成と破棄
- search(): placeholders, named placeholders
- memcached 対応のキャッシュ
Emerson Mills - DBIx::Class Crash Course: Using DBIx::Class and other modules to make DB driven apps easy
- DBIC
- DBIx::Class
- ORM だ、かなり挫折することもある
- そんなことはどうでもいい
- Perl のメソッドでスキーマをたどっていくことができる
- DBIx::Class::Schema
- テーブルの連携ができる
- Beer が好き
Kazuhiro Osawa (Yappo) - Perlとリアルデバイスを繋げるって快感
- 快感なデバイスについて
- Make: Tokyo とか開催されている
- kawa.net の人も同じような方向に走っている
- serial port, USB, Bluetooth
- LAN とか VGA はカオスなので itkz がやればいい
- Devide::SerialPort, Win32::SerialPort
- OS 依存的な何かがあるけど、インターフェースは互換性あり
- Device::VFD::Gp1002
- VFD は秋月で 3000-5000 円くらいする
- シリアル経由で文字を流すことができる
- Inline::C
Shinya Hayakawa - Perlの!数学!妄想夢芝居!
- お芝居
- 私の use strict をとらないで〜
- 集合には表側と裏側がある
- Perl の集合
- 三次方程式の解の方程式
Casey West (cwest) - Build Domain Specific Languages with Perl
DSL には興味アリ。どんな話なのだろう。
- Domain Specific Languages
- Close to the problem domain
- How close ?
- design & code in your user's language
- You'll feel it.
- Web Application Testing
- 英語にかなり似た構文の DSL が登場 / これは便利そう
- user_management_screen(); はどういう意味だろう。
- Using function prototypes
- block() function
- sub block (&) { shift }
- :lvalue functions
- Assign value to funtions
- sub def :lvalue { ...
- selenium
- 各英単語を Perl の機能として実装することができる
- be
- should
- Value of {...} shouldn't be {...}
- shouldn't -> { pakage shouldn; sub t {...} }
- sub of (&;@) {...}
- jaCounters
- *{'プリント'} = sub { print map {...} @_ };
- '−;'
- QA の人のオペレーションが今回の DSL として出力される