Fukuoka Perl Workshop #21 に参加してきました

今回はJPAさんのご協力で講師として@nekokakさんと@lestrratさんをお招きしての開催となりました。

Japan Perl Association (JPA)さんのサイトはこちら
http://japan.perlassociation.org/


YAPC Asia 2012 のサイト発見
http://yapcasia.org/2012/


@nekokakさんとは前日にも屋台でお話しすることができ、ゆっくりお話しする事が出来てよかったです。
今度は僕と@itoken417が行きつけの屋台にも行きましょう。


ここからはWorkshopの感想

@dragon3さんの「Plack::App::GitSmartHTTP」のお話

HTTPでアクセスできる git server だそうです。
他の言語だと下記のようなものがあるそうです。

  • Grack
  • Gnode
  • git_http_backend.py

Perlになさそうだったので作ったのこと。
こんなときに使えるのでは?と仰ってました。

  • ちょっとしたハッカソン
  • ちょっとこのコード見て!
  • githubみたいなのはじめたい

簡単に使えるし認証とかしたかったら自分で書けば良いようです。
「痒いところは自分で買いくださいw」が印象的でしたw

Plack::App::GitSmartHTTP
名前のアイデア募集中とのことだったのでこんなんどうでしょうか。
Gttp, Ghttp, Gittp, GiTTP, Guitar, PAG, PAG::HTTP


Cacooの紹介
Cacoo for Google+ Hangouts ってサービスをリリースされたそうです。
Cacooは僕も使っているので機会があれば触ってみたいです。


@kiwanamiさんの発表
Emacs DBI のはなし
事前にどのようなものか知っていましたが、実際にデモを見てすごいなーと思いました。感動。
僕はvimmerのたまごなので、そっちのほうを試そうかと思いますが、Emacsに手を出すときはお世話になりたいと思います。
はじめての Perl/CPAN のお話も面白かったし、Perlメインでない方でもCPAN Authorになってるんだから頑張らなきゃなと思いました。


@lestrratさんのはなし
休憩から戻るの遅れてちょっとだけ聞き逃しましたが、最初はYAPCのお話だったのかな?
YAPC Asia の運営に興味がある方はIRCでロムってると良いよとのこと。
IRC: #yapcasia-staff

そして分散オブジェクトストアのSTFの紹介
STFとはなんぞやというところから、担当になって改良した経緯などお話いただきました。
その中で自分がよく知らない話がたくさん出てきて、とても勉強になりました。
急がば回れテストファースト)」が印象的でした。
たくさんメモを取りましたが誤字脱字や勘違いなどあるといけないので省略
図などもすごくわかりやすかったです。
質問もめっちゃ多かった。
下記は自分用のメモ書き。

用語定義
  ディスパッチャー
    リクエストを処理する人。
    httpで通信
    リクエストをオブジェクトに結びつける
  ストレージ
    実際のデータを保存する
    http通信
    よく壊れるので予測しておく
  オブジェクト
    論理データ
  エンティテイ
    物理データ
    1ストレージ1エンティテイ
  バケット
    論オジェクトのコンテナ
  キュー
    データの複製、修復、削除のキック
    実運用ではQ4M
    理論上はシュワルツ(パフォーマンスはどうか?
  ワーカー
    非同期で行える事はすべてワーカー


@nekokakさん

Clutchのお話
開発動機の部分が長かったですが、いろいろなジョブキューシステムの特徴がよくわかり勉強になりました。
Tengがけっこう気に入っているので、Qudo も Clutch も使ってみたいと思いました。
カジュアルだったりインターフェースがキレイだったりってのがやっぱすきだなぁ。
英語読むの苦手だったり細かい動作知りたかったりで、だいたいソース読む事になるんですよね。

Qudo (TheSchwarzの再発明

Clutch (Gearmanの再発明

  • IFキレイ
  • gearmanみたいにデーモン介さない(デーモンも作るかも
  • 変な(デ)シリアライズしない(JSON一択
  • シグナルハンドリングしてるのでdaemontoolsと相性が良い
request_background
ワーカーが受け付けたらリクエスト終了できる
request_multi
複数の処理をまとめてワーカーに流す

background + multi もできるよ
どんなリクエストでもwokerをかえる必要が無い
serverの数だけ勝手にラウンドロビン
data::weightedroundrobinも使えるよ

todo

  • フックポイント(必要?
  • リトライ
  • プライオリティ
  • キュー(今はキューイングしてない
  • ServerStarterに対応する
  • clutchd (gearmoandみたいなの 大規模ならあってもいいかな
  • workerの死活判定


牧さん
ソケットプログラミング
ライブコーィング
やっぱライブコーディングって理解が進みますね
牧さんみたいな先輩がいたらいいなと思いつつ
後輩とペアプロとかもっとしようと思いました。

ZMQ - Perl-ish Interface libzmq
デモがすごかった
あんまメモかけなかったけどわかりやすかったです。


@spring_MTさん
10xlabって会社が福岡に出来たよーという話
九大学研都市のそばだそうです。僕の実家の近くですね!
会社ではいろんな新しいネタをたくさんやっていくとのこと。
エンジニアを中心としていろいろやるそうです。
とりあえずRuby使うけど、そのうちPerlも使いたいと
福岡は県がRuby押しなので人集め的に仕方ないかも
設備充実まかないも出るとのこと。
今はひとりでいろいろやってるそうです。
是非遊びにきてくださいとのことです。


連絡とか
YAPC ASIA スポンサー募集中です!


最後に
懇親会ではっちゃけすぎてすいません。
どうもPMにいくと楽しくてやりすぎてしまいますね・・・orz

そんなこんなで Fukuoka.pm は、いろいろやり過ぎてしまうくらい
楽しい勉強会となっております。皆様のお越しを心よりお待ちしておりますノ