SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
ASP.NET+C#で開発する
大規模ソーシャルゲーム

    株式会社gloops CTO
       池田秀行
自己紹介

• 株式会社gloops CTO
• 前職ではJavaで金融向けSI
• 2007年に転職、Flexでnendo.tvを開発
• C#とJavaScriptが好き
• facebook.com/hikeda
アジェンダ


1. ソーシャルゲームとは?

2. 大規模サービスを支えるシステム構成

3. ソーシャルゲームの運用
1. ソーシャルゲームとは?
ソーシャルゲームについて


• SNSがプラットフォームとしてAPIを提供
• サードパーティがPF上にアプリを提供可能
• FBのオープン化から急速に拡大(日本では
 2009年から)
従来のゲームとの違い

• 友達とプレイすることを前提としたアプリ
• 1回のプレイ時間が5分程度でも成り立つ
• 終わりのないゲームデザイン
• 運営中は継続的な改善の繰り返し
• コミュニケーションサービス
ちょっとだけゲームを紹介
DEMO
システム的な特徴


• 実は従来のWebアプリと変わらない
• プラットフォームの提供するAPIを使う
 (OpenSocialAPI / OAuth)
• トラフィック量が半端ない
OpenSocialとは?

• 複数Webサイト間で使用可能なソーシャル
 アプリケーションのための共通API

• 2007年にGoogleが開発
• 国内ではMobage/GREE/mixiなどが実装
• WAP向けは日本独自の拡張
OpenSocial WAP Extension




ゲーム側ではproxyされたリクエストを処理して
HTMLレスポンスを生成
リクエストの認証
  • 2-legged OAuthの仕様に準拠
  • Gadgetサーバーがリクエストヘッダに
       access_tokenを付与

  • access_tokenを元にAPIアクセスが可能
GET /index.aspx?opensocial_app_id=999999&opensocial_viewer_id=12345 HTTP/1.1
User-Agent: DoCoMo/2.0 N901iS(c100;TB;W24H12;ser12345;icc1234567890)
Authorization: OAuth realm="",oauth_consumer_key="xxx",oauth_signature="I%2BI...
APIの利用

• OpenSocial API
  People / Message / Activity / AppData etc...
• Game API
  Avatar / Payment / Ads / TextData etc...
• Service
  Diary / Invite / Location etc...
国内SNSプラットフォーム規模


• 会員数(2011年9月時点)
• Mobage : 3200万人
• GREE : 2700万人
• mixi : 2500万人
2. 大規模サービスを支える
   システム構成
サービス規模


• 2010年2月よりゲーム提供を開始
• 提供タイトル:17本(2012年4月現在)
• 会員数 : 1500万人
• 月間PV : 146億
20,000

          PV(単位:百万)          ユーザ数(単位:千人)


15,000




10,000




 5,000




    0
    2010/02   2010/08   2011/02   2011/08   2012/02
Q. どれくらいのトラフィックが来るの?
膨大なトラフィック量

• リリース後5時間で10万人が登録
• リリース後1ヶ月で100万人が登録
• 1タイトルで65万DAU(Daily Active User)
• 3.5億PV/日(単純計算でも4000req/sec)
• イベント開始直後に8万人同時アクセス
クラスターにかかる負荷


• 同時セッション数:40万以上
• HTTPリクエスト:15万req/sec
• 転送量:3Gbps (画像系は除く)
• DBサーバー:ピークでは20万query/sec
間違いなく国内でも最大規模!
システム構成

•   開発言語:ASP.NET + C#(.NET Framework 4)

•   データベース:SQL Server 2008 R2

•   Applicationサーバー:IIS7.5

•   Load Balancer( Webサーバー):nginx

•   KVS(Key Value Store):memcached, Redis

•   画像配信系:CDN + Varnish + nginx
Q. なんでWindows使ってるの?
システム構成の背景

• C#が好きだったから
• でもMicrosoftが好きなわけではない
• 最初は3人しかいなかった
• 高トラフィックの情報が圧倒的に少ない
• 結果Windows+Linuxのハイブリッド構成に
IIS + ASP.NETは速い!
(Linuxサーバーエンジニア談)
インフラ構成
           LoadBalancer



     nginx(LB)         nginx(LB) ...      • シンプルな構成
                                          • 台数は1年半で
     IIS         IIS        IIS    ...     1000台+に



SQL Server ... memcached          Redis
1ゲームタイトルの規模例

• ロードバランサ:40台
• APサーバー:100台
 FP用:40台、SP用:40台、Flash合成:20台

• memcached:4台、Redis:4台
• DBサーバー:3∼5台
画像配信系

     CDN(Akamai)

                                  • とにかくキャッシュ
Varnish   Varnish   Varnish ...   • スマホで画像も高解
                                   像度化

 nginx     nginx     nginx
高トラフィックをさばくには

1) アプリケーションの最適化

2) キャッシュの活用

3) DBチューニング & 処理の軽減

4) 今後に向けて
1) アプリケーションの最適化
APサーバー


• ソーシャルゲームの処理はステートレス
• スケールは比較的容易
• 手を抜いた実装はボトルネックに
• 台数が多いためデプロイが手間
実装上での心がけ

