YAPC::Asiaにいってきました その2

世間では四月馬鹿が流行っている模様ですが、私はかましてる余裕と時間がないのでよそ様にお任せします:-)
一日跨ぎましたけど備忘録としても記録しておかなければと思い書きます。

Perl DateTime Project

ファイルをパースする上でいつかどっかで必ずぶつかることになると思う日付処理をするモジュールDateTimeのお話。正直知らな(ry
いや、名前は知ってはいたんですがどんなものかな、と。

と、思っていたんですが眠くなって途中で寝てしまったorz。
後々調べていきましょう。

Getting Your Feet Wet With XS - Daisuke Maki

XSってなによ?と、どんな感じに作るのよ?っていうお話。
牧さんも見かけはごっつい体育会系なのですがQ&Aの時に通訳をなさっていてべらべらでびっくり。
曰く、perlの裏技みたいなもので、時にはPurePerlとあんま変わんなかったり
しますが、演算の内容によっては100倍以上になったり、単純にPerlにできないような大きい数や小さい数の演算には向いているとおっしゃっていました。たしかオライリーの本でXSの例としてマンデルブロ集合を書くなんてのがあった気がしました。
いじってみれば面白いし、より理解を深められると思うんですがなかなか例がないですな。要課題。

Inside Hatena::Bookmark's Backend

われらがはてなCTOのnaoyaさんです。
自身もおっしゃっていましたが前日にあったmixiよりも割りに現実的なお話でした。それでもサーバが10数台。
サーバの負荷分散のお話も自分で管理する側ならもうちょっと有意義に聞けた気がするんですがいかんせんないのでふーん止まりなのが残念。サーバ作ろうかしら。


途中ではてなフレームワークを紹介してました。CatalystよろしくHelperに引数を渡すと、〜〜createdな文がずらーっと表示されてスケルトンができてました。そして簡易サーバを動かすとはてなのトップページのようなデザインで、フレームワークの使い方が載ってました。曰く「社員しか見ないのに無駄にきれいです」って言ってましたが、「いいもの使ってる感」ってのは結構重要じゃないかなぁ、と思ったり。

Catalyst Everything - Daisuke Murase

最近Perl界隈でフレームワークといったらこれなCatalystのお話。
プラグイン

use Catalyst qw/foo bar baz/

だけじゃなく

Class->setup(module=>[qw/bar baz/])

みたいな感じでできるっておっしゃってました。(後者はうろ覚えなんで多分間違ってます)
後者のやり方だと環境変数によって読み込むプラグインを変えられるから便利だって話です。付属のテストサーバならdebug、みたいな感じ。


あとCatalystプラグイン機構の話。プラグインが指定されると

formy $module (@module)
{
  unless ( $module->isa("Catalyst") )
  {
    my $caller = caller;
    push @{"${caller}::ISA"},"Catalyst"
  }
}

みたいな動きをするみたいです。簡単に言うと親になる。
曰く「useしてるのにそれが親になるという変わった感じです」
はるほど、なんでuseするだけでメソッド使えるのかなと思ってたのでたのでこれでスッキリ。

Lightning Talks

ここからは約5分の持ち時間で好き勝手なこと(?)をやってみよう的な時間です。なんかみんな面白すぎて覚えてないんですが箇条書き風味で。

続my変数マニアックス

my変数が好きで好きでたまらないらしい早川さんのお話。

(my $a, my $b) = @ary
$ref = \my $a

くらいまではわかったんですが

my{ my{  \1  }  }

はひでぇと思いました(褒め言葉)。

曜日判定における言語の壁問題

DateTimeモジュールにおける曜日判定なお話し。

print "Sunday" if $num == 0

から

print "Sunday" if $num->is_sunday

になったはいいけど、

なんか綴り間違ってそうで怖い

( д ) ゚ ゚
たしかにそうですが。
7つの曜日のスペルが書いてあってひとつぐらい間違ってそうというその前にはなんかうなづかざるを得ない、みたいな感じで。
それで母国語使おうよ!ってことで、use utf8して

print "Sunday" if $num->is_日曜日

見たいなことやってました。バカですね(褒め言葉)

ppencode for Perl6

たぶんLightningTalkのなかで一番面白かったのではないかな、とおもう竹迫さんのppencodeのお話。あーさこーだいうより実物見たほうがいいと思います。

http://namazu.org/~takesako/ppencode/demo.html

予約語だけで入力されたテキストを表示しようというもうバカawardをあげたいくらいのバカです(褒め言葉)。どんなアルゴリズムだろうと思ってソース見たけどぷーでした。こんど暇があったら読んでみよう。

ほか竹迫さんはネタいっぱいなので思い出せるものを箇条書き。

  • ラリーとダミアンキターーー
  • デスマーチから抜け出すのにuse Rubyしよう
  • Ruby on Snails(snailはのろまとかいう意味)
  • Pair Management(Not Pair Programming)
  • UnreadableなコードでJobを守る。
  • これでFindJobとはおさらば!
  • 読みにくいコードといえば昔のコード
  • useとかstrictがなくてlocalしか使われていない某K*NT
  • 地球なAAのHello World
  • $と;キーをとればPerlHackerはRubyに行くんじゃね?
  • ppencodeデモ(文字コード3つ対応)
  • rrencode(ppencodeのRuby版)
  • これがPythonならpypyencode(ぱいぱいえんこーど)だね。
  • 上記の文字と同時にジョルジュ長岡出現。ここで見るとは思わなかったよ。

Keynote - Larry Wall

最後にKeynote
最初のほうはマシントラブルがあったみたいでごたごたしてましたが、いざ始まるとLarryのPerl哲学全開みたいな感じです。スピーチが英語なので良くはわからなかったですが、作者が語るそのものに対しての哲学ってのはとても面白いものでした。


最後に雑感。

  • みんなvim使いだ。うちも使いこなせるようにがんばろう。
  • プレゼンがほぼみんな高橋メソッドだ。恐るべし高橋メソッド
  • 一日目途中、プレゼン中に中の通路を前に歩いていく人がいて、だれだよ?とか思ったらLarry Wallだった。
  • OracleOpenWorldに倣い、スーツでいったらみんなラフなカッコだった。やっぱし堅苦しいのはPerlに会わないのかな。