タグ

非同期に関するokagawaのブックマーク (33)

  • Promiseとasync-awaitの例外処理を完全に理解しよう - Qiita

    はじめに JavaScriptは非同期処理との闘いです。 人類が非同期処理を倒すために、Promiseやasync-awaitという最終兵器を生み出して、劇的にクリーンで平和な世界が生まれたという話は以前しました => (もしかして: JavaScriptは如何にしてAsync/Awaitを獲得したのか Qiita版) しかあぁし!!! 甘い、甘いのですよ!!!!! 人類を苦しめ続ける非同期処理が、そんな簡単に完全に倒せるわけがないのですよ。 非同期処理の当にヤバイ深淵、それが「例外処理」です。 みなさんはPromiseで開発していて、 「なんか途中までうまく行ってたんだけど気づいたら例外が外側に飛ばなくなった…なんでだ…」 「助けて!Promiseにcatch書いてるのに何故か例外がcatch出来ないの!!!」 という経験はないでしょうか。私は何度もあります。 この記事では、具体的に何

    Promiseとasync-awaitの例外処理を完全に理解しよう - Qiita
  • 爆速でわかるjQuery.Deferred超入門

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。これまで、JavaScriptで非同期処理を書く上での問題として、コールバック地獄やエラー処理に例外が使えないことなどを解説してきました。 これらの問題に対処するライブラリの1つであるjQuery.Deferredに関して、もう少し丁寧に解説いたします。なお、jQueryのバージョンは記事執筆時点の最新である、1.9.1を想定しています。 jQuery.Deferredとは jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。使いこなすことで、以下のような効果が見込めます。 非同期処理を連結

    爆速でわかるjQuery.Deferred超入門
  • hifive - HTML5企業Webシステムのための開発プラットフォーム

    サーバーとの通信、HTML5のAPIを使ったアプリケーションの開発に必要不可欠な「非同期処理」について学びましょう。 非同期処理とは背景処理の「非同期」化サーバーとの通信を例に考えてみようPromiseパターン基的な考え方コードの基形(1)呼び出した関数がPromiseパターンに従っている場合(2)自分で作成する関数でPromiseパターンを利用したい場合非同期処理の「失敗」の扱い方(1)呼び出した関数の失敗通知を受け取る(2)自分が作成する非同期処理関数で失敗を通知する複数の非同期処理をつなげて順番に行う複数の非同期処理を並列に実行して、全てが完了したら最終処理を行う非同期処理とは背景Webブラウザは基的に、JavaScriptコードを実行するとき、コードを上から順に1行ずつ実行します。 また、関数を呼び出すと、その関数の実行が終了するまで(return文によって呼び出し元の関数に

    hifive - HTML5企業Webシステムのための開発プラットフォーム
  • JavaScript Promiseの本

    この書籍はCreative Commons Attribution-NonCommercialの ライセンス で公開されています。 また、PDFとしてレンダリングしたバージョンは以下からダウンロードすることができます。

    JavaScript Promiseの本
    okagawa
    okagawa 2015/02/07
    JavaScript Promiseの本
  • 【個人メモ】React Tutorialをちょこっとやってみた - Qiita

    Reactが最近騒がれてるので、 よくわからないからReactjs tutorialを少しこなしてみた。 Reactとは ぐぐるとmizchiさんのブログエントリが出てくる。 Facebook製リアクティブプログラミングライブラリ React を試してみた + 感想 VirtualDOMという技術を使っているようだ。 [JavaScript] 仮想DOMを提供する『React』について少し調べてみた VirutalDOMだけ切り出した成果物も存在する。 https://github.com/Matt-Esch/virtual-dom Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 react-toolsのインストール React、type=“text/jsx” なコンテンツについてXHRで取りに行くようだ。 Chromeで開発することが多い、という

    【個人メモ】React Tutorialをちょこっとやってみた - Qiita
  • 非同期プログラミング - ASP.NET の非同期/待機の概要

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ASP.NET の非同期/待機の概要 Stephen Cleary 非同期/待機を取り上げているオンライン資料のほとんどは、クライアント アプリケーションの開発を前提としていますが、非同期をサーバーで活用できる場面はないのでしょうか。もちろん、あります。今回は、ASP.NET の非同期要求について全体的な考え方を説明します。また、非常に役立つオンラインの参考資料も紹介します。ここでは async や await の構文については触れません。構文については、初心者向けのブログ記事 (bit.ly/19IkogW、英語) や、非同期のベスト プラクティスについてのコラム (msdn.microsoft.com/m

    非同期プログラミング - ASP.NET の非同期/待機の概要
  • @Scale conf 2014 web track: RxJS、flow型チェック、wikipediaとPHPなど

    @Scale conf 2014 web track: RxJS、flow型チェック、wikipediaPHPなど Facebookが主催する@Scale conferenceというカンファレンスが少し前にやってまして、そのビデオがYouTubeで公開されてます。Data、Mobile、Webというみっつのトラックがあって、それぞれプレイリストになってます。とりあえずWeb trackをざっと眺めたなかで個人的に面白いとおもったものを。 Asynchronous Programming at Netflix 非同期プログラミング、というタイトルでRxJS (Reactive Extension for JavaScript)の解説。語り口も明確だし、これは面白かった。イベントソースを非同期なコレクションとみなして、forEachやmapなどを駆使すると綺麗に書けますよ、Netflixでは

  • neue cc - ForEachAsync - 非同期の列挙の方法 Part2

    Part2って、Part1はあったのかというと、うーん、非同期時代のLINQ、かな……?さて、今回はForEachがテーマです。といってもそれってSelect+WhenAllでしょ!「Selectは非同期時代のForEach」って言ってたじゃない、というと、はい、言ってました。まだ他に言うことあるの?というと、例えば以下のシチュエーション。 var httpClient = new HttpClient(); var tasks = Enumerable.Range(1, 100000) .Select(async x => { var str = await httpClient.GetStringAsync("http://hogehoge?q=" + x); Console.WriteLine(str); }); await Task.WhenAll(tasks); 別に動きはします

  • neue cc - 非同期時代のLINQ

    この記事はC# Advent Calendar 2013の4日目となります。2012年はMemcachedTranscoder - C#のMemcached用シリアライザライブラリというクソニッチな記事で誰得でした(しかもその後、私自身もMemcached使ってないし)。その前、2011年はModern C# Programming Style Guide、うーん、もう2年前ですかぁ、Modernじゃないですねえ。2011年の時点ではC# 5.0はCTPでしたが、もう2013年、当然のようにC# 5.0 async/awaitを使いまくる時代です。変化は非常に大きくプログラミングスタイルも大きく変わりますが、特にコレクションの、LINQの取り扱いに癖があります。今回は、非同期時代においてLINQをどう使いこなしていくかを見ていきましょう。 Selectは非同期時代のForEach これ超大

  • HttpClient詳解、或いは非同期の落とし穴について

    AbemaTV has faced a lot of technical challenges. In order to become mass media in Japan, we need to get over them. The presentation describes our approaches to solve them.

    HttpClient詳解、或いは非同期の落とし穴について
  • 非同期処理の基礎知識

    CPUとかOSレベルな話から」という意味で「基礎知識」。べたに、「『こう書け』とだけ言われても、中の仕組みを知らないと納得いかないですよね」という話。 CPUの構造がどうとかいう話だけとか、OSスレッドの話だけとか、I/Oの話だけとか、個別にはちらほら見るものの、非同期処理って観点からこの辺りを通して説明してる資料って少ないなぁと常々思っていたので。「こう書いた方がいいよ」事例サンプルはC#ですけども、他の言語、他のOSでも通じる話だと思います。 ぶっちゃけ、C# 5.0のasync/awaitを使うとほとんど内部で解決してくれるような話ではあります。ただ、もちろん、「async/await使えば同期っぽく書けるといっても、非同期特有のはまりどころにははまるでしょ?」といわれるとその通り。でも、じゃあ、非同期処理を避けれるかというといまどき無理な話で、「非同期処理が避けようないんだったら

    非同期処理の基礎知識
  • 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
  • nicholsonjf

    nicholsonjf

  • コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita

    このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら

    コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita
  • Async/Await - 非同期プログラミングのベスト プラクティス

    async void を避ける 使用できる戻り値の型には、Task、Task<T>、および void の 3 つがありますが、async メソッドで自然な戻り値の型は Task と Task<T> だけです。同期コードから非同期コードに変換する際、型 T を返すメソッドはすべて Task<T> を返す async メソッドになり、void を返すメソッドはすべて Task を返す async メソッドになります。次のコード スニペットは、void を返す同期メソッドとそれに相当する非同期メソッドを示しています。 void MyMethod() { // Do synchronous work. Thread.Sleep(1000); } async Task MyMethodAsync() { // Do asynchronous work. await Task.Delay(1000);

    Async/Await - 非同期プログラミングのベスト プラクティス
  • 非同期メソッドの構文(1/3) - @IT

    連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門 第2回 非同期メソッドの構文 鈴木 孝明 2012/09/25 前回は、.NET Frameworkが提供してきた非同期処理システムの歴史に沿いながら、最新の非同期メソッドまでの進化について見てきた。その進歩は著しく、.NET Frameworkの黎明期(れいめいき)と比べると「まるで魔法」と言ってもよいくらいだ。初めてご覧になった方や以前の書き方で非同期処理に良い思い出がなかった方は、きっと衝撃を受けたことだろう。 今回は、そんな魔法のような非同期メソッドの構文や使い方、注意点などについて解説する。これを読めば非同期メソッドを平時使ううえで困ることはほぼほぼなくなるだろう。さぁ、始めよう。 ■非同期メソッドのキーワード 非同期メソッドを利用するうえで必要なキーワードは、async修飾子とawait演算子

  • C#次世代非同期処理概観 - Task vs Reactive Extensions

    1. C#次世代非同期処理概観 Task vs Reactive Extensions 2012/3/10 #riaarch Yoshifumi Kawai @neuecc 2. Profile  Name => Yoshifumi Kawai仕事は近頃はASP.NETで、あまりRIAじゃなかったり  まあ、HTML5もRIAですし!  Twitter => @neuecc  HN => neuecc  読むときは“のいえ”と読ませてます  サイトのドメイン(特に意味はない)を繋いだだけ で、識別子になればそれだけでいいと思って発音考 えてなかったので割とアレ  Microsoft MVP for Visual C#(2011/4-)

    C#次世代非同期処理概観 - Task vs Reactive Extensions
  • Async in C# and F#: Asynchronous gotchas in C#

    One (non-NDA) talk was the Async Clinic talk about the new async and await keywords in C# 5.0. Lucian and Stephen talked about common problems that C# developers face when writing asynchronous programs. In this blog post, I'll look at some of the problems from the F# perspective. The talk was quite lively, and someone recorded the reaction of the F# part of the audience as follows: Why is that? It

  • neue cc - Rx

    Unityでasync/await使えてハッピー。が、しかしまだ大々的に使われだしてはいないようです。理由の一つとして、Unityが標準でサポートする気が全くなさそう。少なくとも、Unityがフレームワークとしてasync/awaitには何一つ対応していない。async/awaitという道具立てだけじゃあ何もできないのです、フレームワークとして何らかのサポートがなければ機能しないわけですが、なんと、何もない……。 何もないことの理由はわからないでもないです。パフォーマンス面で不満/不安もありそうですし、マルチスレッドはC# Job System使ってくれというのは理にかなっている(私もそちらが良いと思います、つまりTaskのマルチスレッドな機能は原則使わない)。とはいえ、async/awaitは便利なので、このまま、便利だけど性能は微妙だから控えようみたいな扱い(あ、それ知ってる、LINQ

  • 非同期プログラミングのデザイン パターン

    このセクションの内容 イベントベースの非同期パターンの概要 イベント ベースの非同期パターンによって、マルチスレッド デザイン固有の多くの複雑な問題を気にせずに、マルチスレッド アプリケーションの利点を活用できるしくみを説明します。 イベントベースの非同期パターンの実装 非同期機能を持つクラスをパッケージ化するための標準的な方法について説明します。 イベントベースの非同期パターンを実装するための推奨される手順 イベント ベースの非同期パターンに従って非同期機能を公開するための要件について説明します。 イベントベースの非同期パターンをいつ実装するかの決定 どのような場合に、非同期プログラミング モデル (APM) で表される IAsyncResult パターンではなく、イベント ベースの非同期パターンの実装を選択するかを判断する方法について説明します。 方法: イベントベースの非同期パターン

    非同期プログラミングのデザイン パターン