チーム「ヌルポインターマリアユニバース」として id:wtatsuru
id:Pasta-K と出てきました。最終スコアは 28,628 点で、fail してない中では 7 位。ISUCON にちゃんと出場したのは前回が初めてで、そのときは予選でボコボコにされて終わってしまったんだけど、今回はそれなりの結果 *1 を残せたのは嬉しい、嬉しいが、もっとうまくやれたことはいくらでもあったな〜〜という感じはする……。日々精進です。
おさらいすると、本戦の問題は ISUCON 風コンテストのポータルが題材であった。
白金動物園が出題ということで、サービスメッシュ的なサムシング (マイクロサービス + Envoy / Istio)、そのサービス間通信に REST API 以外の何か (gRPC / GraphQL)、まさかのパターンとして k8s の何らか (何だろう……)、みたいなのが出現することはなんとなく予想はしていた。
し、予選の段階でポータルのフロントエンドが各種 API コールに protobuf を使っていることに気づいたりもしていたんだけど (言い訳)、ここまで直球でいろいろ出てくるとさすがに笑うしかなかった……。10 回目というキリのいいタイミングで、こんなめちゃくちゃ面白い問題が出てくるタイミングで本戦に参加できてよかったと心から思う。
ISUCON10参加者以外は競技に参加できませんが、本選の当日マニュアルを公開します。応援されているみなさんもボリュームを体感してみてください! #isuconhttps://t.co/B5cWh8sbJ2
— ISUCON公式 (@isucon_official) October 3, 2020
今気づいたけど XSUCON の X って 10 回目の ISUCON であることとかかっているのか??
- 時間内にチームでやったことの流れは、だいたい
id:wtatsuru さんが書いてくれていたとおり
ISUCON10 本選に出場しました。7位でした。 - wtatsuru's blog
- 予選の初期実装は一見でわりとサッパリしている感じだったのと対照的に、本戦は盛り盛りという感じですごかった (語彙力)
- 後半に
id:Pasta-K とペアプロをやってアプリケーション側の作業をいろいろやった、というのがだいたいの成果
id:wtatsuru さんがなんとなく司令塔という感じで、タスクの優先度判断などやりつつ進めた
- 途中からはずっと Go でウェブアプリケーションを書くのに慣れている自分がコードを書く役 + レギュレーションやルール、用意されている実装の全体の雰囲気を把握していて何をどういう雰囲気で書いたらいいのか高速に答える役が
id:Pasta-K という感じで動いていた
- やったこと自体にそんなに大玉感はない気がしていて、できそうなところを簡単そうな順につぶしていった、という感じがする
- 午前中に時間を使っただけあってか
id:Pasta-K がめちゃくちゃ細かく網羅的にルール類を把握していて、「ここはこういうレスポンス返して良いもんなんだっけ」みたいな問いがどんどん解決していくので、変なところであまりハマらずにススっと実装を進めていけるという感じでめっちゃ体験がよかった
- 予選で中途半端に実施していた 15 分スプリントをわりとガッツリ使ったのが技術面じゃないハイライトで、これは完全に良かった
- スプリント会 · Issue #11 · tatsuru/isucon10-final · GitHub
- スクラム開発のスプリントみたいなやつを 15 分単位で回し、15 分ごとに進捗報告とごく簡単な振り返りを実施、最後に次の 15 分でやることを調整する、というやつ
- 予選のときは正直面白半分でやっていた感じもあったけど、今回はチームワークを発揮する上でかなりレールになった感覚がある
- 次やることを調整する段階で「インフラ作業したいのでベンチ回せないかも」「ちょっと時間かかりそうな実装タスク掴むのでたぶん影響ない」みたいなすり合わせができていた
- ポモドーロテクニック的なやつと融合させることで、15分 * 3 セットごとに全員で強制的に休憩を取るようにしたこともあり、作業がノッてきてからもベロシティはほとんど落ちなかった感じがする
- ISUCON 全く関係ない文脈で短時間スプリントに関するエントリを見ていたのも少し影響している気はする
- 微妙に緊張していて寝起きのコンディションがいまいちだったのが心残りその1
- 今思うと、そういう状態であることを強くアピールして目が覚めるような施策をチームで打ってもらったらよかった、即ペアプロとか
- 全体的に超大玉っぽい施策は打てなかったというのが心残りその2
- 全体的に書き込み操作をするタイミングでやや長めのトランザクションが貼られていたが、これを不要そうなところでは剥がすのをシュッとやれてたら少し違ったのかもしれないな〜という気持ちもある
本来なら本戦は LINE 社のオフィスで開催されているところ、今回はリモートでの開催だったので、グッズやノベルティが詰まった箱が開催前に送られてきたのもめちゃくちゃよかった。ちゃんとTシャツや名入りネームプレート (!) も入っていて、こういうのが手元に残るだけでも参加した実感みたいなのがぐっと湧いてくるので面白い。
my new gear... pic.twitter.com/uJf0pKSiml
— 全画素読み出し (@polamjag) September 30, 2020
箱開けて緩衝材どけたときのファーストビューがこれでおもてなし感がやばい…… (ネタバレ) pic.twitter.com/7aBPkPndd2
— 全画素読み出し (@polamjag) September 30, 2020
出前館さんありがとうございますゴチになります!!!! #isucon pic.twitter.com/4yQMMiKyLY
— 全画素読み出し (@polamjag) October 3, 2020
— 全画素読み出し (@polamjag) October 3, 2020
競技時間中の YouTube Live も結構おもしろそうな話をしていたようなので、アーカイブが復活したら見ておきたいなと思う。スライド 1 枚でチーム紹介をやるというコーナーがあり、少なくとも身内にはスベらず面白がってもらえたのはよかった……。
— 趣味はマリンスポーツです (@hitode909) 2020年10月3日
こちらからは以上です。運営の皆さん本当にお疲れ様でした、ありがとうございました!!!!来年はヌルポインターマリアユニバースじゃなくて「チーム究極のピルスナー組合」で出たい。
予選のエントリはこれ: #isucon #isucon10 予選参加記: 決勝行けましたの巻 - polamjaggy
*1:ボコボコでは?という説はある、、