我正在使用 Ubuntu 20.04.1 LTS。为了摆脱双绞线电缆,需要使用 WiFi 适配器。适配器最好支持 5Hz 网络。搜索清楚地表明,没有深蹲就无法进行设置。该设备的规格基本上都在谈论支持win,mac。选择哪种型号?你有什么型号?
鉴于:
- 操作系统:Ubuntu 20.04.1 LTS
- 提供者: MGTS (GPON)
- 使用目的:远程工作(远程桌面)
- 与 WiFi 路由器的距离:15 米和 2 堵墙。
我正在使用 Ubuntu 20.04.1 LTS。为了摆脱双绞线电缆,需要使用 WiFi 适配器。适配器最好支持 5Hz 网络。搜索清楚地表明,没有深蹲就无法进行设置。该设备的规格基本上都在谈论支持win,mac。选择哪种型号?你有什么型号?
鉴于:
有一个函数可以在某些阶段创建一些对象 Some 。在每个阶段结束时,我都会写入数据库。总共有5个步骤,我可以在任何一个步骤上报错,而前面的步骤都成功完成了。但是这些保存的数据将不再相关,实际上是信息垃圾。为了正确操作,最好回滚中间保存的数据。从架构的角度来看,如何实现操作的原子性?
有 3 个方法返回 Either,必须按顺序调用,如果前一个返回 Right。只应返回最后一个 Either 的结果。如何正确处理它们,以免在发生错误的情况下丢失Left,并且没有像Either[Either[Either...]]]这样的嵌套。
def doSmth1: Either[Exception, String] = {}
def doSmth2: Either[Exception, String] = {}
def doSmth3: Either[Exception, String] = {}
试图这样处理:
doSmth1.map(s1 => {/** do something */
doSmth2.map({
doSmth3.map({
//do something
})
})
})
但是嵌套是Either[Either[Either...]]]。可以通过 for 理解处理:
for (
s1 <- doSmth1
s2 <- doSmth2
s3 <- doSmth3
) yield
如何在没有嵌套的情况下计算 Either?
有一个包含 5000 个项目的列表。我想通过 Future 并行化列表处理过程。我尝试过的选项之一是在每次迭代中通过 Future 执行。我使用 fixedThreadPool(10) 作为 ExecutorContext。查看代码
val list = List("Ivan", "Sergey", "Victor")
for(name <- list) {
Future { //do something with name }
}
无法正确处理。尝试添加每个名称和基础 - 添加所有列表的一小部分。这可能是因为我没有等待 Future 执行。为什么会发生这种情况以及如何正确并行化列表中的工作?谢谢你。
在执行测试时,我会遍历从控制器到基础的整个流程。我不需要它。是否可以在测试路由时使用 Mockito 或其他类似实用程序来模拟服务?
"respond to the index Action" in new App(applicationWithRouter) {
val Some(result) = route(app, FakeRequest(GET_REQUEST, "/Bob"))
status(result) mustEqual OK
contentType(result) mustEqual Some("text/html")
contentAsString(result) must include("Hello Bob")
}
在路线中,我通过实际服务的应用程序。可以通过实现相同的特征来作弊(通过使用覆盖的服务类实现您的应用程序),仅使用已知的响应。
val application = new GuiceApplicationBuilder()
.overrides(bind[Component].to[MockComponent])
.build()
但是你必须为每个这样的服务编写一个测试实现。但是,采用指标和棘手的 mokat 将不方便。实际上,如何直接锁定对象?你可以像这样模拟 mock[Service],但是如何将它注入到应用程序中呢?
我使用 flink cep 处理来自 kafka 的传入流。描述的模式。StreamExecutionEnviroment 中指定的并行度。在 flink 仪表板中,我看到一条链,其中消息处理本身的并行度 == 1,其他的值为 3。我直接向处理操作员指示并行度 = 3
CEP.pattern(stream, pattern)
.select(...)
.setParallelism(3)
为什么我收到错误
the parallelism of non parallel operator must be 1
这是因为 select 返回的流对象不支持大于 1 的值。我的任务是我只需要使用 flink cep 将消息从一个 kafka 轻弹到另一个 kafka。也许你不应该使用 select。如何并行化 CEP.pattern?