Akka でステートマシンを処理

前回 の有限ステートマシン(FSM)の処理を Akka の Java 用 API を使って実装してみます。 Akka 2.5.6 ソースは http://github.com/fits/try_samples/tree/master/blog/20171016/ ステートマシンの実装 まずは、以下のステートマシンを実装します。 初期状…

Spring Statemachine でステートマシンを処理

Spring Statemachine を使って単純な有限ステートマシン(FSM)を実装してみました。 Spring Statemachine 2.0.0 SNAPSHOT ソースは http://github.com/fits/try_samples/tree/master/blog/20171002/ はじめに Spring Boot 2.0.0.M4 を使用して Kotlin で実…

Akka Streams で MQTT Broker へ接続

ローカルで実行した MQTT Broker(前回 参照)に対して Akka Streams の Java 用 API を使って Groovy で接続してみます。 Akka Streams 用の様々なコネクタを備えた Alpakka に MQTT Broker 用の Source や Sink が用意されているので、今回はこちらを使い…

MQTT Broker をローカル実行

以下の MQTT Broker をそれぞれローカルで実行してみました。 Mosca Moquette ソースは http://github.com/fits/try_samples/tree/master/blog/20170910/ Mosca Mosca は Node.js 用の MQTT Broker です。 npm でインストールして mosca コマンドで実行でき…

MXNet で iris を分類

MXNet を使って、階層型ニューラルネットによる iris の分類を試してみました。 MXNet ソースは http://github.com/fits/try_samples/tree/master/blog/20170821/ 準備 MXNet は様々なプログラミング言語用の Docker イメージを提供しているので、今回は Pyt…

JanusGraph でグラフ操作 - Groovy

TinkerPop の API と互換性があり Cassandra 等をストレージとして使用できる JanusGraph というグラフデータベースがあります。 JanusGraph 0.1.1 今回は、「TinkerPop でグラフ操作 - Groovy」 のサンプルコードを JanusGraph 用に変更してみます。 ソース…

TinkerPop でグラフ操作 - Kotlin

前回 の処理を Kotlin で実装してみました。 Kotlin 1.1.3-2 Apache TinkerPop ソースは http://github.com/fits/try_samples/tree/master/blog/20170724/ a. ビルド定義・設定ファイル 今回は Gradle のサブプロジェクトとして実行します。 build.gradle (…

TinkerPop でグラフ操作 - Groovy

前回、Neo4j の Cypher を使って実施したグラフ操作を Apache TinkerPop を使って Groovy (@Grab を使用)で実装してみました。 Groovy 2.5.0 beta1 Apache TinkerPop 3.2 Apache TinkerPop はグラフ処理のためのフレームワークで、Neo4j 等の様々なグラフ …

アクセス制御リストをグラフDBで構築 - Neo4j

柔軟性のあるアクセス制御を考えた際に、アクセス制御リスト(ACL)を有向グラフで表現すればどうだろうかと思い、グラフDBの Neo4j を使って試してみました。 Neo4j Community Edition 3.3.0-alpha02 概要 アクセス制御リストを有向グラフで表現し、アクセ…

Docker で F# アプリケーションを作成

Microsoft による .NET Core の公式 Docker イメージを使って、単純な F# のコンソールアプリケーションを作成してみました。 microsoft/dotnet 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170619/ (1) Docker コンテナの実行 …

Docker で Haskell アプリケーションを作成 - MongoDB 利用

MongoDB へ接続する Haskell アプリケーションを Docker で作成してみました。 以下の Docker イメージを使用します。 mongo haskell ビルドツールは stack を使って、MongoDB への接続には以下のライブラリを使います。 MongoDB driver for Haskell 今回の…

D3.js で HAR ファイルから散布図を作成

前回、HAR (HTTP ARchive) ファイルから Python で作成した散布図を D3.js を使って SVG として作ってみました。 D3.js 4.8.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20170515/ はじめに Node.js で D3.js を使用するために d3 と…

Python で HAR ファイルから散布図を作成

Web サイトの構成を可視化するため、Python で HAR (HTTP ARchive) ファイルをパースし散布図を試しに作ってみました。 今回作成した散布図の内容は以下の通りです。 横軸は time (処理時間 (ミリ秒)) 縦軸は bodySize (レスポンスボディのサイズ) MIM…

Go で Kafka の Consumer クライアント

下記ライブラリをそれぞれ使って Go 言語で Apache Kafka の Consumer クライアントを作成してみました。 sarama sarama-cluster 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170506/ Sarama の場合 まずは sarama を使ってみま…

Groovy で Kafka を組み込み実行

