SlideShare a Scribd company logo
1 of 62
Download to read offline
アナザーエデンにおける
⾮同期オートセーブを⽤いた
通信待ちストレスのないゲーム体験の実現
グリー株式会社
Wright Flyer Studios事業本部
NT Production部 Engineeringグループ
鈴⽊ 清⼈ ⻄⽥ 綾佑
CEDEC 2017
⾃⼰紹介
• ⻄⽥ 綾佑 (ニシダ リョウスケ)
• グリー株式会社 Wright Flyer Studios事業本部
• エンジニア
• @hosi_mo
2014年 東京⼤学⼤学院 情報理⼯学系研究科修了
同年 グリー株式会社 ⼊社
Wright Flyer StudiosにてLINEタワーライジングの開発を経て、アナザーエデンの開発を担当。
アナザーエデンでは、StateMachineを導⼊したゲームループとイベントハンドラの設計、
UIフレームワークの整備、サウンド基盤、ネットワーク基盤、データストア、アセット管理、オートセーブ周りを
主に担当していました。
⾃⼰紹介
• 鈴⽊ 清⼈ (スズキ キヨト)
• グリー株式会社
• Wright Flyer Studios事業本部
• リードエンジニア
2001年 横浜国⽴⼤学 ⼯学部 電⼦情報⼯学科卒業
2013年 グリー株式会社 ⼊社
グリーが⼤規模なサーバ負荷にどうやって対処しているのかを⾒たいと思って⼊社したら、な
ぜか⾃ら負荷を作り出すための活動をすることに
BIシステム、「天と⼤地と⼥神の魔法」のサーバアプリ開発を経て、「アナザーエデン」の各
種パイプラインの下回り全般を担当
• なぜ、オートセーブなのか? (鈴⽊)
• オートセーブのデモとその仕組 (⻄⽥)
• 要素技術 LevelDB/DynamoDB/FlatBuffers (鈴⽊)
• 運⽤の実際 (鈴⽊)
• まとめ
もくじ
スマホゲーム vs コンシューマゲーム
スマホ コンシューマ
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定
運⽤形態 サービス パッケージ
更新頻度 ⾼ 低
1プレイ時間 5分から10分 数⼗分
データ通信頻度 ⾼ 低
ダウンロード 分割か逐次 ⼀括
ユーザデータ サーバ ローカル
差異の解消 ≒ 進化?
スマートフォンゲーム
の⾼度化
コンシューマゲーム
との差異の解消
≒
?
アナザーエデンの主要なテーマ
よりコンシューマゲームっぽい作り⽅をしてみる
• だんだんとクライアント側でできることが増えていく
クライアント vs サーバのパラダイム
ココ
アナザーエデンの場合
スマホ コンシューマ アナザーエデン
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定 ゲーム -> 設定
運⽤形態 サービス パッケージ サービス
更新頻度 ⾼ 低 中
1プレイ時間 5分から10分 数⼗分 数⼗分
データ通信頻度 ⾼ 低 ⾼ (Background)
ダウンロード 分割か逐次 ⼀括 選択性
ユーザデータ サーバ ローカル ハイブリッド
グランドデザイン
バックグラウンド
でのデータ同期
データスキーマ
の共有
クライアントサイド
DBMS
⼀歩踏み込んだ
チート対策
クライアント > サーバ
「クライアント > サーバ」とは?
• ⼤きなコードベース
• データ設計の主体
• クライアント単体で動作
• 開発⼈員の⼤部分を投⼊
• ⼩さなコードベース
• クライアントのスキーマをミラー
• ミラーストレージに過ぎない
• イベントフック主体
• 少⼈数で⼿間をかけずにメンテ
• サーバでデータを作らない。クライアントでどんどん作る
• 作った側から、どんどんサーバに差分を送る
• Dropbox等のオンラインストレージサービスのPC⽤クライアントアプリでは⼀般的
• かなり⾼いレベルでバックグラウンド同期を実現
• もちろん、ゲームでも実現可能である
• 「データの共有」というよりも、「バックアップ」が主眼ならば、なおさら
バックグラウンドでのデータ同期
Dropbox および Dropbox のロゴは、Dropbox, Inc. の商標です。
バックグラウンドで同期することで
通信していないか
のように⾒える
通信状態にプレイ
を邪魔されない
遅いが他の特⻑をもった
DBを選択できる
オートセーブについて
アナザーエデンのオートセーブ
アナザーエデンに最適なオートセーブとは?
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
オートセーブ : ゴール定義
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
オートセーブ : アプローチ
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
キューイングとバックグラウンド通信の組み合わせ
ステートマシンによるオートセーブ制御
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
オートセーブ : アプローチ
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
キューイングとバックグラウンド通信の組み合わせ
ステートマシンによるオートセーブ制御
• ゲームプレイ中、左上に「Auto Saving…」と表
⽰されるタイミングがある
• アプリをkillしても、最後に表⽰されたタイミン
グの状態でゲームが復帰する
「Auto Saving…」
• 各種設定UIクローズ時
• フィールドのエリア移動時
• luaイベント終了時
• シナリオ進捗時
• バトル終了時
• 1分に1回(プレイ時間が積み上がる)
オートセーブのタイミング
ステートが変わる時にセーブ処理
ExplorerState
FishingState
WarpState
BattleState
EventScriptState
GlobalUIState 装備画⾯などのUI表⽰
イベントスクリプト実⾏
エリア移動中
バトル中
釣り中
プレイヤー操作中
ExplorerStateに戻る
タイミングでオートセーブ
• ユーザデータに変更があるかどうか
• メモリ上のdirty flagを精査
• dirtyなレコードをローカルDBに書き込み
• 差分⼀覧をサーバ通知⽤に別で保存→
オートセーブで何を保存してる?
基本的には次の条件で保存する
msgpack
オートセーブ毎に
msgpackがつくられる
msgpack
msgpack
msgpack
msgpack
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
オートセーブ : アプローチ
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
キューイングとバックグラウンド通信の組み合わせ
ステートマシンによるセーブポイント制御
キューイングとバックグラウンド通信
オートセーブの差分情報をサーバに送りたい
Diff
Diff
Diff
Diff
差分情報の等式
クライアントの最新状態 = サーバのミラー状態 + 前回の保存からの差分
この定式を(がんばって)維持することで、⾮同期ながらもデータの⼀貫性を
それなりに⾼い精度で確保できる
• 何かあったときはサーバを優先して、データを巻き戻す
• 巻き戻りのリスクを最⼩化するために、できるだけ⼩さな差分で同期
1.最新の状態
2.ひとつまえの保存状態から変更があったレコー
ド(サーバに送る差分)
1.保存形式はテーブルごとに暗号化したmsgpack
2.msgpackはオートセーブ毎に作成
クライアントからサーバへの同期①
クライアントのローカルDBに、次の2つを保存
• バックグラウンドでどんどん送信する
• 差分はひとつずつ順番に送る
• 1差分、1リクエスト
• ACKがなければ、その差分を送り続ける
• 不整合が起きたら、サーバの最新状態に巻き戻す
クライアントからサーバへの同期②
差分を送信
• 差分は100個までは溜め込み可能
• 100を超えたらタイトルに戻してあげる
• x分間通信失敗し続けた場合も同様
クライアントからサーバへの同期③
タイトル画⾯ではかならず必ず差分を全部
送信してから起動
GameServer
クライアントからサーバへの同期④
AutoSave!
msgpack
Push
diff
Background
}Size = 100
Request Queue
Diff
リクエストごとローカルDBに保存
たくさんリクエストくる
スケーラビリテイだいじ
msgpack
msgpack
msgpack
msgpack
ブロッキング通信
プレイヤーの操作を⽌めて通信する必要があるもの
• 有償通貨を使⽤したキャラクター抽選
• 有償通貨を報酬にする機能
• サーバ管理テーブル : ギフト、クエスト報酬etc
いわゆるローディング画⾯
ブロッキング通信とバックグラウンド通信
1. バックグラウンド通信キューの残りを確認
2. バックグラウンド通信を全て実⾏
• 通信キューの数だけAPIコールをゴリゴリ実⾏
3. バックグラウンド通信キューが空になる
4. 晴れてブロッキング通信開始
ブロッキング通信が発生した場合の挙動
• が、サーバ側でデータを変更したい場合もある…
• 有償通貨使ったキャラクター抽選はアプリ側でやりたくない
• 補填したい
• サポートツールからデータの補正したい…
サーバからクライアントへの同期①
「サーバはクライアントのミラーストレージである」
GameServer
クライアントからサーバへの同期④
AutoSave!
msgpack
Push
diff
Background
}Size = 100
Request Queue
Diff
リクエストごとローカルDBに保存
たくさんリクエストくる
スケーラビリテイだいじ
msgpack
msgpack
msgpack
msgpack
⾮同期の通信と競合してしまう
サーバからクライアントへの同期③
サーバからデータ更新命令を送信
1. サーバからクライアントへ命令送信(APIコールのレスポンスに⼊れる
• クライアントから完了通知が来るまでサーバの命令は不揮発性
2. クライアントがデータを変更
3. オートセーブ時に差分をサーバへ送信(完了済の命令idも送信
4. サーバは命令を削除
Operation Builder
1.ボタンを押す。画⾯ローディング表⽰
2.ローカルの差分データを全送信(N回APIコール)
3.抽選⽤APIをブロッキングで呼び出す
4.サーバ内で抽選し、OperationBuilderを発⾏し、クライアントへ返信
5.クライアントで、命令どおりのユーザデータの変更処理を実⾏
6.演出表⽰
7.通常のオートセーブに混ぜて、バックグラウンドで変更結果と完了署名を送信
8.サーバに保存していた命令を削除
OperationBuilderの流れ
{
キャラクター抽選の例
OperationBuilderの流れ : 図
diff
API Call
抽選
OperationBuilder
DB 変更
AutoSave
出会い実⾏
命令削除完了報告
• サーバ
• クライアントから完了報告が来るまでは、処理が終わっていな
いものとみなす
• 終わったときちんと⾔ってくるまで、何度も命令を送りなおす
• クライアント側
• 処理完了をかならず差分と⼀緒に保存する
• ⼆回実⾏するのを防ぐ
• ⼆回実⾏してもいいが、実⾏前の状態に巻き戻してからだ
OperationBuilderのキモ
オートセーブまとめ
1.ステートマシンによるオートセーブ制御
2.キューイングとバックグラウンド通信の組み合わせ
3.OperationBuilderを⽤いたサーバからのレコード変更命令
4.ブロッキング通信とバックグラウンド通信制御
• キューイングされたバックグラウンド送信⽤の差分を全て送信してから実⾏
LevelDB, DynamoDB, FlatBuffers
依存している⽅々たち
DBMSの選択
モバイルOSで動作する信頼できるフルセットのRDBMSは存在しない?
シンプルな構造のKVSならば存在している
ミラーリングには、
構造の等価性が必要
• Googleが公開しているOSSである
• InfluxDBのような、⼤規模なサー
バサイド⽤のストレージの基礎技
術になっている
• ローカルのファイル構成は、SQLite
のような単⼀ファイルではなく、
複数のファイルから構成されてい
る標準的なDBMSの構成である
クライアントサイドDB LevelDB
• ソートされた主キー
• シンプルなGetter/Setter
• スキャンアクセス⽤のブルームフィルタ
• コンパクトなC++実装
• 毎回ソースからビルドしている
• クエリ単体としてはThread Safe
• 複数レコードの⼀括変更⽤のbatchコ
マンドの提供
マルチプラットフォーム対応のシンプルで信頼性の⾼いKVS
• LevelDBのバグには、開発期間・運⽤期間を通じて出会ったことがない
• だいたい使う側の不備である
• ただ、壊れたことがないか、と⾔われればそんなことはない
• Loggerでログを集めているが、ちょいちょい、ありえないログ
シーケンスの⽅がいらっしゃる
• 正直、よくわからない
• 怪しい場合はクライアントのローカルを全消しして、サーバからデー
タをロードしなおし
LevelDBの信頼性
• ⾼いスケーラビリティ
• 2つの主キーによる「近傍の」データへ
のアクセス可能性
• 基本はデータサイズではなくスループッ
トによる従量課⾦制
• ⾼くもないけど、安くもない
• フルJSONサポート
• ネストされたオブジェクト
• Document Store としての側⾯も
サーバサイドDB DynamoDB
• 主キー以外はスキーマレスだが⽐較的強い型付け
• 強い⼀貫性の部分的なサポート
• 低い応答性能
• 最速でもミリ秒オーダーのレイテンシ
• これは最近出たDAXによってかなり改善され
るらしい
• ストリーミングによる各種処理系へのデータレプ
リケーション
• 更新ログをLambda+Kinesisを経由してS3,
Redshift等に流せる
AWSが提供するManagedなKVS
• レイテンシは問題ではない
• どうせバックグラウンドでダラダラ
送る
• サーバサイドはイベントフック程度
• 通常のブロッキングコールAPI主体
の設計の場合はクリティカルに
• 全差分をログシステムに流せる
• データの復旧や補正もログから取得
して、パッチを作る
• わりと⼿動でやっている
アナザーエデンにとってのDynamoDB
• シンプルなKVSというだけではさすがに困る
• 主キー(ユーザID)にかかわる全デー
タスキャンがある程度の速度で動いて欲
しい
• 他のパターンは要らない
• 要るときはそこだけ別のDBを使う
• 使⽤頻度は⾼くないものの半永続的に管理し
ていくべきデータがある
• トークン系
• データサイズに依存しない仕様が前提に
なる
アナザーエデンにとってのDynamoDB
• スケールアウトの可否はクリティカルである
• クライアント > サーバのため、データ流量をあらかじめ、サーバサイ
ドで設計できない
• 不可能ではないが、しずらいし、ゲームデザインにおける⾃由度が
下がり、本末転倒になる
• 最終的にどんなゲームに落ち着き、どのくらいのトラフィックが発⽣す
るのかわからないが、どんなであれ、それなりのパフォーマンスで動く
ことを保障することが⼤事
• 正直いって作ってるときは、どのくらい売れるかどうかもわからん
し、それ(売れる確率)も含めて育てていくのがプロダクト開発
読み込みが⾼速なバイナリシリアライズフォーマット
バイナリシリアライザ FlatBuffers
• Cocos2d-xで標準的に採⽤
• 強い型付け
• ネスト可能
• Enumサポート
• DSLはデータ構造の記述専⽤
• CとGoのStructの中間くらい
• 各項⽬に対して任意のAttribute
を付与できる(独⾃拡張可能)
• アクセスはオフセットを管理し、
ポインタをずらすだけ
• 読み込みはほぼゼロコスト
• 書き出しは⽐較的苦⼿
• 新しいデータを間に差し
込むと、後ろを全部ズラ
して、インデックスを更
新しないといけない
DSLとして利⽤し、独⾃拡張をだいぶしている
アナザーエデンとFlatBuffers
• マスタデータ
• 値の暗号化を独⾃実装していて、これがなんともかんとも
• ユーザデータ
• FlatBuffersでschemaを書き、msgpackかjsonでIOする
• ローカル保存はmsgpack
• 通信時はJSON
• 独⾃のパーサを実装し、C++とPHPのコードを出⼒している
データスキーマの共有
勝⼿に更新
保存される
データモデルの設計
機能実装
ローカルで
開発
オートセーブの運⽤の実際
メトリックと運⽤作業
• 300万DL突破
• リセマラはわりと少なくて2割程度かな、という印象(ちゃんと調べてない)
• プレイ時間
• 通しでクリアするのに40-60時間くらい
• LevelDBのデータサイズ: 最⼤1MB程度
• DynamoDBのPartition数: 約128くらい (UserData 概算)
• これまでサーバ障害でのサービス停⽌は4回(くらい)
• DynamoDBのキャパシティ管理のオペミス x3: 15分-30分
• Redisのマスターノードダウン時の⾃動FailOverの失敗 x1: 1時間
• バグはそれなりにいっぱい(時間の都合で省略)
アナザーエデンの規模感
ローンチ後のスループットの推移
最⼤ 6K弱
Read
3つに分けたUserDataのうちのひと
Write
バージョンアップ時にRead上昇
4/12 開始
Read/Write Consumed Capacity Units
8/26 現在
実際に消費したスループット
スループット遷移(書込/1週間)
⼟⽇はみんな朝から
⼀⽇中やっている
ある週のスループット
昼休み
22:00-23:00 がピーク
晩御飯
⽉曜 ⾦曜
• キャパシティ設定のスケジューリング(独⾃実装)
• 前⽇までの消費値を⾒て翌⽇の設定を⾃動で決定(賢い)
• なにかイベントがあるときは指定値に設定
• ⼀気に下げすぎないように下限値を指定(絶対値 or ⽐率)
• オートスケーリング
• CloudWatch Alarm + Lambdaで実装
• 条件は最近⼊った本家のものとほぼ同じ(60%を超えたら、1.5倍に)
• 微調整が効くので、いまだにこちら側で運⽤している
• スロットル(詰まり)監視
• DynamoDBは局所的(Partitionごと)に詰まることがある
• ただ、普通はリトライするので、あまり実際の障害と連動しているわけではない
DynamoDB運⽤のためにしていること
まとめ
オートセーブ機構の是⾮
• ようするにオートセーブ機構はGoogle Firebase Realtime Databaseや
AWS Cognitoなどのマネージドサービスの独⾃実装版と⾔えます
• 異なるのは以下の3点でしょう
• FlatBuffersを⽤いることでSchemaをきちんと定義し、中規模のソフト
ウェア開発においてコストやリスクを低減している
• スケールアウトするDBを利⽤し、特性を把握しつつ運⽤することで、
運営のリスクを低減している
• チート対策においては、オートセーブ機構の⼀部として各種の対処をビ
ルトインすることで、ゲーム特有のセキュリティの問題に対処している
まとめ(鈴⽊)
• 何も考えずに全ての通信をブロッキング通信にしてませんか?
• [good] 適切に制御することでバックグラウンドに寄せられるものは多い
• [!] ゲームデザインあってこその通信モデルではある
• 反省 : データが壊れた場合の修復がスマートではなかった
• [bad] データを2系統で持っておくなどすべきだった
• [!] 遠隔で補正するシステムを作っていたため、⼿を動かせば救える
まとめ(⻄⽥)
本格スマホRPG『アナザーエデン』開発の裏側を包み
隠さずお話します
 〜コード資産も無く、チームとしての経験も豊富ではない中エンジニアはどう挑んだのか〜
グラフデータベースNeo4Jでアセットダウンロードの
構成管理と最適化
8⽉31⽇(⽊) 10:00〜11:00 R311+312 PR : エンジニアリング
9⽉1⽇(⾦) 16:30〜16:55 R304 公募 : エンジニアリング

More Related Content

What's hot

The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionYoshifumi Kawai
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャHaruto Otake
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについてPhoton運営事務局
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Masahito Zembutsu
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すTakaya Saeki
 

What's hot (20)

The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャDeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
入門!Jenkins
入門!Jenkins入門!Jenkins
入門!Jenkins
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 

Similar to アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現

Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Takashi Honda
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善Developers Summit
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るNaoyuki Yamada
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話Akihiro Sugeno
 
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話Watanabe Shunji
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料s. kaijima
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからYasuhiro Horiuchi
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピングMakoto SAKAI
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows AzureKeiichi Hashimoto
 
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...whywaita
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Yoshito Tabuchi
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 

Similar to アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現 (20)

Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
 
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
 
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれからベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
 
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介gree_tech
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてgree_tech
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験gree_tech
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組みgree_tech
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違いgree_tech
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介gree_tech
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてgree_tech
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーgree_tech
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-gree_tech
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話gree_tech
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜gree_tech
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)gree_tech
 

More from gree_tech (20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 

アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現