Please enable JavaScript.
Coggle requires JavaScript to display documents.
Web課題 - Coggle Diagram
Web課題
ソフトスキル
開発への取り組む姿勢
ボールを拾う
進捗の共有
何のための進捗共有?
(メンターに?同期に?)
見積もり能力
一旦、キャッチアップして見て考える
一旦プロトタイプ作ってみる
意見の発信
一旦意見を受け止める
(共感力)
コストと価値のバランスを考える
発想力
情報整理
責任とヘルプのあげ方
誰に?どうあげる?
(メンター?同期?課題出した人?)
優先順位付け
Web課題に組み込みづらいのでは?
考えたいポイント
時間がかかるであろうチャレンジ要素を明確に
(後回しにしてOK)
コンフリクトしそうな開発
(コードが混乱する経験)
知識を得るのにも時間(コスト)がかかるから普段から勉強しよう
変化に対応できるようになる
急な仕様変更
急な差し込み
ライブラリを自分で調査、採用できる
失敗する経験とリカバリ
これをすればWebの概念、インフラの概念をうまく理解できる?言語、FW、環境が変わっても素早く対応できる?
ハードスキル
Webプログラミング
HTML, CSS
JavaScript
SPA(React)
JSON
ソースコードのバンドル
セッション管理
Redisを使ったセッション管理
API化できるとなおいい
CookieやAPサーバーのメモリを使ったセッション管理
ファイルの取り扱い
S3などの外部にアップする
HTTP
HTTPサーバーを作って、サーバーの気持ちを理解する
RESTな設計
ステータスコード
ゲーム基盤上での使い分け方
HTTPS(SSL証明書)
証明書の種類
(業務で触る機会は多分ない)
多重実行
Mutex
https://ja.wikipedia.org/wiki/Lock-free%E3%81%A8Wait-free%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
ソケット通信
(双方向のつなぎっぱ)
プロトコルバッファ
(JSONと比較する意味にもなる)
gRPC
ORM
自分で出すログの設定
ログレベル
どういう情報を出す
何を出しちゃだめ
研修で経験するには意外と難しそう
RDB
DBとのコネクション数
テーブル設計
正規化
整合性担保
CRUD
トランザクション
分離レベル
XAトランザクション
ロック
デッドロック
マイグレーション
バルクインサートなど処理の効率化
認証・認可
権限管理はgPaas Auth
認証はGoogle
インフラ構築・運用
CI/CDの作成
Jenkins(あるよー)
アプリビルド周りが引っかかってる話
Jenkinsは辛いから研修ではやりたくない
GitHubAction
GitlabCI
AWS Pipelineとか
インフラ構築の自動化
そんなに取り上げなくても良いのでは?
ansible or chef
CloudFormation
クラウドのセキュリティ
クラウドベンダごとの
責任分界点
IAM
SSH
セッションマネージャー
Gateway
情報の公開範囲
このファイルS3で外から見えていいの?
監査ログ
操作ログをとっておく
(権限がいつ変えられたか)
Webのセキュリティ
DDos
インジェクション
CSRF
XSS
apkの暗号化(Unityでやると期待)
コスト見積もり
コスト感を植え付ける
何にお金がかかってるの?
実際に作ったもののコストを計算する
じゃあ安くしてみるにはどうしたらいい?
転送量までは求めなくて良いのでは?
監視(CloudWatch)
slackへの通知
Mackerel
DataDog
何をみるべきか
構成
ロードバランシング
C10K問題
ステートレスな設計・ステートフルな設計
可用性
DBの水平分割・垂直分割
VPC
Gateway
プライベートとパブリックの違い
NAT越え
OSI参照モデル
サーバレス
マイクロサービス
よく使うクラウドサービスの名前とできること
コンテナ
Docker
オーケストレーション
k8s
EKS
GKE
開発フロー
リリース
手動デプロイ
git pullしてきて
サービス登録・起動
DBのマイグレーション
楽するため
make コマンド
デプロイ手法
ブルーグリーン
ローリング
カナリア
デプロイの自動化
gAxe
どこからが自動なの?
コミット即反映ができる安心材料が足りない
CI/CDで実現されてる世界もあるんだよ
gitを使った開発
git-flow
コンフリクトの解消
プルリク
コードレビュー
コードレビュー会
コミットメッセージの書き方
テスト
テスト計画書
手動テスト
(客観的に評価する)
負荷テスト
バグレポート
issueの書き方
自動テスト
E2Eテスト
ユニットテスト
モブプロ・モブレビュー
ペアプロ
一般
仕様書作成
機能説明資料の作成
企画書作成
効果測定
SEO
広告効果測定
ユーザー行動分析
技術選定
自力キャッチアップ
OSSライセンス
設計書作成
マークダウンの書き方
プログラミング論
疎結合になぜすべきか
スパゲッティコードとはなんぞや?
双方向データ結合
単方向データ結合
クリーンアーキテクチャ
DDD
オブジェクト指向
マルチスレッド
データの参照と更新
キャッシュ
アルゴリズム
リファクタリング
コメントの書き方
自習要素
(Pythonやりつつ)
AWSでの環境構築
サーバー周りの知識
HTML/CSS
JavaScript
Docker
運用上考えるべきこと
コードどこで管理する?
stash
AWSアカウントの振り出し
ドキュメント整理はコンフルでいい?
gitでやる
Trello使う?
yes(使う)
価値のある経験
習慣化できる物
見積もりの練習
情報整理
(学びのアウトプット)
進捗メモを作る
slackのスレッド
Trello
ググり方
wiki(共有するための情報の残し方)を書く
計測して反省のサイクル
問題の言語化
足りなそうな知識を明確にする
経験として学びが残る物
苦手なものを知る
自分で学ぶことを練習する
得意そうなポイントが見つかる
自分で仕様を考える
作ったものがどう動くか意識する
適切なタスク分割