Perl Beginners #7へ行ってきた

Perl Beginners #7へ行ってきた

オープニング

主宰の@ytnobodyさんによるオープニングで始まりました。表番組が同日に開催されていたのでこちらは裏番組と言う事みたい。今回のPerl Beginnersはなんと一周年!という事で、おめでとうございます。パチパチ。

スライド中に登場していたザクとうふ、あれ作っているの群馬の会社(とーーーふはさがみやっ!ってCMの)なのですが、少しだけ群馬に関係したものが出てきて親近感を感じつつ始まりました。写真はザクの頭(等身大?)が会社に飾られていた時に撮ったもの。頭の中に入れたそうです。

相模屋に飾られたザクの頭

ビギナーズセッション

エントリがなかったらしく、急遽募集。@CLCLCLさんによる質問がありました。

  • Mojolicious::Liteでwebsocketを使ったアプリ
    • Any::Eventのイベントが拾えなくなる問題
    • morboの場合は大丈夫
    • hypnotoadになると問題が発生

Mojo::Server::Hypnotoad

morboで動いてhypnotoadで問題が出るということなので、workerの数が問題なのかな?と思いました。workers で指定できるみたいだけど、configで指定しないとダメなのかな。コマンドラインオプションで渡せないっぽい。

ライトニングトーク

@CLCLCLさん
  • 印刷屋から転職
    • 東京来て半年
  • 時間ごとにtweetするアプリ
    • Twitterアカウント8個
    • YAMLで設定
    • Any::Event
    • daemonとして動く
  • 業務アプリの話
    • 宅配荷物の確認
    • 件数が多いと難しい
    • 自動化で解決
  • 家で開発->CPANおk
    • WebService::KuronekoYamato(|SagawaKyubin|NiigataUnyu)
    • cronで巡回
  • 黄色い本からスクレイピング
    • 会社名とか社長名とか...
    • 読み出せないものも
    • jpeg...orz
    • でも大体スクレイピングできる
    • お手紙だそう!
  • 業務用もウェブアプリ化しよう!

色々やばい(?)話もありつつ、業務で使うものも自動化して効率をあげようというお話。個人的には佐川さん使ったりしているのでとても気になりました。参考にしてなにか書いてみようかな。

@toku_bassさん

ライブコーディング。まずは簡単なPSGIアプリを書き始めて、次第に肉付けしていく形でRouter::Simpleを使ったPSGIアプリへと仕上げていく感じ。最初の方は写経しつつ見ていたのですが、途中で諦めました(汗。タイムアップ時に動かないというオチがありましたが、ライブでコーディングとかシビレますね。こういうの出来るようになったら面白いだろうな。

途中まで書いたコードはこんな感じ。

#!/usr/bin/env perl
use strict;
use warnings;
use Router::Simple;
use Router::Simple::Declare;

my $router = router {
  connect '/api/post/{id}', { c => 'MyApp::Api', a => 'post'};
};
my $app = sub {
  my $env = shift;
  my $p = $router->match($env);
  my $controller = $p->{c};
  my $action = $p->{a};

  my $res = $controller->new($env)->$action;
  

  # [200, [], ['hello']];
};
@dokechinさん
  • Mojolicous
    • Bootstrap付いてない
    • ダウンロード面倒くさい
    • コマンドあるよ!
    • Mojolicous::Command::generate::bootstrap
    • $ mojo generate app MyApp
    • $ cd MyApp
    • $ mojo generate bootstrap
    • (゚д゚)ウマー
  • Bootstrap Form Builder
    • フォーム生成
    • ドラッグ&ドロップで出来る
    • HTMLソース吐く
  • MojoHel
    • Bootstrap Form Builderのfork
    • .epテンプレートのソースを吐く
    • バリデーションはForm::Validator::Lite
    • 手軽に使える

ボクもMojolicious + Bootstrapで作ったりするのでMojoHel便利そう!って思いました。意外とフォーム周りは書くのが面倒なので。使わせて頂きます。今後はこういう役に立つツールも作って行かないとね。

@ytnobodyさん
  • 無料ホームページ
    • 懐かしい
    • 単純なPSGIアプリ動作させる
  • TOK2.com
    • cgiおk
  • github
    • TOK2PSGI-examle
    • コマンド叩ける
    • plack入れる
    • notest必要
  • サーバスペック
    • i386
    • CentOS5.8
    • HDD500GB
    • perl5.8.8
    • 文字コードeuc-jp
    • 大抵のモジュール入りそう
  • 悪用厳禁w
  • Beginnersでの発表としては難しい内容になってしまった
    • cgi => webアプリの一つ
    • psgi => すごいcgi(のようなもの)

レンサバ環境でPSGIアプリを動かすというHackというかTipsというか、のお話。コマンドを叩くcgiを作るところから始めるというすごく面白い発想です。確かに悪用厳禁ですが(笑 こういう面白い発想最近全然してないと反省しました。

@moznionさん
  • perl入学式ある
    • でも一杯
  • Acme::24
    • 大好き
  • metacpan
    • 超見やすい
    • metacpanのリンク貼らないとdisられる。
    • apiあるよ
    • 便利
  • Bundle::Acme::Everything
    • Acmeモジュール全部欲しい。
    • $ bundle_acme_everything
    • Acme以下のモジュールをガッと全部インストール
    • metacpanのAPI叩く
  • Bundle::Namespace::Everything
    • 改良版
    • $ bundle-namespace-every Net
    • Net以下のモジュールを全部インストール

metacpanの話。ググっている時にたまたま見ている(と思う)けど、CPANよりmetaCPANの方が見やすい&便利かも。これぞLTって感じのテンポの良い話し方・スライドの送り方でした!非常に参考になります。こういうテンポのLTが出来るようになりたいな。

懇親会

別名ガチホモ合コンというらしいです。帰りの時間とかギリギリになりそうだけど、早めに切り上げれば何とかなりそうだったのでエントリ。せっかく東京まで来たんだしね。

普段Perlな人と触れ合うこともないので、エラー時の行番号の話とか、テストの話とか、ピザ.pmの話とか、etc...。いろいろな話が聞けたのでやっぱり参加してよかった。静岡まで帰る@dokechinさんのお陰であと30分居ようという誘惑に勝てました。もっと飲みたかった!

その他

今回のテーマは「webアプリ(CGIでも可)」という事で、行きたい衝動は大きいのだけれど月末金曜というスケジュール。ギリギリまで迷った挙句、勢いでエントリー。東京の勉強会とか初めてだし、Perl書いているけどPerlの勉強会って初めてなのでとにかく勢いで。

始まる前に電波悪いので窓際がいいよ!って話でしたが、iPhone5(SB)のテザリングで快適に過ごせました。初めて会う方の前でLTも出来たし、少しでも世界が広がったので行ってみてよかったです。

また機会があれば行きたいな。