畑違いなのは重々承知ですが、去年に続いて今年も参加させていただきました。
というわけで覚えてる限りの内容メモ。
tatsuhiko miyagawaさん - Welcome to YAPC::Asia 2008
Larry Wall - A Standard That Is Meant To Be Broken, 本当に!
全く理解できませんでした(’A`) わかったのは
- Perl6は冗談ではない
ということw
matsuno tokuhiroさん - about Perl5.10
- perl 5.10 を使うべき510の理由 (はてぶ的に)
- 5.12は開発中
- perl6はいつかのクリスマスに出る
- いつ出るかは聞いてはいけないらしい
- 本題 2007年に5.10出たけどつかってる人少なくね?
- 5.8互換なのでモジュールも問題なし
- use featureしなければ、完全に5.8互換
- dor operator
- $c = $a || $b;
- $aが空文字、0のときにうっかり嵌る
- use featrue qw/dor/; $c = $a // $b;
- state変数
- キャッシュする
- Cのstaticみたいな?
- switch構文も出来たよ
- スマートマッチ演算子も
- stack ファイルテスト演算子
- -x -f -s $file
dankogaiさん - Perl as a Second Language
- なぜ外国語を習うのか
- 他の言語を学ぶことで自分の言語を見直せる
- プログラミング言語も同様
- perlがruby,pythonと似ている点
- 基本的な構文についてはCのような宣言が不要
- これはスクリプト言語共通
- perlはschemeにも似ている
- perlがrubyと異なる点
- rubyは何でもかんでもオブジェクト
- 1.methodみたいなことが出来ない
- でもuse autoboxしたら出来るのがすごいところ
- rubyは何でもかんでもオブジェクト
- オブジェクト指向(OO)を学習するなら、Perlを使うべき!
- PerlはOOが言語自身に組み込まれていないので、何らかの方法で実装する必要あり
- OOの仕組みを学習することができる
- 初めから実装されてたら、勉強する気おきないよね
- perlがruby, jsと違う点
- perlは文脈指向言語
- 自然言語としては当たり前の考え
- perlは空気を読む
- DWIM = Do what I mean
- でもたまに空気を読み間違える
- ex) print localtime() => print scalar localtime()
- perlが構文をどう解釈しているか調べる
- use B::Deparse
- perl -MO=Deparse
daisuke makiさん - Perl Testing Basics
結論: テストしなくてよいのは小学生まで
- 動くはず、手動で確認した
- 現実の頻繁に起きる仕様変更の前には役にたたない
- テストは必須
- テストは全自動でやろう
- テストは正常に動作したという証明
- テストという視点からのperl使いの利点
- テストの仕組みが色々用意されてる
- CPANなんか頼んでもないのに世界中からテストされるよ
- まずはCPAN化から
- make && make test
- t/mytest.t
- Test::Continuous
- 変更があった場合に必要なところだけテストされる
- Catalyst
- Catalst::Test
- mod_perl
- Apache::Test
- Regresions
- バグはテスト用の再現コードとして必ず残しておく
- Be Portable
- 色んな環境で走らせる環境を想定する(OSとか)
- テストの後片付け
- ENDブロックを活用して、unlinkなどのごみ掃除処理
- テストが途中でこけてしまっても、ENDブロックは実行される
- Test::More
- SKIP
- TODO
- Test::MockObject
- 指定されたオブジェクトのフリをする
Kenichi Ishigaki - Web is not the only one that requires frameworks
Gosuke Miyashitaさん - Easy system administration programming with a framework
去年assurer発表してた人。