[Perl] Shibya Perl Mongers テクニカルトーク#8

こんばんは。
おじいさん、今夜はShibuya.pmのテクニカルトークを見てきましたので、忘れないうちにメモ書きです。
いやー、たまにはこういう所に出ないと、如何に自分が遅れているかわからないですね。さらに言えば、やる気の補充になるし、生dankogaiも遠くから眺める事ができました(^-^;) 大満足です。
2007/10/2若干追記&恥ずかしいtypo修正(baysideさんありがとうございます)

テクニカルトーク#8
 http://shibuya.pm.org/blosxom/techtalks/200710.html

ustreamで配信されていたので、見ることができた方もいらっしゃるのではないでしょうか。

http://ustream.tv/channel/shibuya-pm (otsuneさんカメラ)
http://ustream.tv/channel/shibuya-pm-slide (Yappoさんカメラ)

スライドショーは以下にUPされるはず
 http://www.slideshare.net/group/shibuya-perl-mongers

以下、印象。
Main Talks
1.Gungho, Swarmage, POE::Component::MDBAによるデータ収集 (牧)
 xangoというクローラーを昔作ったが、使い方が難しいのでGunghoは新しくPlaggerなどを参考に作り直したとの事。Swarmageはメッセージキュー、POE::Component::MessageQueue というものがあって、それを利用。
 POE::Component::MDBAは非同期並列でSQLを実行するもの。Selectでlimit100件出すより、10件づつ出した方が早い場合がある。そうやって分解して実行させると、速度は体感で分かるほど変わるとのこと。

 http://www.slideshare.net/group/shibuya-perl-mongers
 http://search.cpan.org/~dmaki/Gungho-0.08008/script/gungho
 http://search.cpan.org/~dmaki/Swarmage-0.00005/lib/Swarmage.pm
 http://search.cpan.org/~dmaki/POE-Component-MDBA-0.01002/lib/POE/Component/MDBA.pm

 SQLの非同期並列実行がこんな所ででてくるとは思いませんでした。
 ついでに言えば、某システムとか作る時にPerlで作っていたら、Gunghoはまだないから、xangoを使っていたのかなあと。

2.MogileFSのplugin拡張 (ZIGOROu)
 途中からまったくついて行けませんでhした。
 Perlで出来た分散ストレージシステムだって事はわかったのですが、そのPluginやらの作り方となるとお手上げです。
 
 http://search.cpan.org/~bradfitz/MogileFS-Client-1.08/lib/MogileFS/Client.pm
 http://search.cpan.org/~bradfitz/mogilefs-server-2.17/

 Perlで出来ているという所はおもしろいと思うんですが、いかせん受け手の技量が(^-^;)

3.Class::Component (Yappo)
 PlaggerやCatalystのようなプラガルブるな所をClass::Accessorのように作ってみたとのこと。

 http://search.cpan.org/~kasei/Class-Accessor-0.31/lib/Class/Accessor.pm
 http://search.cpan.org/~yappo/Class-Component-0.06/lib/Class/Component.pm

 naoyaさんいじられまくり(^-^;)
 最後尾近かったので、あまり見えなかったけれど、時々チャットが割り込んでいたような。
 作る時に使ってみたいけれど、ちょっとおじいさんには修行が必要なようで。Class::Accessorから修行です。
 素人はustreamの解説を見ないと全然わかんないかも。

Guest Talks
1.JavaScript::Writer (gugod)
台湾からの方のスピーチ。全編英語。
JavascriptをPerlで書いてみよう、という所でした。
たとえばPerlで

my $js = JavaScript::Writer->new;
$js->alert("hoge");

と書くと、

alert("hoge");

になる。
すごいのは、

$js->jQuery("#foo")->show(42);



jQuery("#foo").show(42);

と変換してくれる所。こういうChain Callはwantarrayでやってるんだよーと言っているようでしたホントかな。

 http://search.cpan.org/~gugod/JavaScript-Writer-0.0.7/lib/JavaScript/Writer.pm

 おじいさんの英語力のなさを痛感しました。
 後、紹介が若干間違っていたようなので修正してあります(10/2)
 
 holidays-lさんの所でもう少し詳しく解説があったので(10/5)
  https://bblog.sso.biglobe.ne.jp/ap/tool/newsedit.do

2.Practical Web Scraping with Web::Scraper (miyagawa)
 すみません、Scrapingという言葉をあの場で知った一人です。
 Scrapingとは、HTMLページから値を引っこ抜いてくる事です。ただ、これをPerlで簡単にやっちゃうと、正規表現ばりばりのものになります。そうなると、ちょっとHTMLを変更されるとすぐに取れなくなっちゃいます。他にもコード変換とかも大変ですし。その辺を自動化して、堅牢にするものがこれだそうです。

 http://www.slideshare.net/miyagawa/web-scraper-shibuyapm-tech-talk-8/
 http://search.cpan.org/~miyagawa/Web-Scraper-0.19/lib/Web/Scraper.pm
 http://blog.bulknews.net/mt/archives/002223.html
 
 これは便利そうなので、今度そういう事があったら使ってみよっと。
 特に、コマンドラインツールが強力だった。(裏コマンド使ってたし)

Lightning Talks
1. Twiki (今津英世)
 TwikiはPurePerlでGPLで軽いので、みんな使お!という話。

 PurePerlという所は引かれました。

 http://twiki.org/