Groovy で Apache Kafka を組み込み実行してみました。 Apache Kafka 0.10.2.0 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170410/ Kafka 組み込み実行 Kafka の実行には ZooKeeper が必要なため、ZooKeeper と Kafka の両方を…

Java で Apache Beam を使用

前回 と同等の処理を Apache Beam を使って実装してみます。 Apache Beam 0.6.0 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170327/ サンプルアプリケーション Beam では Pipeline の apply メソッドで処理を繋げるようですので…

Java 8 で Apache Flink を使用

前回 と同様の処理を Java8 のラムダ式を使って実装してみました。 Apache Flink 1.2.0 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170313/ サンプル 前回 の処理をラムダ式を使って Java で実装すると以下のようになりました。…

Groovy で Apache Flink を使用

「Groovy で Apache Spark を使用」と同様の処理を Apache Flink で試してみました。 Apache Flink 1.2.0 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170311/ サンプルスクリプト 今回はローカルで実行するだけなので Execution…

reveno でイベントソーシング

「sourcerer でイベントソーシング」 等と同様の処理を reveno で実装してみました。 reveno 1.23 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170306/ はじめに 使用する Gradle ビルド定義ファイルは以下の通りです。 build.gr…

Groovy で Cassandra を組み込み実行

Groovy で Apache Cassandra を組み込み実行してみました。 Apache Cassandra 3.10 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170227/ 組み込み実行 まずは、設定ファイルを用意しておきます。 今回は実行に必要な最小限の設定…

Groovy で Elasticsearch を組み込み実行

Groovy で Elasticsearch を組み込み実行してみました。 Elasticsearch 5.2.0 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170203/ (a) クライアント接続しない場合 まずは、クライアント接続が不可な Elasticsearch を起動して…

Akka の FileIO でファイルを読み書き

Akka (akka-stream) の FileIO を使ってファイルの読み書きを行ってみます。 Akka 2.5-M1 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170131/ はじめに akka-stream では Java 用の API は akka.stream.javadsl パッケージに…

Sourcerer でイベントソーシング

「Axon Framework でイベントソーシング」 や 「es4j でイベントソーシング」 と同様の処理を Sourcerer で実装してみました。 Sourcerer v4.0.1 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170110/ はじめに 以下のような Grad…

es4j でイベントソーシング

「Axon Framework でイベントソーシング」 と同様の処理を es4j (Eventsourcing for Java) で実装してみました。 es4j 0.4.5 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20170107/ はじめに 今回はイベントをインメモリで保持する…

RxJava2 で並列処理

前回 と同じような並列処理を RxJava 2.0 で試してみました。 RxJava 2.0.3 ソースは http://github.com/fits/try_samples/tree/master/blog/20161226/ はじめに まずは、map の処理と subscribe の処理を順番に 3回繰り返す処理です。 前回の Reactor との…

Reactor で並列処理

Reactor の並列処理を試してみました。 reactor-core 3.0.3 ソースは http://github.com/fits/try_samples/tree/master/blog/20161208/ はじめに Reactor で以下のようなコードを実行すると、map の処理と subscribe の処理を順番に 3回繰り返します。(repe…

Spring Web Reactive を試す

Spring 5 で導入される Spring Web Reactive を試してみました。 本来なら Spring Boot で実行する事になると思いますが、今回は Spring Boot を使わずに Undertow で直接実行してみます。 ソースは http://github.com/fits/try_samples/tree/master/blog/20…

Java で行列の演算 - nd4j, commons-math, la4j, ujmp, jblas, colt

Java で以下のような行列の演算を複数のライブラリで試しました。 (a) 和 (b) 積 (c) 転置 とりあえず今回は、更新日が比較的新しめのライブラリを試してみました。 ND4J 0.6.0 Commons Math 3.6.1 la4j 0.6.0 UJMP 0.3.0 jblas 1.2.4 Colt Blazegraph 版 2.…

Lucene API で Solr と Elasticsearch のインデックスを確認

Groovy で Lucene の API を使用して Solr や Elasticsearch のインデックスの内容を確認してみました。(Lucene 6.2.1 の API を使用) ソースは http://github.com/fits/try_samples/tree/master/blog/20161024/ (a) ドキュメントの内容を出力 まずは、ド…

Deeplearning4J で MNIST を分類

「Deeplearning4J で iris を分類」 に続いて、畳み込みニューラルネットを使った MNIST の分類を試します。 Deeplearning4J 0.6.0 Deeplearning4J のバージョンが上がって、@Grab を使った Groovy 上での実行が上手くいかなかったので、今回は Kotlin で実…