タグ

2016年2月24日のブックマーク (10件)

  • こわくないReactive Extensions超入門 - Qiita

    (この記事は、Reactive Extensionsの素晴らしさを伝えるために書かれたものです) Linqはふつーに使ってる、Rxは解説記事を読んでみたことはあるけどなるほどわからんだった人あたりを対象にしています。 Reactive Extensionsとかいうやつ Reactive Extensions!!!(略して、Rx!) C#のサイキョウライブラリの一つであり、C#に革命をもたらしたLinqをさらに発展させてなんだかめちゃくちゃよく分からないものにしてしまったようなもの。 詳しいことは後で書くので、とりあえずはLinqっぽいすごいやつだと思っておけばいいです。 Rxの解説など Rxは時間軸をシーケンスと見なして関数を適用していく関数指向なライブラリである IEnumerable<T>をベースとするLinqに対して、IObservable<T>をベースとした拡張メソッド群 Linq

    こわくないReactive Extensions超入門 - Qiita
  • Rx入門 - xin9le.net

    非同期/イベント/時間に関する処理を LINQ の形式で簡潔かつ宣言的に記述することができるライブラリ、Reactive Extensions についての連載インデックス インデックス はじめに オブザーバーパターン Push型とPull型 IObserver<T>の省略 Subject<T>の利用 Subject<T>の亜種 IObservable<T>の生成 LINQスタイルでの記述 Where/Selectの自作 時間のシーケンス化 イベントのシーケンス化 非同期処理のシーケンス化 HotとCold Cold to Hot変換 スケジューラの利用 おわりに 落ち穂拾い 入力文字の遅延表示 効率的な表示更新 マウス位置のトラッキング Drag & Dropでの落書き Webの画像をスライド表示 TwitterのTimelineを表示 メソッドチェイン中の例外 まとめてDispose デ

    Rx入門 - xin9le.net
  • TPL入門

  • TPL入門 - xin9le.net

    .NET Framework 4.0で搭載されたタスク並列ライブラリについての連載インデックス インデックス はじめに データの並列化 単純なループ 挙動の観察 ループの中断/停止 スレッドローカル変数 例外処理 ループの取り消し タスクの並列化 タスクの実行 完了の待機と結果の取得 タスクの継続 入れ子タスクと子タスク タスクの例外処理 タスクのキャンセル タスクの状態 UIコンポーネントの操作 おわりに 落ち穂拾い 以前の並列処理 スレッドプールの挙動 長いタスクの明示 非同期メソッド 進捗通知 Hokuriku.NET C# -TPL入門- ハンズオン資料

    TPL入門 - xin9le.net
  • 非同期メソッド入門 - xin9le.net

    .NET Framework 4.5 / C# 5.0 から提供された非同期メソッドについての連載インデックス インデックス 非同期処理の歴史 非同期メソッドの概要 async修飾子とawait演算子 任意の記述場所 UIスレッドとの同期 戻り値 例外処理 非同期メソッドの内部実装 内部実装を覗く コンパイラ要件 Awaitableパターンの自前実装 WinRTとの相互運用 Rxとの相互運用 落ち穂拾い NET Framework 4.5以外でawaitする コンパイラ要件違反 単体テストの記述方法 機械的読み替えに注意 非同期勉強会 / Community Open Day 2012 その他の資料/動画 非同期勉強会 資料 Community Open Day 2012 資料 Three Essential Tips for Async @ITでの連載

  • 例外処理 (タスク並列ライブラリ) - .NET

    注意 [マイ コードのみ] が有効になっている場合、Visual Studio では、例外をスローする行で処理が中断され、"ユーザー コードで処理されない例外" に関するエラー メッセージが表示されることがあります。このエラーは問題にはなりません。 F5 キーを押して続行し、以下の例に示す例外処理動作を確認できます。 Visual Studio による処理が最初のエラーで中断しないようにするには、 [ツール] メニューの [オプション]、[デバッグ] の順にクリックし、[全般] で [マイ コードのみを有効にする] チェック ボックスをオフにします。 アタッチされた子タスクと入れ子の AggregateExceptions タスクに、例外をスローする子タスクがアタッチされている場合、その例外は親タスクに反映される前に AggregateException でラップされます。つまり、呼び出し

    例外処理 (タスク並列ライブラリ) - .NET
  • TPL入門 (12) - タスクの例外処理 - xin9le.net

    プログラムを作成するにあたっては、発生し得る例外というものを十分に考慮しなければなりません。しかしながら、非同期処理/並列処理の場合は例外処理がやりにくいのも実情です。特にタスクは呼び出し元スレッドとは非同期に実行されるので、その中で発生した例外は一体「いつ、誰が」捕捉すべきなのか、という問題にぶつかります。今回はこのようにタスク内で発生した例外の扱い方について見ていきます。 例外の捕捉 タスク中で発生し処理されなかった例外は、タスク自身によって捕捉され、コレクションとして保存されます。WaitメソッドかResultプロパティが実行されると、これらのメンバーからSystem.AggregateExceptionがスローされます。タスクが捕捉した例外は、スローされるAggregateExceptionのInnerExceptionsプロパティで取得できます。 using System; us

    TPL入門 (12) - タスクの例外処理 - xin9le.net
  • neue cc - asyncの落とし穴Part3, async voidを避けるべき100億の理由

    だいぶ前から時間経ってしまいましたが、非同期の落とし穴シリーズPart3。ちなみにまだ沢山ネタはあるんだから!どこいっても非同期は死にますからね! async void vs async Task 自分で書く場合は、必ずasync Taskで書くべき、というのは非同期のベストプラクティスで散々言われていることなのですけれど、理由としては、まず、voidだと、終了を待てないから。voidだと、その中の処理が軽かろうと重かろうと、終了を感知できない。例外が発生しても分からない。投げっぱなし。これがTaskになっていれば、awaitで終了待ちできる。例外を受け取ることができる。await Task.WhenAllで複数同時に走らせたのを待つことができる。はい、async Taskで書かない理由のほうがない。 んじゃあ何でasync voidが存在するかというと、イベントがvoidだから。はい。b

  • これが最強のMVC(iOS) - Qiita

    前に、MVCについての記事を書かせて頂いたのですが(おデブになりがちな、UIViewControllerをスッキリさせる魔法のルール)、色々調べ考えている内に「間違ってるぞ」ということに気づきました。 それを踏まえ、実際にUITableViewを使った実際に良くありそうなコードを具体例に上げご説明したいと思います。 そもそもMVCとは MVCとは、有名なこのスライドに書かれている通りこれ「やはりお前らのMVCは間違っている」です。 しかしほとんどの世に出ているiosアプリのMVCの構造を見ると以下の図の様になっています。 (これはこのスライドの中で全力でdisられているMVCです) そして私は、「なんだよ、みんなMVC間違ってんじゃん、ははーん」と思い前回の記事を書きました。 おデブになりがちな、UIViewControllerをスッキリさせる魔法のルール この記事鵜呑みにした人ごめんなさ

    これが最強のMVC(iOS) - Qiita
  • 「Railsでシステム作ってます。MVCでMとCの境目がよくわかりません(><)」への回答を試みる - Qiita

    これがわからない理由 恐らくあなたは コントローラが依存しているHTTPの世界の要素についての理解 「疎結合にする」という目 のどちらかを持っていないと想像できる。 簡単な解説 コントローラについて コントローラはHTTPの仕様に依存したものが入っている。例えば下記のようなものだ。 リクエスト(GET引数やPOST引数、Header、etc...) レスポンス(WEB用のHTMLの描画、リダイレクト、etc...) セッション つまり、コントローラは「このシステムがWEB用のシステムである」という事実に立脚している。 疎結合について システムには変更がつきものだ。だからなるべく変更しやすさを残しておく設計が望ましい。例えば 今までPC用のViewしか無かったが、これからはケータイ用のViewも必要になる。 これまで人が画面側で入力していた値があったが、これからはその取得がセッションからも行

    「Railsでシステム作ってます。MVCでMとCの境目がよくわかりません(><)」への回答を試みる - Qiita