YAPC::Asia 2006 2日め
メモ.
Glue: Separate Application Logic from Code -- Atsushi Kato
- Web アプリケーションのアプリケーションロジックをコードから分離する
- Sprog!から影響をうけた
- ドキュメントが少ないのでよくわからない
Perl 5.8 and Unicode: Myths, Facts and Changes -- Dan Kogai
- 機械翻訳付き
- perl 5.6
- Unicodeしか扱えない
- 文字列とバイナリの違いがない
- perl 5.8
- utf-8フラグを用いて文字列とバイナリの違いをつける
- Encode.pm
- perlの中に入るときはdecodeし,外に出すときはencodeする
- PerlIO
- JcodeとEncodeではJcodeを使うべき
- Jcode-likeなインターフェースのJEncode
- 現在のJcode 2.0では中身がEncodeになっている
- Perl6ではどうなるのか
- "ほげほげ".shiftjis.say とか
- "foo".translate.eucjp.eval とか
- use encoding は互換性のため
- no encodingできないのでできるだけ避けるべき
Perl 6 Update -- Damian Conway
Perl DateTime project -- Dave Rolsky
- http://datetime.perl.org/
- CPANに日付を扱うモジュールはたくさんあるが,完全なものはなく,問題がある.
- 特にタイムゾーン
- 暦の変換...旧暦の七夕を西暦で言うと...とか
- 毎週金曜日,毎日のようなオブジェクトを扱える
Learning Haskell -- Audrey Tang
Fighting with Blog spams -- Tatsuhiko Miyagawa
混合語 (Kongougo) -- Marty Pauley
SVK: Version Control without the Headaches -- Chia-liang Kao
- 新しいバージョン管理システム
- http://svk.elixus.org/
- rcs -> cvs -> svnで10年ごとに新しいバージョン管理システムが現れる.
- ディスクは安いけど,帯域幅は高価である
- cvs, svnの通信量が多い
- ローカルにリモートリポジトリのミラーを作る
- svnのfile system libraryを用いている
Sufficiently Advanced Technologies -- Damian Conway
- Perlは合気道のようなもの.自分は何もせず他の人の力を最大限利用する.
- Perlはmagic ... Harry Potter
- IO::All
- IO::Prompt
- Smart::Comments
Inside Hatena::Bookmark's Backend -- Naoya Ito
- はてなブックマーク
- ユーザ数35000人,45M PV/month,15000行のコード
- ハードウェア
- 17台の自作マシン.. App Server x 10, MySQL x 6, Reverse Proxy
- ソフトウェア
Reverse Proxy | App Server | |
---|---|---|
Keep Alive | on | off |
Max Client | 2048 | 30 |
MPM | Prefork | Prefork |
Memory | 小 | 大 |
-
- MySQL
- Readは複数のslaveへ,WriteはMasterへ
- tmpfsを用いてテーブルをメモリにコピー
- MySQL
- コードは書き換えたいらしい
- CGI -> Apache2::Request
- HTML::Template -> Catalyst
- GoogleやYahooのような分散ファイルシステムに
Wikiwyg -- Ingy dot net
- プレゼンテーションツールを作った
- sporx = spork + takahashi(高橋メソッド)
- http://svn.kwiki.org/ingy/Sporx/
- Wikiwyg
- 既存のwiki farmに対してGUIを提供するjavascript
- social textやkwikiやwikipediaでデモ
- でも,wikipediaは重くてできなかった
- editへのリンクやwiki->htmlの変換方法などを設定する
Lightning Talks
Visual Basic Saiko -- Audrey Tang
- basic -> quick basic -> visual basic -> vb.net -> vb2005
- lambda演算
- クロージャ
- ダックタイピングなどを扱うことができる
- 進化しているんだなあ
Template Toolkit + Javascript = Jemplate
- JSON::Syck
- Jemplate
What is a Data Model? The Relational Model; SQL is not Relational -- Dave Rolsky
- よくわかりませんでした
DebugScreen meets PadWalker -- Tokuhiro Matsuno
- debug screenがはやっている
- でも,実はピークは過ぎた
- sledgeではpadwalkerを用いている
CPAN Recent Changes -- Daisuke Murase
- http://unknownplace.org/cpanrecent/
- CPANのフィードでは変更されたモジュールの名前しかわからない
- そこで,変更点も含めたフィードを提供
- 検索すると変更点も表示される
- フィルタリングできる (例えば -Ingyとか)
- まあ,デモではIngyも-Ingyでも検索されませんでしたが
- 各検索結果にフィードがついている
rapide - Remote Apache IDE -- Kazuho Oku
- http://www.ipa.go.jp/jinzai/esp/2004mito1/mdata/9-5.html
- Webブラウザ上で動作する統合開発環境
- PadWalkerを利用している
曜日判定における言語の壁問題 -- Tokuhiro Matsuno
- DateTime.pmでは曜日を1-7で表しているので,わかりにくい
- DateTime::Util::DayOfWeek
- $dt->is_sunday
- これでもまだ分かりにくい
- 日本語使おう
- DateTime::Util::DayOfWeek::Locale
- $dt->is_日曜日
ppencode for Perl6 -- Yoshinori Takesako
- ppencode
- rrencode
続my変数マニアックス(仮) -- Shinya Hayakawa
- myはネストできるらしい
- my(my(my($hoge)))とか