まいんだーのはてなブログ

はてブなのはてブロなのどっちなの

MySQL Casualにおける 事前登録不要/先着順受付 という開催方式に関する報告

MySQL Casualという、気づくともう2,3年前くらいからやっているイベントがあります。
このほどそれの第四回を開催できる運びとなり、昨今言われている「ドタキャン/何も言わずに来ない」系のなんとやらをどうにかする施策を打ってみようと思ってやったことについてまとめみたいなのを書いておきます。

結論

参加者の方々を細かく追わなくて良いが、不特定多数を相手にする必要がある場合は今回MySQL Casualが取った「事前登録不要/先着順受付/指定時間で締め切り」という手法が有効です。
参加者の方々を細かく追う必要がある場合においても、受付でケア出来るのであれば有効です。

今後のMySQL Casualについては基本「事前登録不要/先着順受付/指定時間で締め切り」というやり方で行こうと思います。

なぜそうするのか

事前登録した瞬間は行きたいと思っていても、当日までに事情が変わるケースというのは往々にしてあるからです。
そういったことが「事前登録不要/先着順受付/指定時間で締め切り」にすることで考慮せずに済むように(参会者も開催者も)なるわけで、双方の負担が減ります。

問題はないのか

問題をどのように定義するかによりますが、今までは開催者が多くのリスクを背負い込む形になっていたのが、開催者と参加者が負うリスクがより平等になるという点で問題は(今までに比べて)格段に減るという印象です。

「当日本当に行ける/行きたい人」が参加できる枠組みに変えたほうがいいよねというのに反論がある人は居ないんじゃないかなと思います。

このやり方が合わないケース

事前にキャッシュアウトが発生するような、もう一段高い規模のイベントには合わないでしょう。
また、極めて限定された人を集めて、もっと絞り込んだ話(例えばRiakシリアスのような)をしたい場合には合いません。

前者は事前に集金してリスクを軽減するという手が取れるし、後者は紹介制にして人同士のつながりを担保にしているわけなので、これもひとつのやり方です。

まとめ

MySQL Casual vol.4 はとってもカジュアルだったと思うし、今回初参加が8割くらいの勢いでいらっしゃって、この形式にしてとっても良かったので参考にできるケースがあればどうぞ、という話です。
質問があれば @myfinder を捕まえて聞けば答えられることは答えます。

Riak Serious Talksで(フィクションだけど)ナマナマシイ話しをしてきた

SEE ALSO: Riak Serious Talksやった

(フィクションだけど)参加してきました。

Riak Serious Talks on Zusaar
Riak Serious Talk #1 #riak_serious - Togetter

内容は(フィクションだけど)アレなので置いておいて、勉強会の体裁としてちょっと新しいかなーと思うので、それについて。

招待制

今回は全力で(フィクションだけど)Riakを使い始めた現状について(フィクションだけど)トークして(フィクションだけど)フィードバックや意見をもらうことを考えており「(フィクションだけど)あ…ありのまま今起こっている事を話すぜ」ということで参加をしており、参加者の皆様もそれをよく(フィクションだけど)理解いただけて(フィクションだけど)話をできたと思っております。招待制とっても安心出来ますね。

また、受付をしておりましたが「誰の招待もない」選択のまま突撃してくる方がいらっしゃり、それはとても勇気のあることだと思いましたが、どんなに言っても聞かない人は聞かないというのもよくわかった次第です。

遅刻厳禁

いちいち拾いに行ってるとキリがないのでいいと思いました。
会場を貸していただける方の都合上受付をちゃんとする必要があるケースだとなおさらですね。

結論

MySQL Casual Talks vol.4 はシリアストークとは趣を変えて登録不要先着順受付という枠組みにしてみました。
ちなみに先着順という言葉が示す通り、席が埋まった時点で受付を終了します。
並んでいてもその時点で切ってお帰りいただくことになりますので、どうしても参加したいという方は適切な時間にお越しいただき、受付してください。

今後

