JSオジサンで発表した資料です。
Node.js の次のメジャーバージョン 0.12 で yield が使えるようになります。 そのおかげで、JavaScript のコールバック地獄に光が差し込むのです。ああ、さようなら、コールバック地獄。 7 年ごしで実現した yield 2006 年、Firefox 2 のリリースと同時に yield は JavaScript 界に登場しました。随分と前の話ですね。 登場した当時は JavaScript 界隈でけっこう話題になっていました。 JavaScript 1.7 の yield が凄すぎる件について - IT戦記 Latest topics > JavaScript 1.7のyield文ってなんじゃらほ - outsider reflex JavaScript 1.7 の新機能: Days on the Moon 登場したときにはインパクト大きかったものの、結局 Firefox
node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre
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-)
Hatsune's Journal Japan blog 目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1864 記事 - 2 コメント - 92391 トラックバック - 317 ニュース Visual Basic Advent Calendar 2011(12/17) Visual Basicで非同期通信を行うときはWithEventsを使うとスッキリした形で実装できることは前回お伝えしました。 今回ご紹介するRx (Reactive Extentions) を使うとさらにスッキリします。 なお、Windows PhoneではRxは標準項目ですが、最新版のReactive Extensionsでは一部名前空間が異なりますので、ここからダウンロードして最新版で確認ください。 まずはおさらいとして前回のコードを見てみましょう。 Friend WithEven
連載目次 「エンド・ユーザーは、0.5秒のフリーズでストレスを感じ、3秒のフリーズはバグだと思う」。昔、冗談半分に言ってみた言葉だが、回りの反応を見るに、割とみな思っていることらしい。 特にモバイル端末向けのOSでは、応答性の悪いアプリケーションはOSによって強制終了されたり、マーケットプレイスでの審査に落ちたりする。フリーズしないアプリケーション作りがますます重要になっている。 そこで、本稿では、フリーズしないアプリケーション作りに必要となる「非同期処理」*1について説明していく。 *1 時間のかかるAPIに対して、そもそも非同期版しか提供しないケースが増えてきている。Windows 8の新しいWindows API(WinRT)では、50ミリ秒以上かかるAPIを、すべて非同期なメソッドとして提供するそうだ。 ■非同期処理の今までとこれから ネットワークI/Oのように待ち時間の発生する処
非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く