• 冗長な処理をしない
• データアクセスの最適化
• 処理の非同期化
• ページサイズの最適化(100KB制限)
• C#でできることはC#で(LINQ使えば楽)
冗長な処理のモニタリング


• 1リクエスト内でのDBアクセス数
• KVSアクセス数
• 外部APIリクエスト数
• DataBind回数(WebFormなので‥)
処理の非同期化


• 外部APIへのアクセスは非同期処理で
 PageAsyncTask / IHttpAsyncHandler


• C# 5.0の非同期処理に期待(async/await)
ASP.NET 4になって


• ViewState制御の改善(ViewStateMode)
• アプリケーションプールの Auto-Start
• ウォームアップ(IProcessHostPreloadClient)
• カスタムOutputCacheProvider
2) キャッシュの活用
様々なキャッシュ


• 変更のないマスタデータはオンメモリの
 DataTableに保持

• HttpContext.Itemsの利用
• ASP.NET Cacheの利用
• @OutputCacheディレクティブ
リクエスト毎 / プロセス毎 / アプリ全体
 あらゆる粒度でキャッシュを活用
KVSキャッシュサーバーも積極利用
3) DBチューニング & 処理軽減
前提として・・

• 更新処理が非常に多い
• ビッグデータ
• 気づけば6億件を超えるテーブルも
• ボトルネックは間違いなくDBになる
• DB処理をいかにさばけるかが勝負
DBの基本動作理解も大事

• Disk Readを発生させない
• シーケンシャル/ランダムアクセス
• インデックス動作
• ソート処理
• チェックポイント処理
DB負荷軽減のために


• KVSの利用
• 垂直分割と水平分割
• 高速フラッシュストレージの導入
KVS(Key Value Store)の利用


• 一意のkeyに対して任意のvalueを保存する
 データ管理システム

• RDBMSに変わるNoSQLとして注目
• memcachedとRedisを利用
memcached

• オンメモリのハッシュテーブル
• データの永続性はない
• 読み込み/書き込みともに高速
• 複雑なデータ構造には向いていない
• 利用実績が豊富
Redis

• memcachedよりも機能が充実
• 様々なデータ構造(List/Set/SortedSet/Hash)
• ディスクへの非同期書き込み
• レプリケーション機能
• github/craigslist/digg/DISQUS/stackoverflow
  などで実績
KVSの使いどころ

• Expireする一時的なデータストアとして
• 更新頻度の高いデータを管理
 経験値 / スタミナ / 達成率 など

• KVSを常時更新し、適切なタイミングでDB
 に書き込むケースも
データの信頼性よりも
トラフィックをさばくことの方が
    圧倒的に重要
DBの分割について

• 垂直分割
 テーブルを機能毎に分割

 JOINはしない

• 水平分割
 同一テーブルをキーにより分割

 Range Partitioning / Hash Partitioning
DBのボトルネックはI/Oに


• 行きつく所はほとんどがディスクI/O
• CPU/DRAMの高速化、ストレージ大容量化
• 20年でCPUは数百万倍、ストレージは10倍
• 両者間のレイテンシが増大
高速ストレージの導入


• PCIe型のSSDを導入(FusionIO社ioDrive)
• 1.5K SAS DIsk × 6本(RAID 10): 5,500 IOPS
• ioDrive Duo × 1枚 : 120,000 IOPS
• ioDrive Duo × 2枚(Striping): 200,000 IOPS
近年のストレージは

進展が目覚ましい!
さらに上を行く製品も


• 2011/11 ioDrive Octalを発表
• PCIe 2スロット 容量10TB
• 1,300,000 IOPS
• read性能 6.7GB/s write性能 3.9GB/sec
4) 今後への取り組み
今取り組んでいること



• Windows Azureでの動作検証
• SQL Azure Federationのスケーラビリティ
• 海外展開するにはクラウド有利
3. ソーシャルゲームの運用
開発スタイル


• 2年間で17タイトルをリリース
• 開発期間は2ヶ月程度
• サービスはリリースしてからが始まり
継続的改善

• ideas→build→code→measure→data→learnの
  繰り返し

• Learn Fasterを心がける
• 実装することが目的ではない
• 最短命のアプリは1週間でクローズ
運用スタイル


• データ分析を重視した改善プロセス
• 各種KPI数値 ex) DAU, ARPU, 継続率
• 動向把握を最速で(Monthly/Daily/Hourly)
• 継続的デプロイ
高速PDCAを実現する開発


• ドキュメントは書かない
• 基本事項だけWikiに
• テーブル定義書もない
• 動くものが最新仕様
トラブルは尽きない...


• サービスが急成長し続けている限り、未知
 の問題は常に発生する

• ミスは必ず起こるが繰り返さなければ良い
• 失敗を通じて成長していくカルチャー
まとめ


• ソーシャルゲームの概要を紹介
• システム構成と高トラフィックへの取り組
 みを紹介

