ひがきです。
isucon14参加しました!!
最終スコアは「5,500」くらいでした!
去年と違って少しはチューニングできたので、少しの成長を感じました笑
準備
チームメンバーが用意してくれていたansibleでチームの歩き方の認識を揃えたり、去年の問題でどんな動きをすべきかを確認していました。
ansibleでは
alpなどのインストールとか、DBサーバ分けるとか、デプロイ方法とかとか
を用意してました。
当日
10時 ~ 12時
初動で詰まる、、、、
デプロイがうまくできない
12時 ~
インデックス貼る
N+1の解消
マッチングにも取りかかりましたが、なんの成果もあげることができませんでした😭
振り返り
デロさんと振り返ってました!!
恥ずかしながら、Server Side Eventsについて何もわかっていなかったので、勉強しました。
このサイトを輪読したり、
ChatGPTで実際のネットワークのやり取りをみて、なるほどねーーーーーーー
ってなりました



マッチングについても解き直していました。
距離5以内の椅子を割り当てるように変更できました。
(一度のリクエストで一マッチングしかできない状態)
あとは、
miioさんがデロさんにプロジェクター返却するためにちょこっとだけ顔出してくれたり、
二人でSQLについて色々解き明かしたりしました。
途中配信のことを話したりもしました!!
二人であーだこーだ言いながら、休憩込で大体10時間はやりました。
振り返り#2
この日は各々がそれぞれ振り返る形で進めました。
当日はチームメンバーが対応してくれたオーナーのchairのエンドポイントのチューニングを自分ならどうやって解くかをやったり
一度のリクエストで複数マッチングさせるにはどうしようか考えていました。

エンドポイントが叩かれる度に"COMPLETE"であるか計算するよりも、DB側でフラグ持った方がマッチング早くできそう!!となりました。
ちょっとtakonomuraさんのGitHubカンニングしました。
公開してくださってありがとうございます!!!
なぜその解法に行き着くのかや、この後どうするべきかとかを話し合ったりしました。
(割り当て可能でも遠い地域の椅子が割り当てられる問題があるなーーとかを考えていました)
この日も休憩込で大体10時間はやりました。
まとめ
BAD POINT
悔しいという感情はありますが準備も全然できなかったし、自分的に悔しがる権利がないなってなってます。でも悔しいです。
GOOD POINT
去年は全くチューニングができずに終わっちゃったので、それと比べると成長はできているのはよかったです。
早い段階でしっかり目に振り返りできたのはよかったです。