先週土曜日(もう一週間も経ってしまった。。。)から一泊二日で「Perl入学式の修学旅行」という別名を持つ「キッカソン」へ行ってきました。

イベント自体は第3回ということですが、私は今回が初参加です。

じわじわ集まるのかと思っていたら、皆さん意外と到着していて驚きました(失礼)

ハッカソンは、広間でワイワイとやってました。
あっちこっちで色んな話が飛び交っているのをなんとなく聞いていると、時々興味ある話が出ていたりするのでちゃっかりメモしたりしました。

私はというと、数年前に Resque というモジュールを使って書いたジョブキューのサンプルプログラムがあったのですが、これを Docker を使った実装に変更するのをやってました。
数年前のプログラムでは、 Proclet と Test::RedisServer を使って動かしていたのですが、コンテナを使った実装に変更したいなと。

本当のことを言うと、 Perl の自動テストで Test::Mysqld を使用しているのをコンテナを使ったテストに書き換えたい、と思っていたのです。
この話は、 YAPC::Tokyo で @onk さんがチラッと話していたと思うのですが、開発中は DB のコンテナを使うのに、自動テストの時はアプリのコンテナを使っているのが微妙だな、という話です。
それがなければアプリのコンテナサイズも少しは小さくなるのかなと(副産物的な話ですが)。

実は memcached や Elasticsearch でも同じ問題があったのですが、この時はかなりのサイズダウンができたんですよね。
確か対策前はコンテナサイズが 2GB 近くあった気がします。
今は 1GB ちょっとになっています。

キッカソンの唯一の問題だったのは、ネットワーク環境です。
元々 Wi-Fi はないという話だったので通信自体はテザリングで問題ないのですが、 Docker のイメージを扱うのは時間がかかりました。。。
かつ、ダウンロードが途中で止まってしまうことも多かったので、比較的軽量な redis:alpine のイメージを使ってできることをやっていた感じです。

成果物はこちら。

新たに書く docker-compose の設定ファイルは version: "3" で書くようにしているのですが、起動するコンテナの数を指定をすると docker-compose では指定が無視されてしまう。

手軽さを求めて docker-compose を使っているのもあって、今のところはミスマッチ感があるな。。。ということで、起動時にコンテナの数をオプションとして指定するようにしました。

1
$ docker-compose up --build --scale worker=4

なお、 nginx の設定も書いていますが、今回は無関係です。

気がつけば晩ごはん。

広い場所で贅沢な晩ごはんでした。

それから夜遅くまで雑談からPerl入学式の運営から技術的な話まで、いろいろと話しました。
ここから寝るまでコードは一切書いていません。
ハッカソンというだけでなく、Perl入学式のサポーターが集まっている場でもあるので、今後の方針や地域ごとの問題などについても話し合い、より良い運営を目指して議論しました。

私は残念ながら途中で退席しました。

気がつけば朝ごはん。

朝ごはんが終わったあと、部屋に戻って帰り支度というか、荷物を持って広間へ。
2日目開始です。

この時に @tomcha_ さんに Kansai.pm を託しました。
Kansai.pm はメーリングリストが主体のゆるいコミュニティでしたが、いざ中心になって活動しようとするといろいろとわからないことが多くて大変でした。
今後はそうならないように、と思っていろいろと画策していましたが、それでも引き継ぐ内容は多くてやっぱり大変でした。

引き継いだその場で、早速 connpass のページを作ってました。

今後とも、 Kansai.pm をよろしくお願い申し上げます。
私も遠くから応援しています。

さて、実は上着を部屋に忘れてました。
室内が暖かくてすっかり忘れていました。

私は京都観光もそこそこに、頼まれていたお土産を買って帰路につきました。