小编ses*_*ses的帖子

Scala通过将函数作为参数传递隐式参数来感受adnvatage

我试着感受implicitScala 中参数的优势.(已编辑:使用匿名函数时的特殊情况.请查看此问题中的链接)

我尝试根据这篇文章进行简单的模拟.在哪里解释如何Action工作PlayFramework.这也涉及到.

以下代码用于此目的:

object ImplicitArguments extends App {

  implicit val intValue = 1 // this is exiting value to be passed implicitly to everyone who might use it

  def fun(block: Int=>String): String = { // we do not use _implicit_ here !
    block(2)  // ?? how to avoid passing '2' but make use of that would be passed implicitly ?
  }

  // here we use _implicit_ keyword …
Run Code Online (Sandbox Code Playgroud)

scala

4
推荐指数
1
解决办法
1万
查看次数

Jaxb +球衣.在生成的json中跳过空字段

我有一个代码:

   return Response.status(Status.BAD_REQUEST).entity(errors).build();
Run Code Online (Sandbox Code Playgroud)

其中:Response来自这个包裹:( javax.ws.rs.core球衣1.9.1);

在哪里errors是:

@XmlRootElement
public class UserInfoValidationErrors {

    @XmlElement String username;
    @XmlElement String email;
...
Run Code Online (Sandbox Code Playgroud)

然后我有这样的JSON结果: {"username":null,"email":"Email is not valid"}

如果有办法如何避免在null那里?

java json jaxb jersey

4
推荐指数
1
解决办法
1万
查看次数

Scala 模拟,MockFactory 预计会因“意外调用”而失败

我想按照这个文档-scalatestscala-mock嘲笑的功能并检查它是否已被称为

class AggregateSpec extends FlatSpec with Matchers with MockFactory {

 val data = Seq("This", "is", "something", "I", "would", "like", "to", "know")

"combop function" should "BE called for par collection" in {

    val mockCombop = mockFunction[Int, Int, Int]

    val parData = data.par

    val result: Int = parData.aggregate(0)(
      seqop = (acc, next) => acc + next.length,
      combop = mockCombop
    )

    result should === (31)
    mockCombop.expects(*, *).atLeastOnce()

  }
}
Run Code Online (Sandbox Code Playgroud)

结果:

> [info] - should BE called for …
Run Code Online (Sandbox Code Playgroud)

scala scalamock

4
推荐指数
1
解决办法
1565
查看次数

await()如何在游戏中发挥作用?

在playframework的文档,这里已被写入:

public static void loopWithoutBlocking() {
    for(int i=0; i<=10; i++) { 
         Logger.info(i);
         await("1s");
    }
    renderText("Loop finished");
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白它是如何工作的:

例如,当我们在第一个请求中调用方法i = 1,然后..解锁并等待..并且新请求转到方法然后它再次从i = 0开始?当第一次请求唤醒时,它会有i = 1或0或2?

它在这里没有使用任何有状态机制?比如在请求之间存储i ..

java playframework

3
推荐指数
1
解决办法
1905
查看次数

来自对象的奇怪类名的含义

object Initialization {

  def main(args: Array[String]): Unit = {

    val list = Traversable(1,2,4,5)

    //list.foreach(println)

    println( list.getClass.getSimpleName )

  }

}
Run Code Online (Sandbox Code Playgroud)

它打印$colon$colon,但我期待类似的东西List.这个不起眼的名字是什么意思?

scala

3
推荐指数
1
解决办法
96
查看次数

Haskell ['a'..'z']为法语

我想知道,如果这个

alph = ['a'..'z']
Run Code Online (Sandbox Code Playgroud)

回报我

"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

那怎么能返回法语字母呢?我可以以某种方式传递一个区域设置吗?

更新: 嗯)我知道英语和法语有相同的字母.但我的观点是,如果它们不一样,但以A开头,以Z结尾.很高兴有人类语言范围的支持.

至少有些语言带有本地化支持.

(只是尝试Haskell,读一本书)

haskell

3
推荐指数
1
解决办法
1269
查看次数

PlayFramework FakeRequest返回400错误

在路线:

POST        /login                  controllers.ApplicationCtrl.login()
Run Code Online (Sandbox Code Playgroud)

在控制器中:

