初めに自己紹介をします。いくら・はむといいます。東京科学大学学士3年で、東京科学大学デジタル創作同好会traPというサークルに所属しています。ISUCON14ではtraPのメンバーと「リアクティブ二子玉川~♪」で出場して32位でした。
今日はtraPでのISUCONについてのお話をさせていただくのですが、traPについても説明します。 traPは東京科学大学で活動するデジタル創作・プログラミング系サークルです。今年作問のポケットサインの@sekaiさんが初代代表だったり、今年の作問陣にもNaruseJunのメンバーをはじめ多くの関係者が含まれています。 ISUCON14にはtraPから44人、チーム数で言うとtraP部員だけのチームは12チームが参加しました。
このグラフはtraPからのISUCON参加者数の推移です。左がチーム数、右が参加者数のグラフです。大学のサークルなので当然部員は毎年入れ替わっているのですが、それでも増加していることがわかります。実際、ISUCONに取り組み、出場する後輩を育成することがtraPの文化として定着しています。
その育成に大きな影響を与えているものとして、traPの部内ISUCON「PISCON」があります。traP ISUCON で PISCON です。Uが抜けてるじゃないかというご指摘はごもっともなんですが、見逃してください。PISCONにはISUCONの講習会がくっついていたり、参加者はAWSアカウントの用意がいらなかったりと、初心者でも参加しやすい環境が整っており、ISUCONに取り組む人の増加に貢献しています。 AWSアカウントは1年生などは持っていないことが多く、実際僕も3年生になってからアカウントを作ったので、非常に助かりました。
PISCONはこのような流れで行います。 まず、PISCON担当者が過去問を選びます。今年はISUCON11予選のISUCONDITIONと、ISUCON12決勝のISUPORTSを選び、2回開催しました。 次に、PISCON担当者がポータルの設定やデプロイの準備をします。 その後、初日にISUCON講習会を行います。はじめてISUCONに取り組むとスコアを少し上げるだけでも大変ですが、ここを手取り足取り教えることで初心者でも改善を入れられるようにします。わかりやすくスコアがあがることでモチベにもつながります。 そのあとは3日ぐらいポータルを立てておきます。チームによっては本番と8時間やることもできるようにします。 終わった後には感想戦を行い、お互いの解法を見せあったりして知見を共有します。 そして1週間ぐらいはポータルを立てておき、延長戦をしたい人は延長戦をします。 このプロセスを通して、traPではISUCONに取り組み強くなろうとする人が増えています。
そんなPISCONのポータルは、matsuu/aws-isuconのAMIを使っています。いつも本当にありがとうございます。競技者が自由にインスタンスを建てたり削除したりできるようになっており、また、チームを組んで参加することができます。ポータルによって競技に集中できる環境を提供しています。
ということで、PISCON Portalのv2を作ることになりました。 まず、バグっていないことが前提です。 その上で、複数台のベンチマーカーに対応したいです。1台だと講習会のときにキューが詰まることがあるので、複数台にできると嬉しいなという感じです。 また、過去問ごとの切り替えを楽にやりたいです。今は問題特有の処理を書き換えてデプロイみたいなことをやっているので、ここを手軽にできたらいいなと思っています。 さらに、もっと盛り上げたいです。最高点を更新したらUI上で花火が上がるとか、順位が入れ替わったら部内SNSにメッセージが行くとか、そういうのをやってもっと楽しくPISCONに取り組む人が増えてほしいです。 これは管理者むけですが、プロビジョニングのためのansibleやterraformを用意したいです。今はポータルを立てるのがすごい面倒なので、これを簡単にしてもっと気軽にPISCONを開催できるようにしたいです。 また、部内SNS以外のSlackやGitHubの認証を使えるようにすれば、traP以外のいろんな人に使ってもらえるかなと思っています。