ISUCON3 本戦にスタッフとして参加させていただきました。準備期間と当日にやったこと、それを通して感じたことをまとめます。

isucon3 1


スタッフとしてやったこと

準備期間

  • お題アプリの PHP 移植
  • 各チームへの配布物作成(封筒・ネームプレート)


当日

  • スタッフっぽいこと
  • お題アプリの Scala 移植(未完)


準備期間

php 移植

久々に PHP を触ったので、過去にはまったところにことごとくはまり、
「あーーーーー!!!これーーーーー!!!!!」
って何回もなっていました。底辺スタッフ感が出ています。

全てのテストが通るとこまではなんとか1人でいけたものの、以下の問題が。。

  • ベンチかけると 400 エラーが出る
  • ブラウザから動かすと信じられないくらい重い

ベンチかけると 400 エラーが出た理由は、PHP の getallheaders() がパラメータ名の大文字小文字を区別して返してくることでした(!!?)。ベンチの X-API-Key は大文字のやつと小文字のやつが混ざってくるので、そこで死んでいました。この問題は、パラメータ名(連想配列のキー)を一度すべて小文字になおすことで解決しました。

ブラウザから見ると信じられないくらい重かった理由は、/timeline で long polling してる間 session がロック?されちゃって、他のリクエストを受けつけない状態になっていたことでした(!!?)。この問題は、 Limonade のオプションで session を使わないようにして解決しました。

PHP さん、さすがでした。


各チームへの配布物作成(封筒・ネームプレート)

本戦前日に @acidlemon さんから指示を受けて好き勝手に作成しました。ネームプレートが参加者のみなさんのツイートやブログに登場しているのを見る度、似非デザイナー気分に浸らせていただいております。

isucon3 2


当日

スタッフっぽいこと

自分が底辺なので、雑用には積極的に手を挙げるよう心がけました。サンドイッチにも積極的に手を挙げました。
大きな問題が起こらず、なによりだったなと思います。


お題アプリの Scala 移植

Scalatra + Slick でこそこそがんばっていました。が、Slick にハマって、時間内には全然ムリでした。なんとか今週中に完成させて GitHub で公開してブログにまとめるとこまでいきたいと思っています。


まとめ

準備期間

スタッフ限定の IRC チャンネルに入れていただき、タイムラインを追っているだけでものすごく勉強になりました。技術的な部分ではほとんど貢献できませんでしたが、刺激的な経験をさせていただいた分をしっかりと今後に活かしていきたいです。

先輩スタッフのみなさん、本当にお疲れ様でした。


当日

一流の方々の本気の闘いを近くで感じられたのはとても刺激になりました。

明確な優劣とか勝敗っていうのがつきにくい分野に、シビアに勝敗が決まるこういったイベントがあるっていうのはとても良いことだなあと思います。自分の過去を振り返ってみてもも、シビアな結果を経験してから見えたものは多いように思います。

懇親会では、会社の同期かつチームぽわわ2のメンバーである @shogo82148 とまったり話していました。彼の存在はとても刺激になります。また、@fujiwara さんがとても楽しそうに終始笑顔でいらっしゃるのを見て、とても穏やかな気持ちになりました。

運営側のみなさん、参加者のみなさん、本当にお疲れ様でした。そして、ありがとうございました。


結論

次は出場しないとあかんなと思いました。

isucon3 3