  def login = Action(parse.json) { implicit request => {

    val email = (request.body \ "email").as[String]
    val password = (request.body \ "password").as[String]

     Ok(Json.toJson(
       Map("status" -> "OK",
        "message" -> "%s created".format(email))
      ))
}
Run Code Online (Sandbox Code Playgroud)

在测试中

 "login" in new WithApplication{

      val request = route( FakeRequest(
        Helpers.POST,
        controllers.routes.ApplicationCtrl.login.url,
        FakeHeaders(Seq(CONTENT_TYPE -> Seq("application/json"))),
        """ {"email" : "bob@mail.com", "password" : "secret"} """
      )).get

      status(request) must equalTo(OK)

    }
Run Code Online (Sandbox Code Playgroud)

当我使用命令行测试时:

curl --header "Content-type: application/json" --request POST --data '{"email" : "bob@mail.com", "password" : "secret"}' http://localhost:9000/login
Run Code Online (Sandbox Code Playgroud)

它得到了理想的回应. …

scala playframework-2.3

3
推荐指数
1
解决办法
1173
查看次数

vert.x在扩展方面是否存在事件总线的限制

试图了解的极限EventBusVert.x

有Vert.x实例以集群模式运行,因此有多个Verticles在多个物理计算机上运行。假设我们有2台机器,每台机器有10个顶点。

因此,在数量上:Vert.x群集模式下有1个实例20个Verticles实例(每台计算机10个)2台计算机,1个Event Bus

每秒有1000 000个连接进入事件总线,并处理回垂直连接。

如果2台计算机不够用,我仍然可以获得100台计算机,但是:

据我了解,事件总线(EB)处于瓶颈吗?由于EB是一种“沟通管道”的,因为它是一个对许多人来说,我想所有的,它会开始收集噪音来给它的所有事件(地址- >服务,酒吧子等),再加上它在节点间运行,是否会涉及NET通讯开销?如何缩放EB?我应该在乎吗?(或者Hazelcast集群应该照顾好这一切?)

我是否应该考虑Vert.x在100台计算机上创建1个实例(在群集模式下具有10个顶点)创建N个群集?

问:提出一个简单的问题,Event Bus在扩展方面是否有限制,我是否应该考虑使用N总线创建基础结构以确保系统得到正确扩展?

(尚未完成我的测试。)

hazelcast vert.x

3
推荐指数
1
解决办法
639
查看次数

Google PubSub 和来自 TOPIC 的重复消息

如何防止在 Google Cloud PubSub 中发生重复的 msg?

说,我有一个代码来处理它订阅的味精。

说,我有 2 个节点具有相同的服务,具有此代码。

一旦收到消息但尚未确认,另一个节点将收到相同的消息。这就是问题所在,我们有两个重复的 msgs

void messageReceiver(PubsubMessage pubsubMessage, AckReplyConsumer ackReply) {

        submitHandler.handle(toMessage(pubsubMessage))
                .doOnSuccess((response) -> {
                    log.info("Acknowledging the successfully processed message id: {}, response {}", pubsubMessage.getMessageId(), response);
                    ackReply.ack();  // <---- acknowledged
                })
                .doOnError((e) -> {
                    log.error("Not acknowledging due to an exception", e);
                    ackReply.nack();
                })
                .doOnTerminate(span::finish)
                .subscribe();
    }
Run Code Online (Sandbox Code Playgroud)

解决这个问题的方法是什么?这是正常行为吗?

java google-cloud-platform google-cloud-pubsub

3
推荐指数
2
解决办法
6870
查看次数

用于谷歌存储的静态网站的 Terraform 谷歌存储桶 - 403

试图为静态网站创建一个谷歌存储桶。

provider "google" {
  project = "myprojectname-123"
  credentials = "${file("storage-admin.json")}"
  region  = "us-central1"
  zone    = "us-central1-c"
}

resource "google_storage_bucket" "STANDARD" {
  name     = "mywebsite.com"
  storage_class = "STANDARD"
  location = "US"

  website {
    main_page_suffix = "index.html"
    not_found_page   = "404.html"
  }
}
Run Code Online (Sandbox Code Playgroud)

> 地形应用

googleapi:错误 403:您尝试创建的存储桶是另一个用户拥有的域名。,禁止

为 AWS找到了这个答案

问:是否可以从 Terraform for Google Cloud 创建以存储域为中心的存储/存储桶?

google-cloud-platform terraform

3
推荐指数
1
解决办法
488
查看次数