Riak Serious Talks vol.2 があれば(フィクションだけど)その後の経過とか、(フィクションだけど)実際ガチで向き合っている話をしたいと思います。
少なくとも(フィクションだけど)「10年経ってないプロダクトは使えない」などと(フィクションだけど)言われないような状態になっていたいなぁ。

ついに顕在化した気軽な Perl コミュニティ

Perl 使っている人たちが気軽に情報共有出来て過去ログも見られる場所が Lingr に出来たようです。

http://lingr.com/room/perl_jp/

Lingr にはスマホアプリもあるので、いつでも気軽に参加出来るのがいいですね。
昨日はPrePANにupしていたモジュールにコメントが付いていることをこのチャンネル経由で教えてもらったりして、お気軽だけど捗っています。

SEE ALSO: http://blog.64p.org/entry/2013/03/13/195515
SEE ALSO: http://blog.livedoor.jp/xaicron/archives/54421824.html

Monitoring Casual #3 にいってきました

まずは会場提供のペパボさん、幹事の@ume3 さん @lamanotrama さん @tnmt さん調整ありがとうございました。
セルリアンタワー綺麗でGMOさんの会議室も設備良かったですね!

  • 自分の発表

前回の続きのとおり、監視の話はせず素直に今やっている事とぶち当たった問題などを話しました。
個別のWebサイトなどを開いて説明するなどしたので、スライドは用意しておりません。

f:id:myfinder:20130309171733p:plain

概ね上記のトピックについてひと通り駆け足で話をしました。
モニカジ #4 も引き続きこの流れで行こうかなと思っております。

Fukuoka Perl Workshop #23 に参加いたしました

...せっかくの福岡とはしゃいでラーメンコンボを決めてしまったのでしばらくはおとなしくしようと思います。

  • 中洲で見つけて入ったお店のネギラーメン

f:id:myfinder:20130223021717j:plain

f:id:myfinder:20130223123915j:plain

f:id:myfinder:20130224120716j:plain


さて先日エントリしましたとおり、 JPA さんのご支援により Fukuoka Perl Workshop #23 に参加してきました。
福岡は国内行きたい場所No.1だったので、この機会は大変ありがたいものでした。

今回参加するにあたってはただ一方的に話をすることはせず、できるだけ参加する方の希望にそえるようアンケートを取ってから行きました。
結果としては、アンケートを通して事前にどんな方がいらっしゃるのかわかったり、Fukuoka.pm運営の面々と事前にメッセージを交わせたりという効果も得られて全体として満足度高められたのではと思ってます。

トーク内容は一方的にならないよう、資料は過去のダイジェストトピックをまとめ、過去アウトプットしたものを横断的に行き来できるような方針で用意しました。

1つ目が、今回話す「50ms or die.」の前提となるサービスについての解説で、これはその後の技術に踏み込む前に前提として知っておいていただきたい点について取りまとめたもので、YAPC::Asia 2012で話した内容をリファクタしたものです。
2つ目がYAPC::Asia 2012のスライド及びWEB+DB PRESS vol.70に寄稿した内容で、こちらは1つ目の内容を受けて具体的な技術について踏み込んだ話になります。
また、会場になった ヌーラボ さんの無線LAN提供もあり、都度Webを参照したりなどして進めることができ、捗りました。

アンケートの結果を踏まえ、その場その場で参加者の方に意見や質問を求めつつ進めた結果Perl自体の話よりもサービス自体やミドルウェア、運用についてと、それらを実現するためのインフラの実際的な部分に多く時間を使ったように思います。
Fukuoka.pmに参加されている方の多くがPerl以外にもメインで使う言語があるため、どちらかと言うと共通の話題がそちらに寄っていく傾向があった+今の自分が軸足を置いている点も影響あったのかなと。
特にAWS周りと分散データストア関係が盛り上がったなと。

このあたりどうだったかは実際に参加された方の感想エントリ楽しみに待っております。

