PerlCasual #05 : ATNDにて、@yusukebeさんに声をかけていただき、再びライブコーディングをさせていただいた。
前回やらせていただいたのは2年半以上前なのか…
第6回 yokohama.pm & Perl Casual でライブコーディングに挑戦してみた - すぎゃーんメモ
前回はちょっとしたスクリプト的なものだったけど、今回はWebアプリっぽいのはどうか、ということでAmon2を使ってWebアプリを作成する、というお題にしてみた。
- まっさらな状態から始めて
- OAuth2ログインを使って
- 掲示板的なアプリを
- Herokuにデプロイして動くものをリリースする
という目標でやってみた。
掲示板的なのは実はAmon2のtutorialにあるやつですね。
Tutorial - Create BBS site — Amon2 documentation
結局できたのは http://sleepy-tor-6236.herokuapp.com/ というところに。書いたコードは https://github.com/sugyan/perl-casual-2013-03 にそのままpushしておきました。
まぁテンパったり余計なところで時間つかってしまったりで「とりあえず掲示板っぽいものが動いた」くらいのところで30分すぎてしまいましたね。いちおう構想としては
とか考えてはいたのだけど、予想通り自分の能力では30分でそこまでは出来なかった。
カンペは用意してあったけど結局使わなかった。
カンペ.md · GitHub
準備とかの話
herokuは個人でちょっとしたアプリを公開するのによく使っていたけど、いつもRubyでやっていて、Perlで作ったことはなかった。昨日くらいにようやくperl buildpackを試してみて、miyagawaさんのオリジナルではうまく動かないっぽいことに気付いた(要・再検証)。
最初のcarton installに時間かかるなー、というのはすぐに感じて、でもまぁherokuのセットアップも同じように時間かかるし並行して作業すれば良いかな、と。ただネットワークの不安はあったのでcarton bundle
とcarton install --cached
を使ったインストールを試してみたところbundleが上手く動かないことに今日になって気付いて、tokuhiromさんに相談したところすぐに直していただいたのでなんとかなった。
OAuthログインも最初は違うモジュールとか使って愚直にやろうとしていたけど事前にtokuhiromさんに相談していたらAmon2::Auth::Site::Github
の存在を教えていただいたので(使ったことあったはずなのにすっかり忘れてた)、それを使うことに。pluginでそういうのも簡単にできるアピールをしたかったけど、伝わったかしら…
あとはもう、ちょっといじってすぐに30分経ってしまいそうで そんな凝ったものは作れなそうだと感じて。Twitter Bootstrapでのフォームの書き方とかdbhの使い方とか少し復習して、ターミナル文字サイズを大きめの環境でひとりで何度か練習。
いちおうアレでも何度か練習したんですよ、、、
Emacsはもうちょっとモダンな設定とか整えてやりたかったけど、そこまで余裕なかったなぁ…
ありがとうございました
他の発表者の方々のお話もとても面白かったです。特に@koba04さんの話!
元タワレコ店員×Perl×Webサービス (PerlCasual #05)
久しぶりに勉強会的なものへの参加&発表側でだいぶドキドキでしたが、とても楽しかったです。
声かけてくださったyusukebeさん、運営に関わってくださった方々、懇親会でお話してくださった方々、ありがとうございました!