MemcachedTranscoder - C#のMemcached用シリアライザライブラリ
今年もAdvent Calendarの季節がやってきました。というわけで、この記事はC# Advent Calendar 2012用の話となります。去年はModern C# Programming Style Guideという記事を書きまして、結構好評でした。また、去年は他Silverlight Advent Calendar...
View ArticleMicro-ORMとC#(とDapperカスタマイズ)
C#に続き、ASP.NET Advent Calendar 2012です。前日は84zumeさんのWebFormっぽいコントロールベスト3でした。私はC#ではMemcachedTranscoder -...
View Article2012年を振り返る。
12/30は私の誕生日でして(どうでもいい)、まだかろうじて20代です。 というわけで、今年を振り返りますかー。今年は1/1から動きがありましたから、というか転職でしたね、gloopsに入社しました。入社するまでドッキドキでしたねえ、正月とかあんま落ち着かない感じで過ごしてたのを思い出しました。 2011年の振り返りでは...
View ArticleC#でローカル変数からDictionaryを生成する
どうもPHPerです。あ、すぐC#のコード出しますので帰らないで!というわけで、PHPにはcompactというローカル変数からハッシュテーブルを作るという関数があります。割と多用します。その逆のextractという関数もありますが、そちらはカオスなのでスルー。 $name = "hogehoge"; $age = 35; // {"name":"hogehoge", "age":35}...
View ArticleC#でFlash Liteなswfをバイナリ編集して置換する
Flash Liteに限定しませんが、そういうのをどうしてもしたい!というシチュエーションは少なからずごく一部であるようです。どーいうことかというと、ガラケーが積んでるFlash...
View ArticleModern C# Programming 現代的なC#の書き方、ライブラリの選び方
と、題しまして第1回 業開中心会議 .NET技術の断捨離で話してきました。岩永さんが概念的なものを、私がC#とライブラリにフォーカスして具体的なものを、パネルディスカッションでフレームワーク周りの話を。的な分担だったでしょうか。 Modern C# Programming 現代的なC#の書き方、ライブラリの選び方 from neuecc...
View ArticleRazorで空テンプレートとセパレータテンプレート
Razorに限らずT4でもなんでもいいんですが、テンプレートで素のforeachだと、セパレータだったり空の時の代替テンプレートだったりを、どういう風に表現すればいいのかなあ、と悩ましいのです、どうなっているのでしょう実際世の中的に。...
View Article連打対策などりの同時アクセス禁止機構
ゆるふわ連打対策のお時間です。連打されて無限にあーーーーーーー!という悲鳴を上げたり上げなかったりするとかしないとしても、何らかの対策したいよね!ということで、ASP.NETのお話。Application.Lock使ってSessionに、というのは複数台数あったら死ぬのでナシね(Application.Lockは当然、一台単位でのロックなので複数台数でロックは共有されてない)。そんなわけで、カジュア...
View ArticleC#でぬるぽを回避するどうでもいい方法
どうもペチパーです。嘘です逃げないで。まあ、どうでもいいPHPの例をまずは出しませう。あ、逃げないで、PHPの話はすぐやめるんで。 // ネストしてる配列 $hoge["huga"]["hage"]["tako"] = "なのなの"; // なのなの $v = isset($hoge["huga"]["hage"]["tako"]) ? $hoge["huga"]["hage"]["tako"]...
View ArticleAsyncOAuth - C#用の全プラットフォーム対応の非同期OAuthライブラリ
待ち望まれていたHttpClientがPortable Class Library化しました、まだBetaだけどね!というわけで、早速PCL版のHttpClientをベースにしたOAuthライブラリを仕上げてみました。ポータブルクラスライブラリなので、.NET 4.5は勿論、Windows Phone 7.5, 8, Windows Store Apps, Silverlight, それと.NET...
View ArticleC#とランダム
古くて新しいわけはない昔ながらのSystem.Randomのお話。Randomのコンストラクタは二種類あって、seed引数アリの場合は必ず同じ順序で数値を返すようになります。 // 何度実行しても同じ結果 var rand = new Random(0); Console.WriteLine(rand.Next()); // 1559595546...
View Article並列実行とSqlConnection
どうも、ParallelやThreadな処理が苦痛度100なペチパーです。嘘です。空前のThreadLocalブームが来てたり来てなかったりする昨今です。あ、謎社の宣伝しますとグリーとグラニ、「GREE」におけるソーシャルゲームの提供などについて戦略的業務提携に合意というわけで、ぐりとぐら、としかいいようがない昨今でもあります。その日に開催されていたGREEプラットフォームカンファレンスでは、謎社は...
View ArticleC#のラムダ式でyieldっぽい何かをawaitで代用する方法
C#がインラインでyield書けないならawait使えばいいじゃない。と、偉い人は言いました。というわけで、こそこそっと開発がされているIxに、面白い機能が入りました(開発リポジトリ上だけなのでNuGetからダウンロードしても、まだ入ってません)。こんなのです。 var hoge = "あいうえお"; var seq = EnumerableEx.Create<int>(async...
View ArticleMicrosoft MVP for Visual C#を再再受賞しました
今年も再受賞することができました。去年は某g社のフロントに立って、というのもあって、オフライン活動が割と非常に活発でした。ブログは量は減りましたし、中身も職業柄ウェブ系の要素が濃くなった感。とはいえ、内容自体は結構面白げなC#の内容になってたのではかしらん。基本的には、他で得られない情報や、ディープに踏み込んだ先の話、新しい考え。そういったのを提供し続けたいです。...
View ArticleCloudStructures - ローカルとクラウドのデータ構造を透過的に表現するC# + Redisライブラリ
というものを作りました。インストールはNuGetから。 GitHub - CloudStructures PM> Install-Package CloudStructures -Pre 何を言ってるのかヨクワカラナイので、まずはコード例を。 // こんなクラスがあるとして public class Person { public string Name { get; private set;...
View ArticleRxとRedisを用いたリモートPub/Sub通信
今日から始まったBuild Insiderで、RedisとBookSleeveの記事を書きました - C#のRedisライブラリ「BookSleeve」の利用法。Redis、面白いし、Windowsで試すのも想像以上に簡単なので、是非是非試してみて欲しいです。そして何よりもBookSleeve!使うと、強制的に全てがasyncになるので、C#...
View ArticleHttpClient詳解、或いはAsyncOAuthのアップデートについて
すっかり忘れていたわけではないですが、ちょっとかなり前、3/30のRoom metro #15にて、HttpClient詳解という、HttpClientについてのセッションを行いました。 HttpClient詳解、或いは非同期の落とし穴について from Yoshifumi Kawai...
View Article.NET最先端技術によるハイパフォーマンスウェブアプリケーション FAQ
Build Insider Offlineにて、「.NET最先端技術によるハイパフォーマンスウェブアプリケーション」と題して、グラニのC#によるウェブアプリケーション作成の仕組みについて話してきました。 .NET最先端技術によるハイパフォーマンスウェブアプリケーション from Yoshifumi Kawai...
View ArticleC#の強み、或いは何故PHPから乗り換えるのか
という内容で、C#ユーザー会で話してきました。 C#の強み、或いは何故PHPから乗り換えるのか from Yoshifumi Kawai...
View ArticleTypeScript 0.9のジェネリクス対応でlinq.jsの型定義作って苦労した話
久しぶりのTypeScript。Announcing TypeScript 0.9というわけで、ついに待望のジェネリクスが搭載されました。やったね!というわけで、ジェネリクス対応のlinq.jsの型定義を早速作りました、と。ver 3.0.4-Beta5です。まだまだBeta、すみませんすみません、色々忙しくて……。NuGetからもしくはサイトからのダウンロードで公開してます。...
View Article