问题标签 [fs2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何将“流”转换为命令式读取操作
我有一个Stream[F,A]
,我需要将其转换为以下更“原始流接口”,以便被不fs2
知道的代码库的一部分使用:
我该怎么做呢?也许答案是这样的转换是不可能的,一旦你将一个 java 流接口包装成一个fs2.Stream
它就可以不再“转换”回一个“java 风格”的流接口,你必须Stream
一直冒泡到顶层它可以通过管道传输到一些Sink
和run
。
scala - 如何使用 FS2 在 Scala 中实现递归斐波那契数列?
在尝试熟悉 FS2 时,我遇到了一个使用 Scala 集合的 Stream 的漂亮递归实现,并认为我可以在 FS2 中尝试一下:
这在 FS2 中挂起的原因是什么,获得类似的有效解决方案的最佳方法是什么?
scala - 同时运行 Scala FS2 Streams
我正在尝试对作为网站负载生成器的系统进行建模。该网站的页面目前是字符串。
该网站的用户被建模为随机开始浏览该网站:
每个用户从一个页面转换到另一个页面,这被建模为:
我正在尝试运行这个模拟,让 4 个用户在随机间隔后开始浏览这个网站,每个用户随机访问三个页面:
输出如下所示:
即没有货币,所有随机睡眠都按严格的顺序发生。
如何更改此程序以使这些不同的流(开始浏览网站的新用户以及每个用户进行的转换)同时发生?
这是我的完整程序:
scala - 如何在 fs2 中使用 Free 和 Steam?
假设我想从 jms 读取数据,将其映射toUpperCase
并发送到其他地方。所以我用 抽象出实际的消息系统Jms[A]
,对吧?
业务逻辑:
Free
是要被解释的,就这样吧:
但是,要传递给freeProcess
? 这些/是什么?实现不是在完成所有工作吗?那我就不能忘记s吗?source
sink
interpreter
Stream
怎么在这里实际使用Free
?
scala - Scalaz 与 ReactiveX
我已经在 Java 中使用 ReactiveX 扩展工作了几年,但现在我转向 scala,并且我看到很多人使用扩展 ScalaZ 在 Scala 中执行更多功能性编程。
使用 ScalaZ 扩展是否有任何区别,或者只是将 reactiveX 调整到我所做的 Scala 并且我知道与 Scala 配合得很好?
在阅读了这篇博客https://medium.com/@luijar/the-observable-disguised-as-an-io-monad-c89042aa8f31之后,我虽然在 Scalaz 中作为 IO monad 工作
问候。
task - fs2 Task.start 与异步
我有两个任务:
我想并行启动它们,最后在结果上运行一个函数(几乎就像我对 Applicative map2 所做的那样)。这工作得很好:
输出:164 - 第一个 164 - 第二个
每次都写额外的行来理解有点乏味。令我惊讶的是
输出:197 - 第一个 318 - 第二个
也不
输出:202 - 第一个 323 - 第二个
工作。在第一种情况下,任务是同时开始的,而在后两种情况下,它们是一个接一个地开始的。
我错过了什么?阅读async
我理解的实现,其目的是使第一个片段在语法上有吸引力,但我不敢相信有一个错误,所以我可能只是滥用异步?
java - 将 Undertow Java 库转换为 fs2 流式库
我目前正在fs2-http
用作我用 Scala 编写的 JavaFX 库的库,但就目前而言,它fs2-http
是一个相当大的库,并且有太多依赖项无法作为桌面应用程序交付,因此我需要它尽可能小大小和内存占用,同时保留功能。
我决定使用 Undertow,它是一个 Java 库,但目前我正在努力将其组件转换为 Streams,而我当前处理数据的函数已经是流。
所以这是我的问题,我如何才能将这个普通的 Java 库转换为流式库?
http4s - 如何在 http4s 和 fs2 中并行化 REST API 爬虫?
我在这里用 http4s & fs2 编写了一个顺序 REST API 爬虫:
https://gist.github.com/NicolasRouquette/656ed7a2d6984ce0995fd78a3aec2566
这是查询 REST API 服务以获取一组起始 ID,获取一批 ID 的元素,并根据在这些元素中找到的交叉引用 ID 继续,直到没有新 ID 可获取并返回所有 ID 的映射提取的元素。
这行得通;但是,性能不足——太慢了!
由于我无法访问服务器,因此我尝试尝试不同的批量大小,从 10、50、100、200、500 甚至在单个查询中批量处理所有 ID。查询时间随着批量大小的增加而显着增加。在大尺寸(500 和所有尺寸)下,我什至从服务器收到了 HTTP 500 响应。
我想尝试使用线程池以负载平衡方式批处理并行查询;但是,我不清楚如何根据 fs2 文档执行此操作。
有人可以提供如何实现这一目标的建议吗?
关于使用 http4s 和 fs2:嗯,我发现这个库很容易用于简单的客户端编程。鉴于对支持任务、流等的强调,我认为批处理并行查询应该以某种方式可行。