新しいblogに移行しました

新ブログ "All Yout Bugs Are Belong To Ass" に移行しました!

2012-03-26

[Perl]Hachioji.pm #15 でペアプロしてきた

毎度おなじみHachioji.pmに参加してきました。
通産16回目の開催となる今回は、前回(実は参加してたけど疲れ気ってレポート書けるほど物事を記憶していなかった;;)から@hirobanexさん主導ではじまった「pre-Hachioji.pm」というハッカソンからの参加です。

ハッカソン、9:00 AM 開始だったけど

のろのろと11:00 AM くらいに会場にIN。この時点で自分以外に既に4名がコード書いたり書いてなかったりしてました。
ペアプロ自体には「お題」が設定されており、今回は「Kossyを使って掲示板をつくる」というものでした。
なんでKossyなのかとか、その辺のいきさつについては、こちらに色々書いてあります。

最初の1時間くらいはだらだらと。

最初はペアプロの相手が居なかったと言うこともあって、主宰の@uzullaさんと、中国のスマホ向け開発事情やPHPのWAFなどについてだらだらと情報交換と言う名の雑談をしておりましたが、しばらくして、初参加の@magicdriveさんとペアを組むことに。
彼はそれまでJava(主にAndroid-app)メインだったにも拘らず、YAPC::Asia参加をきっかけにPerlで出来る業務へと転身したというツワモノ。Perl自体には大体1年くらい触っているとのことでした。

ペアプロやった!

今回は僕のほうがPerl使用暦が長いということから、主にmagicdriveさんに手を動かしていただくことにし、僕はコーディングのサポートに回りました。
まずkossy-setupに始まり、機能要件の明確化、APIの策定、基本的なハンドラの書き方の説明、データストアとORMの選定、依存モジュールの導入、model実装、handler実装、view実装の順に手を動かしていただき、ORMにはTeng、データストアにSQLiteをそれぞれ採用し、JSONを出力するAPIをviewからjavascriptを使って叩く方向で作っていきました。
結果的には、view以外のほとんどの部分について、機能実装を網羅するところまで行きましたが、ひとえにmagicdriveさんの理解力の高さに拠るものと思っています。
また、@umeyukiさん / @hirobanexさんペアは別のアプローチ(おそらくviewはほぼてきていた?)で実装を行っていたようです。
ちなみに、実装時間が短時間だったことと、TengおよびKossyの構造/使い方をメインで説明していたため、TDDを実践できなかったので、次回以降の課題としたいです。

Hachioji.pm 本会

いつものことではありますが、@hide_o_55さんが猛スピードでまとめを書いてくださってます。

今回LTのお題は「スマートフォン」だったのですが、毎度の通り、@maka2_donzokoさんの現物(「すあま」と「本」)を使ったネタが強烈に記憶に残っております。というか、この時点で僕はだいぶ憔悴してたこともあって、記憶が途切れ途切れだったりします。。。
あと、PICKで写真取ったはずなのになぜか読み込めないので、読み込めるようになったら写真はるかも。

次回以降のハッカソン、何を作る?

本会の後半頃に、次回以降のハッカソンで何を作るかと言う話になったのですが、「IRCのようでIRCでないちょっとIRCなアプリ」とでも言うべきものを作ろう、みたいな話になっていたかと思います。たしかhide_o_55さんが「これ議事録取らなくていいの?」見たいなこといってたかと思いますが、これを書いている今、議事録が欲しい!と思っているところです。。。

2012-03-16

[Perl,メモ]ある無名関数の中でだけ使える関数を定義したい

sub hoge {  
    my $cb = shift; 
    my $caller = caller();
    local *{$caller.'::foo'} = sub { .... };   
    $cb->(); 
}

こうすると、

hoge(sub{ foo() })

が使える。

2012-01-29

[Perl]Hachioji.pm #13



先日(1/29[土] 18:00~)、おなじみのHachioji.pmに参加してきました!
会場は、こちらもおなじみのタイラーンナー。トムヤムクンが美味しいお店です。

今回も新しい方が何名か来ておりましたが、皆さんPerlの話題にとどまらず、技術方面の話や椅子の話などで盛り上がっておりました。

おや、奥の島の様子が・・・


なんか奥の島に突然人が集まりだしたので、何事かと思って行って見た所、こんな光景が。。。

これがあの「インフラエンジニア双六」か!?

タイ風ハムスライスが極端に辛かった



あまりの辛さに悶絶。。。


恒例のライトニングトーク


酔っ払ってて正直あまり覚えていない(※いつものこと)ですけど、記憶に残ってるところだけざくっと書いておきます。

・JS製のスライドツールがいくつか。
・はてブのホッテントリをタイトルかき集めてGoogleスピーチAPI(非公式)にとおして読ませる
・でかいモニタと研究室の机とフィギュアたちで研究が捗るらしい
・URIパラメータを弄繰り回すブックマークレット
・動画から静止画を切り出して非破壊自炊。メトロノームで撮影タイミングを取る餅つき的手法
・hint-a-hint(Firefoxプラグインらしい)でマウスレスブラウジング
・Win32::IEAutomationで「IEでの」ブラウジング自動化
・デザイナーなのにcygwinでファイル管理
・良い椅子は、捗る。
・富士通の重くてお高いキーボードは打鍵が軽やか。捗る。
・Diogenesというギリシャ・ラテン語向けのテキスト検索ツール
・ウルトラマンと楽しい仲間たちに囲まれてタジタジのギャン。
・椅子についてる、よくすべるリストレストには段ボール箱をかぶせてると捗る。マジで?

自分のLTでは、自分が作ってきたツールの一部を紹介しました。資料こちら。

ちなみに発表には、equinox79さんと共同で開発した(つまりHachioji.pmコラボウェアです!)プレゼン共有ツール「FireCracker」を使いました。

さーて、次回のHachioji.pmは?


2/25(土)開催の予定らしいです。少し早めにスタートしてハッカソン的なことをするのかな?

2012-01-27

[Perl]Perl Beginnersという勉強会をやります。

Perl Beginners という勉強会を2/24(金) 19:00より五反田文化センターで開催します。

という宣伝でしたー!ぜひお越しください!