かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

2010-09-01から1ヶ月間の記事一覧

Reactive Extensions入門 13「値を集めて回る」

LINQでお馴染み?Aggregateみたいな動きをするメソッドも当然Reactive Extensionsで使えます!! ただ、Aggregateは集計し終わった値だけ返しますが、集計途中の値を全て報告してくれるScanというメソッドもあります。 使い方は、どちらも同じで第一引数に初…

Reactive Extensions入門 12「非同期実行のためのメソッド」

なんだかんだで、このシリーズも12回目になりました。 説明順番は、見知ったもの、面白そうなものという順番なので特に意味はありませんが、今日は、Observableに定義されているメソッドの中から、非同期実行をIObservableにしてくれる人たちから一部分だけ…

MVVMパターンでVMからViewを操作したい くどい?

何回もこのBlogで使ってるタイトルなので、そろそろクドイ感じもしますが、尾上さんのBlogに素敵なエントリが公開されてました。 http://ugaya40.net/wpf/mvvm_viewmodel_to_vew.htmlBehaviorってやっぱり素敵ですよね。 こんな風に綺麗にまとめたいな。

プログラムの実験するとき

GUIに関するものを実験するときはしょうがないとして、そうじゃなければコンソールアプリケーションで動作確認をしたいお年頃です。 だって楽だもの。 余計な要素を気にしなくて、確認したいテクノロジに没頭できるから。 ただ、今やってるReactive Extensio…

Reactive Extensions入門 11「非同期処理用のSubject」

その名もAsyncSubjectです。非同期処理を自前で実装してIObservableを返すようなメソッドを作るときに使えます。 こいつは、OnCompleted()メソッドメソッドを呼び出すと、最後にOnNextした値を通知するようになります。特徴としては、OnCompleted()を呼ぶ前…

.NET Framework 4でのCOM相互運用性のドキュメント

探すのに手間取ったのでメモ。 MSDNライブラリ→.NET開発→.NET Framework 4→.NET Frameworkの拡張開発→相互運用性→高度なCOM相互運用性 http://msdn.microsoft.com/ja-jp/library/bd9cdfyx.aspx

非同期処理を行うメソッドの戻り値は全てIObservableにしてしまえばいいんじゃないんだろうか

