Ba.とWEBと梅干し太郎

WEB制作・プログラミング・音楽の学習したこと・つくったもののアウトプットブログです。あとは日記。

エンジニア歴半年でISUCON2016に参加してみた

EC店舗運営からエンジニアに転向してからもう少しで半年になる私が、好奇心100%で参戦したISUCON2016(http://isucon.net/archives/46239949.html)の感想を書きとめる。
一緒に参戦してくれた、こみともさん、t_yng氏(http://yng.hatenablog.jp/)、ISUCONの存在を共有し、指導してくださって諸先輩方、ありがとうございました。

私は活躍できてないし、、、
技術的な話は他の有志の方々のものがとても参考になるので、控えめで。
isucon.net

明日からの自分へ向けての忘備録のつもりで書く。
技術的には役に立たんので参考にしようと思った人は要注意だ。

思ったこと・得た経験まとめ
* 本当に素直にめっちゃ楽しかった
* スロークエリやリファクタへの意識が高まった
* 会社で業務してるだけだと人任せになりがちな箇所を勉強するきっかけになった。サーバー周りとか
* ISUCON参加者は面白い人が多いことが分かった

とまあ、まとめてみたのの、初々しい感じが丸出し、、。

私はプログラミングを社会人になってから学習し始めたので、大学の研究室で友達とワイワイ言い合いながらコードを書くとか、ハッカソンに出るといった経験がない。
それもあってか、自宅でISUCON参戦メンバーとワイワイ言いながら改修していく作業はとても刺激的で良い経験だった。
光回線引いててよかった。

一通りイベントが終わった後、会社の人達と改修方法について話し合えたり、ボトルネックについてあーだこーだ言えるのも楽しかった。

事前準備
* DB周りとコードのリファクタに絞って勉強した。
* 過去問を触ってみたが、デプロイの設定とかでアプリぶっこわした。色々不足。
* れこ氏(http://leko.jp/)に教えてもらったXdedugとqcachegrind(未だにちゃんと発音できん)。

で、本番
* DBにはばっちりインデックスはってあってあんまり役立たぬ。テーブルも少ないし
* デプロイはインフラ担当に丸投げ
* 実際にちゃんと運用できるほどツールを理解しておらず、諦め

私ができたことは、せいぜい無駄なSQL文をリファクタするくらい。
「ん、ここはおかしそう!遅そう!」みたいなことは言えるけど、それが具体的な理由と対応策になって出てこないのだ。
結果的に、その中から自分でも分かる箇所をメンバーに聞きながらちまちまリファクタした。

最終的には、初期から出ていたエラーは大方解消して10,000点ちょっと。
チームの人がいなければ、何もできなかったであろう。

と言った風に反省点のにじみ出るまとめである。

私がこのアウトプットで言えるのはこんな所。
* 小さな改修でもスコアになるっぽい。
* 上位めざすなら根本的な実装し直しが必要。
* WEBアプリケーションてどう動いてるんだっけ?ということを根っこから理解できていればもっと根本的な解決が浮かぶかも。
* チームの作戦会議と、役割分担はとても大事。
* twitterの#ISUCONを監視していると、大会中は常時おもしろい。
* わいわい開発するのは楽しい。
* 事前準備や日頃の積み重ね。
* ログ、デバック命。

本当に出て良かったという総評だ。