福岡に拠点を持っている会社さんもいくつか(一部前まで)伺いました。

f:id:myfinder:00250223174058j:plain

  • 日本オラクル さん

f:id:myfinder:20130224123116j:plain

  • paperboy & co. さん

f:id:myfinder:20130224183353j:plain

最後に、重ねて今回の機会を頂いたJPAさん並びにFukuoka.pmの皆様に感謝いたします。ありがとうございました。

fukuoka.pm 2/23(土) に参加いたします

このほど JPA さんのご支援で Fukuoka Perl Workshop #23 へ参加させていただくことになりました。

話す内容は、 YAPC::Asia 2012の内容 やその後の update をメインにしつつ、できるだけ参加者の希望に沿った形でトーク出来るよう、事前アンケートを取らせてもらっております。

イベントの参加枠にはまだ若干の空きがございますので、ご関心ある福岡近郊のエンジニアの皆様は是非登録くださいませ。

Fukuoka Perl Workshop #23

そういえば他に喋る人いないのん。

[2/20追記]↑ゆるく募集しているそうなので、atnd経由等で申し込まれるといいと思います!!

make test で Test::riak を永続化させる方法

Test::riak で割とカジュアルに Riak を試せるようになったんですがいかんせん起動に時間がかかってしまいます。
使ってるファイル数が少なければそんなに問題にならないのですが、例えばテスト実行時に自動的に初期化処理するような枠組みに入れ込んだ場合 make test が終わらなくなって捗りません。
実際テスト周りを整備しててはかどらなかったので、 さいくろん案 を採用することで捗るようにしたので、その辺をup。

※SEE ALSO -> 環境変数にいろいろ突っ込み過ぎると危険があぶない

  • Test::MyAPP::riak
package Test::MyAPP::riak;
use strict;
use warnings;

use Data::Riak::Fast;
use JSON::XS;
use Test::riak;

sub DESTROY {
    my $self = shift;
    $self->cleanup;
}

sub setup {
    my $self = shift;

    my $riak;
    if (my $json = $ENV{TEST_RIAK}) {
        warn $ENV{TEST_RIAK};
        my $obj = decode_json $json;
        $riak = bless $obj, 'Test::riak';
    }
    else {
        $riak = Test::riak->new or die $Test::riak::errstr;
    }

    return $riak;
}

sub cleanup {
    my ($self, $riak) = @_;

    my $riak_client = Data::Riak::Fast->new({
            transport => Data::Riak::Fast::HTTP->new({
                    host => '127.0.0.1',
                    port => $riak->http_port,
                })
        });

    my $buckets = $riak_client->_buckets;
    for my $bucket_name ( @{$buckets->{'buckets'}} ) {
        my $bucket = Data::Riak::Fast::Bucket->new({
                name => $bucket_name,
                riak => $riak_client,
            });
        $bucket->remove_all;
    }
}
1;
use inc::Module::Install;
use Module::Install::TestTarget;
 
name 'MyApp';
all_from 'lib/MyApp.pm';
 
requires 'HOGEHOGE';
 
test_requires 'Test::More';
test_requires 'Test::riak';
 
tests 't/*.t t/*/*.t t/*/*/*.t';
author_tests 'xt';
 
default_test_target(
    includes       => ['t/lib'],
    run_on_prepare => ['t/script/setup_riak.pl'],
);
 
auto_include();
WriteAll;
  • t/script/setup_riak.pl
use Test::MyAPP::riak;
use JSON::XS;
 
$SIG{INT} = sub { CORE::exit 1 };
$riak = Test::MyAPP::riak->setup;
$ENV{TEST_RIAK} = encode_json +{ %$riak };

こんなかんじでほとんど xaicron さんの書いたものと同じようにつかえます。
今の環境では更に utility モジュールを作って毎回の初期化時に config 書き換えたり cleanup を実行するようにして、良い感じに抽象化されて毎回クリーンな Riak を意識せずにつかえるようになって捗るようになりました。

あと kan++ hiratara++