6/6~7日の二日間、タイトルにあるようにCyberAgent 2days インフラ向け 開発型インターン に参加しました。

問題

内容としては、isuconのようなもので、与えられたサーバーを改良し、スコアを上げるものです。問題はGo言語でときました。

試した点

  • goのバージョンアップデート
  • 画像読み込みをnginxに移行
    ユーザの画像読み込みを別サーバーに毎度アクセスしていたため、nginx側で画像を返す方向に変えました。アイコン周りで解像度を変更しており、エラーに時間を取られました。スコアはあまり上がりませんでした。(時間がかかったのに残念)
  • MySQLからredisへの移行
    ユーザの情報取得をMySQLサーバーからredisに移行しようとしました。結局時間切れでスコア計測まで行けませんでした。終了後の解説で、社員の方がMySQL以前にredisサーバーも使わず、goのオンメモリで済ませていたため、今になって後半はredisにこだわりすぎたと反省しています。
  • MySQLサーバーへのインデックス貼り
    1日目終了後に社員の方の説明で教えてもらいました。結局これが一番スコア増加量が大きかったです。

結果としては、中央付近の順位となりました。。目立った結果が得られずチームに貢献できずに申し訳ない気持ちでいっぱいです。「推測するな、計測せよ」の言葉を重く受け止めます😬。

その他

covid-19の影響で、私にとって初のオンラインインターンでした。(abema towersに入ってみたかった..)2日間slackで4人チームにCA社のエンジニア二方がついてくださり、質問があり次第すぐに対応いただけ、zoomで個別面談時間もとっていただけて、技術的にもメンタル的にも大きな支えとなりました。現地で会えないのはとても辛いですが、オンラインでも臨場感は得られるものですね。休憩がてら家を出たら「そうや、ここ東京ちゃうやん」っふと思う場面が何度かありました。