CURRICULUM
カリキュラム
- テックスタジアムで学ぶ内容と目標について
- 本コース概要と全体スケジュールについて
- ゲーム制作現場の現状について
- コンシューマ、ソーシャル、Webゲームについて
- どのような技術を用いて開発されているか
- 学習する技術について
- サンプルゲーム1を見てみる
- どの部分でサーバーとの通信が発生していて、何をサーバーで処理しているか
- mBaaSの設定画面で理解するバックエンド
- mBaaSのAPI
- mBaaSのストレージ
- mBaaSのアカウント管理
- プロジェクトのバージョン管理(Git)
- バージョン管理とは
- 環境の導入
- シェルについて
- GUIとCUI
- ターミナル、コンソール、シェル
- シェルに慣れよう
- エディタについて
- テキストエディタ、IDE
- Visual Studio Codeの導入
- mBaaSのスクリプトに手を加えてみよう
- エディタを使って簡単なコードを書く
- mBaaSにコピペで反映する
- ゲームにおけるサーバー構成について
- サーバーなしの構成
- サーバーの構成
- リソースを外出しした構成
- 負荷分散のために複数サーバーに
- 役割ごとのサーバーを用意、外部APIを利用、外部エンジンを利用
- フロントがwebの場合の構成
- 各種HTTP Server、OS、言語 (LAMP構成など)
- ゲームにおけるサーバー利用について
- 新規ユーザー登録
- ユーザー情報
- マスターデータ配信、イベント配信
- アセット配信
- お知らせ配信
- ログインボーナス
- アプリ内課金
- アイテム使用時の所持チェックやミッション達成などの検証(validate)
- ガチャ抽選、付与
- アセットデータダウンロード
- フレンド、ギルド
- ランキング
- 補填配布
- カスタマーサポート
- push通知
- KPI集計、ログ解析
- ゲーム向けBaaS
- Amazon GameSparks
- DeNA Sakasho
- Game Server Services
- サンプルゲーム2を見てみる
- 用意された機能の確認
- Webページ作成
- サーバー側のコード+HTML+CSS
- Webページを作ってみよう
- WebAPIとは
- HTTP
- HTTPメソッド
- HTTPステータスコード
- WebAPI作成1
- プログラミングで困ったときは
- WebAPIと認証
- Web上に公開されているということはどこからでもアクセスできる
- 認証について
- WebAPI作成2
- 簡単な認証処理を実装してみる
- botとは
- botをつくってみる
- Slack Real Time Message API / Slack Events API / 認証リクエスト
- Slack bot をつくろう
- ストレージ
- ファイルストレージ
- ファイルサーバー、Amazon S3、Azure Storage…
- CDN
- Akamai、vernish、Cloud Flont…
- アセット配信(おさらい)
- RDB
- RDBとは
- 代表的なRDB
- SQL
- SQLとは
- 表データのイメージ
- SQL基本構文、3値論理
- ビュー、ストアドプロシージャ
- 簡単な問い合わせをしてみよう
- ユーザーデータ
- マスターデータ
- マスターデータ
- 時限機能開放のためのマスター
- ログ
- ゲーム中にもみれるログ プレゼント、メッセージ
- ゲーム中には見えないログ 行動ログ、実行ログ、KPI計測用ログ
- インデックス、正規化
- インデックス
- 正規化
- 問い合わせ時パフォーマンス
- Dockerを使ってみよう
- セッション
- サーバーセッション
- 負荷分散/冗長化のための複数台構成とセッション
- NoSQL
- NoSQLとは
- 代表的なNoSQLと利用時の注意
- ユニットテスト
- CI
- 継続的インテグレーションとは
- 代表的なCIツール
- 機能追加実装
- リリースしたあとも運用中に追加開発があるゲーム
- プログラミングTips1
- コンストラクタとデストラクタ
- 値型と参照型と参照渡し、列挙型
- 拡張メソッド
- 機能追加してみよう1
- ユニットテストを書いてみよう
- プログラミングTips2
- デリゲート、ラムダ式
- ジェネリック、LINQ、遅延評価
- 同期処理と非同期処理
- プルリクエスト
- 機能追加してみよう2
- プルリクエストしてみよう
- セキュリティ
- SQLインジェクション対策
- XSS、CSRF
- データ偽装対策
- 暗号化通信
- 攻撃されてみよう
- パフォーマンス対策
- パフォーマンス対策の重要性
- クライアントにキャッシュ
- サーバー側でのNoSQLキャッシュ
- アトミックである必要があるデータ
- 負荷分散
- 負荷分散とは
- サーバーのスケールアウト
- DBの垂直分割、水平分割
- 開発環境と本番環境
- ローカル環境、開発環境
- 本番環境
- デプロイ
- デプロイとは
- 開発デプロイ
- 本番デプロイ
- デプロイしてみよう
- カスタマーサポート
- カスタマーサポートとは
- ユーザー問い合わせ調査とは
- ユーザー問い合わせ調査をしてみよう
- 障害調査
- 障害発生!そのとき現場は
- 障害調査
- 障害対応
- 障害対応は時間との勝負
- 一次対応
- 恒久対応
- 振り返り
- 障害調査、対応をしてみよう
- 実装言語と環境
- PHPでの実装
- サーバレスコンピューティングでの実装
- サーバーOSごとの違い、ログなど
- Tips
- デザインパターン
- サーバー監視
- BTS
- オンプレミスとクラウド
- 運用デモ
- 機能追加実装してみよう
- ユーザー問い合わせ対応してみよう
- 障害調査/対応してみよう
- 自主制作について
- 企画発表
- 中間発表
- 最終発表
- ポートフォリオ制作