4

リアクティブ アプリケーションの機能を示したいと考えています (コンテキストは学術プロジェクトです)。私たちの目標は、F# と Datomic を使用して、複数のアプリケーションを含むプロジェクトを構築することです。プロジェクトは次の部分で構成されています。

  • An event producer: 人間の行動をシミュレートするタイムスタンプに関連付けられた GPS 座標を生成します。
  • event listener最も近い関連する POI を返す POI (Point Of Interest) データベースに最初に接続されます。行は、GPS 座標と、営業時間を表す 2 つのタイムスタンプで構成されます。このアプリケーションを Gmail の背後にあるリアルタイム アプリケーションに同化させることができます。このアプリケーションは、雪について話し、暖かい服についてのコマーシャルを表示する最後のユーザーの電子メールをスキャンします。
  • event listenerDatomic ですべてのユーザーの動きを保存する秒。
  • (オプション) Datomic を調べて、ユーザーに関する関連情報を見つけようとするアプリケーション。(多くの場合、その POI、勤務時間などに近い)

Datomic と F# (または関数型プログラミング) の両方に不慣れなため、未回答の質問がいくつかあります。

F#:

  • イベント プロデューサーがイベントを生成し、2 つの外部アプリケーション (現在は同じマシンで実行中) によってリッスンされるためのベスト プラクティスは何ですか? メッセージを使用することもできますが、ここで重要な点は、イベント プロデューサーがリスナーを認識していないということです。
  • この種のコードには C# を使用したほうがよいでしょうか (GPS 座標を実際に表示したいので、基本的にはいくつかrandomsloops.

データ型:

  • F# から datomic をクエリする最良の方法は何ですか? 私たちの視点は、Datomic の REST APIを使用することです。それを行う他の方法が見当たらなかったからです。この主題について話しているリソースがあれば、それを行う方法を理解するのに役立ちます.
  • Datomic は POI データベースに適していますか? それとも、古き良きリレーショナル データベースを使用する必要がありますか? これまでのところ、POI テーブルは生のままです。つまり、処理されたイベントごとにデータベース全体にクエリを実行することを避けるために、POI をグリッドまたはツリーに編成する努力は一切行いません。(私たちはそれが悪いことを知っていますが、今のところ、それを機能させたいだけです (機能させる -> 正しくする -> 速くする... ですよね?)

部分的な回答は大歓迎です。その主題に興味のある将来の人々を助けるために、必要に応じて完全な回答を作成します.

4

0 に答える 0