• ソーシャルゲームの運用スタイルを紹介
最後にちょっとだけ宣伝
C#エンジニア募集中!
• 自社サービスの開発面白い!
• C#イケてるよ!ってのを広めたい!
• Microsoft MVPも2名在籍中!
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Akira Miki
 
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話Tomokazu Tochi
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうDaisuke Masubuchi
 
まわいくどい更新情報機能
まわいくどい更新情報機能まわいくどい更新情報機能
まわいくどい更新情報機能Norihiko Matsumoto
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことKentaro Matsui
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
利益はデータベースの中にあった!
利益はデータベースの中にあった!利益はデータベースの中にあった!
利益はデータベースの中にあった!infinite_loop
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightYahoo!デベロッパーネットワーク
 
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要Keiji Kamebuchi
 
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話Hidenori Doi
 
GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法gree_tech
 
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携YutoNishine
 
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説Kazumi IWANAGA
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fsTakahiro Iwase
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020Daisuke Masubuchi
 
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックDevelopers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックKazumi Hirose
 
DynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システムDynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システムgree_tech
 

Was ist angesagt? (20)

Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話
 
BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話BaaSでゲームサーバを作る話
BaaSでゲームサーバを作る話
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
まわいくどい更新情報機能
まわいくどい更新情報機能まわいくどい更新情報機能
まわいくどい更新情報機能
 
PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
利益はデータベースの中にあった!
利益はデータベースの中にあった!利益はデータベースの中にあった!
利益はデータベースの中にあった!
 
Abc words20130615
Abc words20130615Abc words20130615
Abc words20130615
 
Playfabmeetup#4
Playfabmeetup#4Playfabmeetup#4
Playfabmeetup#4
 
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnightKafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
Kafka 0.10.0 アップデート、プロダクション100ノードでやってみた #yjdsnight
 
ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要ちょっと分かった気になるAzure概要
ちょっと分かった気になるAzure概要
 
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話
Aiming飲み会 1-rails における
コネクション数と
シャーディングのお話
 
GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法GREE 流!AWS をお得に使う方法
GREE 流!AWS をお得に使う方法
 
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
 
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
 
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックDevelopers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 Azureでターイムアタック
 
DynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システムDynamoDBを利用したKPI保存システム
DynamoDBを利用したKPI保存システム
 

Andere mochten auch

Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてkimukou_26 Kimukou
 
主婦でもできる Android Layout
主婦でもできる Android Layout主婦でもできる Android Layout
主婦でもできる Android LayoutHiromi Tsuzuki
 
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメRuby使いのためのScalaのススメ
Ruby使いのためのScalaのススメOuka Yuka
 
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」nisobe58
 
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyongServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyoSatoshi Tanaka
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebappsAyumu Aizawa
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみたYuusuke Takeuchi
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsYoshifumi Kawai
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)parrotstudio
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分Keiji Kamebuchi
 
An other world awaits you
An other world awaits youAn other world awaits you
An other world awaits you信之 岩永
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServiceJapan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServicePatrick Chanezon
 
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and TokyongGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyonotolab
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)Yuuki Namikawa
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理Developers Summit
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法Yoshifumi Kawai
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Yoshifumi Kawai
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...Yoshifumi Kawai
 

Andere mochten auch (20)

Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
 
主婦でもできる Android Layout
主婦でもできる Android Layout主婦でもできる Android Layout
主婦でもできる Android Layout
 
Wckansai 2014
Wckansai 2014Wckansai 2014
Wckansai 2014
 
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメRuby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
 
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
 
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyongServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebapps
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 
C#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive ExtensionsC#次世代非同期処理概観 - Task vs Reactive Extensions
C#次世代非同期処理概観 - Task vs Reactive Extensions
 
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分
 
An other world awaits you
An other world awaits youAn other world awaits you
An other world awaits you
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServiceJapan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
 
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and TokyongGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyo
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 

Ähnlich wie 20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム

地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
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
 
Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準Takahiro Hozumi
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!h2so5
 
Web サービス インフラの近未来
Web サービス インフラの近未来Web サービス インフラの近未来
Web サービス インフラの近未来Syuichi Murashima
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Shota Umeda
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugSAKURUG co.
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...Amazon Web Services Japan
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Masakazu Muraoka
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminarSAKURUG co.
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSSShogo Iwano
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows AzureKeiichi Hashimoto
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services Japan
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介Ryo Iinuma
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 

Ähnlich wie 20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム (20)

地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
AWS Black Belt Online Seminar AWS上でのスピードと高可用性を両立したゲームインフラの構築と事例
 
Aiming のクラウド採用基準
Aiming のクラウド採用基準Aiming のクラウド採用基準
Aiming のクラウド採用基準
 
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
 
Web サービス インフラの近未来
Web サービス インフラの近未来Web サービス インフラの近未来
Web サービス インフラの近未来
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
The seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurugThe seminar of asp.net at 201908 sakurug
The seminar of asp.net at 201908 sakurug
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminar
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
 
現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure現場開発者視点で答えるWindows Azure
現場開発者視点で答えるWindows Azure
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 

Kürzlich hochgeladen

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Kürzlich hochgeladen (10)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム