C# 使用F#和Datomic构建反应式应用程序的基础知识
我们希望展示反应式应用程序的功能(上下文是一个学术项目)。我们的目标是与F#和Datomic合作,构建一个具有多个应用程序的项目。本项目由以下部分组成:C# 使用F#和Datomic构建反应式应用程序的基础知识,c#,f#,reactive-programming,datomic,C#,F#,Reactive Programming,Datomic,我们希望展示反应式应用程序的功能(上下文是一个学术项目)。我们的目标是与F#和Datomic合作,构建一个具有多个应用程序的项目。本项目由以下部分组成: 事件生成器:生成与模拟人类行为的时间戳关联的GPS坐标 第一个事件侦听器连接到POI(兴趣点)数据库,该数据库返回最接近的相关POI。一行由GPS坐标和表示营业时间的2个时间戳组成。我们可以将此应用程序与Gmail背后的实时应用程序相类似,Gmail可以扫描最后一位用户的电子邮件,这些电子邮件谈论降雪,并显示关于保暖衣物的广告 第二个事件监听
:生成与模拟人类行为的时间戳关联的GPS坐标事件生成器
- 第一个
连接到POI(兴趣点)数据库,该数据库返回最接近的相关POI。一行由GPS坐标和表示营业时间的2个时间戳组成。我们可以将此应用程序与Gmail背后的实时应用程序相类似,Gmail可以扫描最后一位用户的电子邮件,这些电子邮件谈论降雪,并显示关于保暖衣物的广告事件侦听器
- 第二个
,用于在Datomic中保存每个用户的移动事件监听器
- (可选)查看Datomic并尝试查找用户相关信息的应用程序。(通常接近该POI、工作时间等)
- 事件生成器生成其事件并被两个外部应用程序监听(目前运行在同一台机器上)的最佳实践是什么?我们可以使用消息,但这里重要的一点是事件生成器不知道侦听器
- 对于这种代码,最好使用C(我们希望GPS坐标看起来是真实的,所以它基本上是一些
和随机数
)循环
- 从F#查询datomic的最佳方法是什么?我们的观点是使用,因为我们没有看到任何其他方法。欢迎提供有关此主题的任何资源,以帮助我们了解如何使用datomic
- Datomic是POI数据库的一个好选择,还是我们应该选择一个好的旧关系数据库?到目前为止,POI表将是原始的;这意味着我们不会做任何努力将POI组织在网格或树中,以避免为每个已处理的事件查询整个数据库。(我们知道这是不好的,但现在我们只想让它工作,(让它工作->让它正确->让它快速…对吗?)
欢迎部分回答。如果需要,我们将撰写一个完整的回答,以帮助未来对该主题感兴趣的人。有一个比使用REST API简单得多的解决方案。为了侦听外部事件,为什么不将事件发布到可观察对象,并使用一个套接字侦听器作为订阅方
onNext
是否会写入任何已连接客户端的套接字?