サイバーエージェントのCA Tech Dojo-サーバーサイド(Go)編-に参加しました
CA Tech Dojoについて
3週間でゲームAPIを開発します
参加者4名に対して3名のメンターさんが付いてくれます
参加までの流れ
- 書類選考
- 人事の方との面接
- 予習
1. 書類選考
割愛
2. 人事の方との面接
質問の例は以下です
- 自己紹介
- 業種とその理由
- 職種とその理由
- 開発経験
- 自分の強みと弱み
- インターン参加後のイメージ
- 逆質問
3. 予習
面接で教えていただいた以下のリンクを参考に予習しました
やったこと
3週間でRESTのゲームAPIを開発しました。
基礎課題と応用課題があります。僕は基礎課題1週間半、応用課題1週間半かかりました。
開発したのは以下のようなゲームのサーバサイドです。
基礎課題
基本的な処理を実装しました
- ユーザの管理
- インゲームの結果を記録
- ランキングを表示
- ガチャを引く
- コレクション一覧を表示
応用課題
基礎課題が終わった時点で、ゲームは仕様通りに動くようになります。
応用課題では、各々がやりたいことをやります。
僕がやったことは以下です。
- gomock, sqlmockを使って単体テスト
- Github Actionsによる単体テストの自動実行
- Zapを使ったアプリケーションのロギング
- サーバのアプリケーションをDocker上で実行
- Wireによる初期化関数の自動生成
- マスタ系データをRedisでオンメモリ化
- gRPCを利用した通信に変更
技術面の学び
たくさんあります。今回は割愛します。他の記事で書きたいと思います。
コードはGitHubに上げてあります。
意識面の学び
様々な選択肢を検討して丁寧に実装する
大きな問題は細かく分割して取り組む
- 一気に作らない
- PRは小さく出す
発表は具体例・図・画像を入れると効果的
- このフレームワークを使うとこのコードがこんなに短くなります的な
同期の記事
note.com note.com hiyoko-coder.hatenablog.com ariku1021.hatenablog.com