2010-09-01から1ヶ月間の記事一覧
LINQでお馴染み?Aggregateみたいな動きをするメソッドも当然Reactive Extensionsで使えます!! ただ、Aggregateは集計し終わった値だけ返しますが、集計途中の値を全て報告してくれるScanというメソッドもあります。 使い方は、どちらも同じで第一引数に初…
なんだかんだで、このシリーズも12回目になりました。 説明順番は、見知ったもの、面白そうなものという順番なので特に意味はありませんが、今日は、Observableに定義されているメソッドの中から、非同期実行をIObservableにしてくれる人たちから一部分だけ…
何回もこのBlogで使ってるタイトルなので、そろそろクドイ感じもしますが、尾上さんのBlogに素敵なエントリが公開されてました。 http://ugaya40.net/wpf/mvvm_viewmodel_to_vew.htmlBehaviorってやっぱり素敵ですよね。 こんな風に綺麗にまとめたいな。
GUIに関するものを実験するときはしょうがないとして、そうじゃなければコンソールアプリケーションで動作確認をしたいお年頃です。 だって楽だもの。 余計な要素を気にしなくて、確認したいテクノロジに没頭できるから。 ただ、今やってるReactive Extensio…
その名もAsyncSubjectです。非同期処理を自前で実装してIObservableを返すようなメソッドを作るときに使えます。 こいつは、OnCompleted()メソッドメソッドを呼び出すと、最後にOnNextした値を通知するようになります。特徴としては、OnCompleted()を呼ぶ前…
探すのに手間取ったのでメモ。 MSDNライブラリ→.NET開発→.NET Framework 4→.NET Frameworkの拡張開発→相互運用性→高度なCOM相互運用性 http://msdn.microsoft.com/ja-jp/library/bd9cdfyx.aspx
最近、タイトルの通りのことを思っています。 今の非同期処理のAPIは下のようなコールバックを渡す形や、完了イベントを処理する形が一般的だと思います。(あとはBegin〜とEnd〜のメソッドのペアとか) public void Hoge(int param, Action<int> callback) { // </int>…
えムナウさんが考えてくれた方法は、確かに素敵だけど、コードを書く量が増えていってしまう。 http://blogs.wankuma.com/mnow/archive/2010/09/20/193090.aspx http://d.hatena.ne.jp/griefworker/20100922/how_to_use_view_function_in_viewmodel というこ…
さて、次はIQueryableから何かが通知されたら、それに応じた処理をしてIQueryableを返すという風にIQueryableを連鎖させるようなイメージの用途に使えるSelectManyメソッドを紹介します。 使い方は割と簡単で以下のように使えます。 var s = new Subject<int>(); </int>…
参考:http://sqljp.com/yoshihirokawabata/archive/2010/09/24/27108.aspx追記:はてなダイアリーでは無理そうだ・・・残念っ!!
てすと。 Sample なんかBlogに埋め込めるというニュースをみたけどどうやるんだろう?
さて、これまでは、単一のIObservableを相手にしてきましたが、複数のIObservableを合成して使う方法を紹介したいと思います。 Merge 単純に2つのIObservableをくっつけます。 var s1 = new Subject<string>(); var s2 = new Subject<string>(); // s1とs2を1つのIObservabl</string></string>…
こんなの用意しておけばいいかなぁ。 using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel.DomainServices.Client; public static class DomainContextExtensions { public static IObservable<IEnumerable<TEntity>> LoadAsObservable<TEntity></tentity></ienumerable<tentity>…
ネタ元 2つの配列から「値のペア」を列挙する:LINQ編 2つの配列から「値のペア」を列挙する 2つの配列から「値のペア」を列挙する:STL編 LINQで別のやり方を思いついた。 using System; using System.Linq; using System.Collections.Generic; class Pr…
さて、IObservableに対してWhereやSelectしてSubscribeするだけっていうのにも飽きてきたので、少し趣向を変えてみます。 今回紹介するのは、バッファリングするメソッドです。 以下のようなメソッドがあります。 BufferWithCount BufferWithTime BufferWith…
Reactive Extensionsは、LINQのメソッドも使えます。前にWhereを紹介したので、今回はSelectを紹介します。こいつは、単純に値を変換するのに使えます。たとえば、有名なFizzBuzz問題を書くと以下のような感じです。 using System; using System.Linq; class…
さて、前回はイベントをIObservableにする方法を見ました。次は、非同期呼び出しをIObservableにしてみようと思います。.NETでは、非同期の呼び出しはBegin〜, End〜のメソッドのペアでやるのが一般的です。例えば・・・ // 5秒待って引数で渡された数だけ文…
前回は、Observableクラスに定義されたメソッドをいくつか紹介しました。今回は、いよいよ実際に使いでのあるメソッドを紹介しようと思います。今まで紹介したメソッドは、どちらかというと動作確認に使うのに適してると思います・・・。さて、Reactive Exte…
さて、これまでIObservableを実装したり、便利なSubjectを使ってきたりしましたが、IObservableを作成するための便利なファクトリクラスがReactive Extensionsにはあります。名前はObservableです。LINQのEnumerableと同じような感じでとりあえず使うことが…
現在のPV:390015 いいペース。
入門ばっかりで飽きてきたので、応用的なものを作ってみました。因みにWPFアプリケーションです。 各種イベントを監視するObservableを用意します。 // マウスダウンイベント var mouseDown = Observable.FromEvent( (EventHandler<MouseButtonEventArgs> h) => new MouseButtonEve</mousebuttoneventargs>…
Reactive Extensionsを使ってHello worldを書いてきました。これだけだと、ただのObserverパターンだし、イベントと比べて何が嬉しいかわからないですが、こいつにWhereなどのLINQでお馴染みのメソッドを使ってフィルタリングをかけたりすることが出来ます。…
最近世間を騒がせてる?ASP.NETの脆弱性に関する情報です。 ネタ元:Microsoftの「ASP.NET」に情報流出の脆弱性 対処法については、下記のマイクロソフトのサイトに書いてあります。普通は、やってるであろうことだから大丈夫だよね・・・? マイクロソフト …
2010/09/22 追記 多分えムナウさんの言ってた方法はid:griefworkerさんのやり方のほうが正しいです。「MVVM パターンで ViewModel から Viewを操作する方法」 えムナウさんのページで以下のような方法が紹介されていました。 MVVM パターンで VM から VIEW …
1つ前の記事で、IObservableとIObserverを使って簡単なObserverパターンを実装してみました。まだまだ、Reactive Extensionsの便利な機能を使うのには遠く及びません。その上、実装するのは決まった感じのコードを書くため非常にめんどくさいです。 そもそも…
Reactive Extensionsって色々小難しくIEnumerableの数学的に反対に位置するのがIObservableだって言われたりしてますが、とりあえずObserverパターンってやつです。 なので、一番シンプルなReactive ExtensionsのHello worldをやると、単純なObserverパター…
とりあえず、以下からインストール。 http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx 例題を下のページを見て学ぶ http://rxwiki.wikidot.com/101samples http://www.codeproject.com/KB/Parallel_Programming/RxByExample.aspxプロジェクトには以…
ダウンロードするもの WCF RIA Services Toolkit サーバー側に追加するアセンブリ C:\Program Files\Microsoft SDKs\RIA Services\v1.0\Toolkit\Libraries\Server\Microsoft.ServiceModel.DomainServices.Hosting.dll web.configに追加するもの <system.serviceModel> <domainServices> <endpoints> </endpoints></domainservices></system.servicemodel>
ずっと何のためにあるのかわからなかったWCF RIA ServicesのToolkitですが、見てみるとこんな機能が・・・。 LinqToSql DomainService Soap endpoint - This enables you to expose a soap endpoint for your DomainService JSON endpoint - This enables yo…
SilverlightのFrameを使ったナビゲーションですが、こいつはパッパッと切り替わる感じです。RIAっぽくないです。 RIAっぽくしようと思うと、何かしらのアニメーションをやってみたいってもんですよね。 やり方は簡単で、Visual Stateを2つ定義して、片方は…