akka-stream 特有の単語や概念を分かりやすく説明します。
Akka Streams (0.7) talk for the Tokyo Scala User Group, hosted by Dwango. Akka streams are an reactive streams implementation which allows for asynchronous back-pressured processing of data in complext pipelines. This talk aims to highlight the details about how reactive streams work as well as some of the ideas behind akka streams.Read less
こんにちわ、みけです。 もう、Streamの書きすぎで、 なんだか、for文が書けない身体になってしまいました(大袈裟) というわけで、Streamなのですが、 慣れていないと 「はよ!Supplier<?>、BinaryConsumer<?, ?>をはよ!」 とIDEにせかされて、 あれっ?これってなんだっけ?ってなってしまう のではないかと思います。 というわけで、Streamで使う用途で Functional Interfaceをまとめてみることにしました。 Streamの生成(source)に用いるもの Supplier<T> 引数なしで、オブジェクトを生成するFunctional Interfaceです。 Stream#generateメソッドで利用します。 例 @Test public void supplier_Tのサンプル () { final AtomicInteger
最近調べたnode.jsのstreamに関連した雑多な内容を、思いつくままに適当に書く。 例えば、 function* createPiGenerator() { var result = 0; for (var i = 1;; i += 4) { yield result * 4; result += 1/i - 1/(i + 2); } } こんな感じのジェネレータがあったとして、それをファイルに出力したい場合 function createPiStream() { var r = new require('stream').Readable(); r.setEncoding('UTF-8'); // バッファじゃなくてstringとして処理したい var g = createPiGenerator(); // piの計算をするジェネレータ var tid; r._read = fun
さて、Java8で関数型っぽいことをやって遊んでみたわけですが、実際はそんな書き方しませんよね。 Java8で実際に使うのは、Streamです。 ということで、Streamの使い方をひととおり見てみます。 ※5/17 仕様変更があったので、修正しました 基本 まずは、Iterableインタフェースに用意されたforEachメソッドを見てみましょう。 List<String> names = Arrays.asList("hoge hoge", "foo bar", "naoki", "kishida"); names.forEach(s -> System.out.println(s)); これで次のように表示されます。 hoge hoge foo bar naoki kishida いままでの拡張forだと次のように書いてました List<String> names = Arrays.a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く