読者です 読者をやめる 読者になる 読者になる

きょこみのーと

元六本木でGo書いてました。今はVRでGo書いてます。

ISUCON6本戦初出場で敗退しました @ご注文はpoyoですか?

ISUCON参加は今年で3回目。毎年運営の方々はお疲れ様です。 今年は初の本戦出場が出来て本当に楽しかったです。

仕事とかでバタバタしてて、ブログ書くのが遅くなってしまった...

チームメンバーと役割

過去2年はk02というチームで出ていたのですが、メンバーの一人がセブ島にいるという体たらくで雑に集まったメンバーで参加しました。

実際、雑に集まった突貫チームだけど、前職で一緒に仕事してたこともあり、それぞれの得意分野とか性格とか把握してたので事前準備とか打ち合わせ無しでも特に問題がありませんでした。

f:id:kyokomi:20161103140723p:plain

※窓側の席でした

当日の準備

  • 無事に起床
  • 本戦参加者だけが貰えるネームカードをGETしてテンションが上がる
  • GitHubのRepositoryを作ってコラボレーターに招待
  • sshのPrivateKeyを共有したり
  • インスタンスで使うgithubアカウントの用意など

ちゃんと会社の宣伝してきました ^^

※右の写真のひきこもりTシャツ

地味に弊社を知っている人が居て驚きましたね。

今回のお題

  • フロントエンドサーバーとしてReact.jsを使ったnode.js
  • そこからリバースプロキシされる形でアプリが存在し、それには各言語の実装(Goを選択)
  • DBは、MySQL
  • すべて docker になっていて、 docker-compose で動いている
  • 5台あるけど1台で全部のdockerが動いてる状況

反省点

  • Dockerを捨てるかどうかの判断が遅かった(午前中くらい)
    • nginxをdocker-composeに混ぜるのでハマった
    • そもそもなんで docker-compose...頑張ってるんだ... ってなるまでに時間かかった
  • 5台インスタンスを使い切る前に時間切れ(時間配分)
    • ある程度チューニングしたら横に並べるつもりだったが時間配分ミス
  • Reactのフロントエンドサーバーは飾りだと思って、軽視してた
    • 一応、チラっと見たけど先にセオリー通りまずはサーバーを〜って優先度を雑に決めてしまった
  • 絵チャット掲示板的なやつという前情報でなんとなくわかったつもりになってしまった
    • あまりサービスそのものを触る時間を取らなかった
    • 触ってると、ここはAPI通信必要そうだな〜とかここは最適化できそうみたいなのが湧いてきて、本戦終了して改めて触ってると「なるほど、こうなってたのか〜」という感じだった

所感

本戦は初出場なんですが、予選と違って裁量がかなり多くてやることも多いけど一番効果的なものをやろうという感じで、今までの経験と頭をフルにつかって取り組む感じがめっちゃ楽しかったです。

結果は11位という形でやり残しもたくさんありますが、来年も開催されるだろうと思い腕を磨いて行きたいと思います。 来年も本戦出るぞ。来年こそ優勝だ !!!