Web Application ASP .NET MVC/WebAPI, OWIN Cloud Windows Azure, AWS C# Everywhere Game Unity, PlayStation Mobile SDK Mobile Xamarin.iOS Xamarin.Android Windows Phone 8 SDK Embedded Windows Embedded .NET Micro Framework NUI Kinect, LeapMotion
Web Application ASP .NET MVC/WebAPI, OWIN Cloud Windows Azure, AWS C# Everywhere - Current Game Unity, PlayStation Mobile SDK Mobile Xamarin.iOS Xamarin.Android Windows Phone 8 SDK Embedded Windows Embedded .NET Micro Framework NUI Kinect, LeapMotion
Web Application ASP .NET MVC/WebAPI, OWIN Cloud Windows Azure, AWS C# Everywhere - Future Game Unity, PlayStation Mobile SDK Mobile Xamarin.iOS Xamarin.Android Windows Phone 8 SDK Embedded Windows Embedded .NET Micro Framework NUI Kinect, LeapMotion
} DbConnection Master { get; } } public BattleEntity SelectById(BattleConnection battle, int id) { return battle.Master.Query<BattleEntity>("select * from battle where id = @id", new { id }); } public UserEntity SelectById(UserInfoConnection user, int id) { return user.Master.Query<UserEntity>("select * from user where id = @id", new { id }); } コーディング時のミス防止(間違った接続の利用はコンパイル時に弾かれる) テーブルの別DBへの分割時にも完全にコンパイルチェックが効くので安全に行える C#(というか型付き言語)を使う利点
a = memcached.Get("hoge"); // +10ms = 10ms var b = memcached.Get("hage"); // +10ms = 20ms var c = memcached.Get("huga"); // +10ms = 30ms // 1度に問い合わせて、分配 var all = memcached.Get(new[] { "hoge", "hage", "huga" }); // +10ms var a2 = all["hoge"]; var b2 = all["hage"]; var c2 = all["huga"]; 別に非同期構文とかなくてもできるじゃん!?
a = memcached.Get("hoge"); // +10ms = 10ms var b = memcached.Get("hage"); // +10ms = 20ms var c = memcached.Get("huga"); // +10ms = 30ms // 1度に問い合わせて、分配 var all = memcached.Get(new[] { "hoge", "hage", "huga" }); // +10ms var a2 = all["hoge"]; var b2 = all["hage"]; var c2 = all["huga"]; でもIncrとか、Get以外のコマンドは? それに、こうしたコードってオブジェク トモデルでまとめにくい! 性能優先 vs 設計優先の対立になるの?