2. 僕の夏休み? (Emerson Mills)
 おもしろかったけれど、コメントしづらいっす。。。

3. Perlで入門テキストマイニング (Tatsuwo)
 Yahooの形態素解析とシンプソン係数を使って、テキストマイニング。
 関連語を抜き出してみましたという話。

 http://www.slideshare.net/yto/perl-122546/
 http://www.sophia-it.com/content/%E3%82%B7%E3%83%B3%E3%83%97%E3%82%BD%E3%83%B3%E4%BF%82%E6%95%B0

 おじいさんも作ってみたくなった。

4. 6年前に作ったプログラムにテストコードを書きました ^^); ~~ テスト駆動開発の薦め (Yuumi)
 UTは大切です。テストコードでUTやれると楽ですという話。

 http://d.hatena.ne.jp/yuum3/20071002/1191289611

 会場で質問されていましたが、思ったよりテスト駆動開発みんなやってないんですね。
 あ、おじいさんもやってませんが(^-^;)

5. Plagger。みんなで使えば恐くない。 (makotokaga)
 Plaggerをインストールするのが面倒だから、みんなに使ってもらえるPlaggerを用意してしまおう。
 そのPlaggerで何かをみんなに作ってもらおう→Customer Generate Serviceだ。
 それで、ミートホープというHPを作ってますという報告でした。

 http://blog.project92.com/2007/10/shibuyapm_tech_talks_8meathope.html

6. Gungho と Web::Scraper で mashup (Keiichi Okabe)
 Twitter向けの地震速報を作ってらっしゃいました。

7. Flash with perl (typester)
 AS3で無償環境が出た。ファイルのアップロードなどもやりやすいですよ、という話。

 http://unknownplace.org/slides/shibuyapm-8/start.html

 Flash+Perlはずーっとやっていたんですが、捨てました(^-^;)
 最近は状況がまた変わってきてるんですかね。ExternalInterfaceとかは全然知りませんでした。
 あと、Javascriptを呼び出す時は昔はgetURLなんかを使ったりしていたようなと思ってみていましたが、かじっただけのおじいさんはもう完全に忘れ取りますな。

8. Pushmi の話 (mizzy)
 svnのスレーブリポジトリを作って、開発を効率化させましょう、という話。
 pushmiだけではなくて、svkについてもちょっと触れられていた。
 
 http://search.cpan.org/~clkao/Pushmi-v1.0.0/lib/Pushmi.pm

 おじいさんとしては、svkから触ってみたいです。

 http://japan.internet.com/webtech/20051216/6.html


9. 続イメージファイト (TAKESAKO)
 img xssに困っていたTAKESAKOさんが、各ブラウザのimgタグの挙動バグをもって、ブラウザ判定する方法を編み出したという話。
 
 http://www.slideshare.net/takesako/shibuyapm8
 http://wafful.org/ - 判定テストページ

 馬鹿受け。こんな方法で判定ができるとは、もうすごいとしか言いようがありません。

10. Jifty::DBI in five minutes (charsbar)
 Jifty::DBIについて簡単に紹介。

 http://search.cpan.org/~jesse/Jifty-DBI-0.43/lib/Jifty/DBI.pm

 すみません、知識不足でわかりませんでした。

11. なぜ人はGopherに飽きるのか(tokuhirom)
 これはなんとも。。。
 Gopherは知っていたけれど、使った事がないんですよね。
 話自体は非常におもしろかったです。

12. リビドー駆動開発によるPlaggerとCatalystを使った(Mashup)サイト開発 (yusukebe)
 リビドーなのでエロサイトを作るぞの話から始まって、欲望に従って次々とサイトを作りました!
 PlaggerとSQLiteとCatalystを組み合わせると、簡単にサイトが作れるという見本。

 http://yusukebe.com/archives/07/10/02/123306.html
 http://kamawada.com/~masanori/blog/2007/10/shibuya_perl_mongers.html
 →yasukebeさんって、社長さんだったんですか。びっくり
 
 この話が一番ウケていたんじゃないでしょうか。おじいさんも大笑いしてました。



感想サイト
 http://b.hatena.ne.jp/keyword/Shibuya%20Perl%20Mongers

はてなブのキーワード。こんなのあったのとはびっくり。
 http://b.hatena.ne.jp/keyword/Shibuya%20Perl%20Mongers

この記事へのコメント

isoya9
2007年10月02日 13:15
参加したかったなー。。。
当然かもしれませんが、みなさん、自分のブログネタから派生したトークが多いですね。
2007年10月02日 14:13
Scrapping じゃなくて Scraping ですよ。p が1個です。2個だと別の意味になっちゃいます。というのを自分も昨日知ったのですが(笑)
2007年10月02日 19:23
baysideさん
typo指摘、ありがとうございます。
scrapingは「削ること」、scrappingは「廃棄する」という意味だったんですね。知りませんでした。私の英語力のなさがこんな所に現るとは思いませんでした(^-^;)

isoya9さん
そういう意味では後でブログを見れば、もっとすごいモノが見れるかもと思って、講演者の方々のブログをいくつかRSSリーダに登録してます。でも最近リーダに登録されたブログ数が多くなってきたので、見るのがちょっと大変になってきました(笑)

この記事へのトラックバック