最近、タイトルの通りのことを思っています。 今の非同期処理のAPIは下のようなコールバックを渡す形や、完了イベントを処理する形が一般的だと思います。(あとはBegin〜とEnd〜のメソッドのペアとか) public void Hoge(int param, Action<int> callback) { // </int>…

MVVMパターンでVMからVを操作する方法 再考

えムナウさんが考えてくれた方法は、確かに素敵だけど、コードを書く量が増えていってしまう。 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 というこ…

Reactive Extensions入門 10「合成(SelectMany)」

さて、次はIQueryableから何かが通知されたら、それに応じた処理をしてIQueryableを返すという風にIQueryableを連鎖させるようなイメージの用途に使えるSelectManyメソッドを紹介します。 使い方は割と簡単で以下のように使えます。 var s = new Subject<int>(); </int>…

Office Web Appsのパワーポイント埋め込みテスト

参考:http://sqljp.com/yoshihirokawabata/archive/2010/09/24/27108.aspx追記:はてなダイアリーでは無理そうだ・・・残念っ!!

Office Web AppsのPPT見れるのかな

てすと。 Sample なんかBlogに埋め込めるというニュースをみたけどどうやるんだろう?

Reactive Extensions入門 9「合成(MergeとZip)」

さて、これまでは、単一のIObservableを相手にしてきましたが、複数のIObservableを合成して使う方法を紹介したいと思います。 Merge 単純に2つのIObservableをくっつけます。 var s1 = new Subject<string>(); var s2 = new Subject<string>(); // s1とs2を1つのIObservabl</string></string>…

WCF RIA ServicesのメソッドをReactive Extensionsのメソッドチェインに入れるためのおまじない

こんなの用意しておけばいいかなぁ。 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 SelectMany編

C#

ネタ元 2つの配列から「値のペア」を列挙する:LINQ編 2つの配列から「値のペア」を列挙する 2つの配列から「値のペア」を列挙する:STL編 LINQで別のやり方を思いついた。 using System; using System.Linq; using System.Collections.Generic; class Pr…

Reactive Extensions入門 8「バッファリング」

さて、IObservableに対してWhereやSelectしてSubscribeするだけっていうのにも飽きてきたので、少し趣向を変えてみます。 今回紹介するのは、バッファリングするメソッドです。 以下のようなメソッドがあります。 BufferWithCount BufferWithTime BufferWith…

Reactive Extensions入門 7「Select」

Reactive Extensionsは、LINQのメソッドも使えます。前にWhereを紹介したので、今回はSelectを紹介します。こいつは、単純に値を変換するのに使えます。たとえば、有名なFizzBuzz問題を書くと以下のような感じです。 using System; using System.Linq; class…

Reactive Extensions入門 6「非同期呼び出しの終わりを監視する」

さて、前回はイベントをIObservableにする方法を見ました。次は、非同期呼び出しをIObservableにしてみようと思います。.NETでは、非同期の呼び出しはBegin〜, End〜のメソッドのペアでやるのが一般的です。例えば・・・ // 5秒待って引数で渡された数だけ文…

Reactive Extensions入門 5「イベントを監視する」

前回は、Observableクラスに定義されたメソッドをいくつか紹介しました。今回は、いよいよ実際に使いでのあるメソッドを紹介しようと思います。今まで紹介したメソッドは、どちらかというと動作確認に使うのに適してると思います・・・。さて、Reactive Exte…

Reactive Extensions入門 4「Observableを作成する便利なメソッド」

さて、これまでIObservableを実装したり、便利なSubjectを使ってきたりしましたが、IObservableを作成するための便利なファクトリクラスがReactive Extensionsにはあります。名前はObservableです。LINQのEnumerableと同じような感じでとりあえず使うことが…

39万PV突破〜

現在のPV:390015 いいペース。

Reactive Extensions 応用「ドローイングツール」

入門ばっかりで飽きてきたので、応用的なものを作ってみました。因みにWPFアプリケーションです。 各種イベントを監視するObservableを用意します。 // マウスダウンイベント var mouseDown = Observable.FromEvent( (EventHandler<MouseButtonEventArgs> h) => new MouseButtonEve</mousebuttoneventargs>…

Reactive Extensions入門 3「Where」

Reactive Extensionsを使ってHello worldを書いてきました。これだけだと、ただのObserverパターンだし、イベントと比べて何が嬉しいかわからないですが、こいつにWhereなどのLINQでお馴染みのメソッドを使ってフィルタリングをかけたりすることが出来ます。…

ASP.NETの未解決の脆弱性に関する情報

最近世間を騒がせてる?ASP.NETの脆弱性に関する情報です。 ネタ元:Microsoftの「ASP.NET」に情報流出の脆弱性 対処法については、下記のマイクロソフトのサイトに書いてあります。普通は、やってるであろうことだから大丈夫だよね・・・? マイクロソフト …

MVVMパターンでVMからVに通知する方法

2010/09/22 追記 多分えムナウさんの言ってた方法はid:griefworkerさんのやり方のほうが正しいです。「MVVM パターンで ViewModel から Viewを操作する方法」 えムナウさんのページで以下のような方法が紹介されていました。 MVVM パターンで VM から VIEW …

Reactive Extensions入門 Hello worldその2

1つ前の記事で、IObservableとIObserverを使って簡単なObserverパターンを実装してみました。まだまだ、Reactive Extensionsの便利な機能を使うのには遠く及びません。その上、実装するのは決まった感じのコードを書くため非常にめんどくさいです。 そもそも…

Reactive Extensions入門 1 Hello world

Reactive Extensionsって色々小難しくIEnumerableの数学的に反対に位置するのがIObservableだって言われたりしてますが、とりあえずObserverパターンってやつです。 なので、一番シンプルなReactive ExtensionsのHello worldをやると、単純なObserverパター…

Reactive Extensionsを始めてみた

とりあえず、以下からインストール。 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でSOAP endpointを公開するためのメモ

ダウンロードするもの 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

ずっと何のためにあるのかわからなかったWCF RIA ServicesのToolkitですが、見てみるとこんな機能が・・・。 LinqToSql DomainService Soap endpoint - This enables you to expose a soap endpoint for your DomainService JSON endpoint - This enables yo…

Frameを使ったナビゲーションの間にアニメーションを入れる

SilverlightのFrameを使ったナビゲーションですが、こいつはパッパッと切り替わる感じです。RIAっぽくないです。 RIAっぽくしようと思うと、何かしらのアニメーションをやってみたいってもんですよね。 やり方は簡単で、Visual Stateを2つ定義して、片方は…