据我所知,MongoDB官方驱动程序提供了“计数”和“估计文档计数” API,据我所知,前一个命令占用大量内存,因此建议在需要时使用后者。
但是这个估计的文件计数有多准确?是否可以在生产环境中信任计数,还是在需要绝对精度时建议使用计数API?
真的很简单的问题,但我无法在任何地方找到简单的解释.我想以毫秒为单位获取当前时间:
val current = System.currentTimeMillis()
Run Code Online (Sandbox Code Playgroud)
并将结果转换为日期时间格式,如2017-02-11T15:16:38.437Z.如果问题不清楚,这适用于Scala.
尝试在Scala中的Play 2.6中测试控制器时,我得到一个空指针异常.这是对OK响应的测试:
class ApplicationControllerSpec extends PlaySpec
with MockitoSugar with ScalaFutures {
val mockOrchestrator = mock[ApplicationOrchestrator]
val mockCC = mock[ControllerComponents]
val controller = new ApplicationController(mockOrchestrator, mockCC)
val method = controller.home()(FakeRequest())
assert(status(method) == 200)
}
Run Code Online (Sandbox Code Playgroud)
这是我正在测试的控制器:
class ApplicationController @Inject()
(orchestrator: ApplicationOrchestrator, cc: ControllerComponents)
extends AbstractController(cc) with I18nSupport {
def home(): Action[AnyContent] = Action {
implicit request: RequestHeader => //line 29
Ok(views.html.home())
}
}
Run Code Online (Sandbox Code Playgroud)
该错误看起来与隐式请求相关联,但我找不到解决方案.
日志输出是:
java.lang.NullPointerException was thrown.
java.lang.NullPointerException
at controllers.ApplicationController.home(ApplicationController.scala:29)
我使用 Akka HTTP 框架和 Scala 创建了一个应用程序,该应用程序使用 SDK 将文件发送到我的 S3 存储桶。
我正在尝试为代码编写单元和集成测试,但我不确定如何模拟或存根这些外部调用,因为 SDK 看起来没有进行任何明显的 HTTP 或 WS 调用。
是否有一个库可以模拟或存根 S3 存储桶调用,并且与 Scala 或 Java 兼容?
我想使用HTTP方法将新的仪表板发布到我的本地Kibana实例,但是我找不到太多有关使用API进行此操作的文档。
在Kibana上有一个请求请求,提到它正在添加此功能,但是关于如何使用它的文档有限:https : //github.com/elastic/kibana/pull/10858
我尝试发布的仪表板示例:
{
"_id": "12345678-1234-1234-1234-1234567890op",
"_type": "dashboard",
"_source": {
"title": "my-app",
"hits": 0,
"description": "",
"panelsJSON": "",
"optionsJSON": "{\"darkTheme\":false}",
"uiStateJSON": "",
"version": 1,
"timeRestore": true,
"timeTo": "now/d",
"timeFrom": "now/d",
"refreshInterval": {
"display": "1 minute",
"pause": false,
"section": 2,
"value": 60000
},
"kibanaSavedObjectMeta": {
"searchSourceJSON": ""
}
}
}
我是Scala的新手.我正在制作一个游戏,我有一个角色可以访问的类型列表Location.我有一个案例类和一个伴随对象来实现这一目标.
LinkedLocationsinside Location是一个类型数组,Location可以包含一个位置可以导致的任意数量的位置.在这种情况下,1号房间通向2号房间,反之亦然.
case class Location(name: String, desc: String, linkedLocations: Array[Location]){}
object Location {
val none: Location = Location("none","none",Array(none))
val room1: Location = Location("room 1","you are in room 1",Array(room2))
val room2: Location = Location("room 2","you are in room 2",Array(room1))
room1.linkedLocations.foreach(location=>println(location.name))
}
Run Code Online (Sandbox Code Playgroud)
我试过让它们变得懒惰,但最终会出现堆栈溢出.如何修复这样的引用问题?有没有更好的方法来设计这个?
scala ×4
akka-http ×1
amazon-s3 ×1
aws-sdk ×1
case-class ×1
kibana ×1
kibana-5 ×1
mongodb ×1
unit-testing ×1