小编Zur*_*iar的帖子

scala用于与Future一起使用的良率理解.如何等到未来回来?

我有一个提供Context的函数:

def buildContext(s:String)(request:RequestHeader):Future[Granite.Context] = {
    .... // returns a Future[Granite.Context]
}
Run Code Online (Sandbox Code Playgroud)

然后我有另一个函数,它使用Context来返回一个Option [Library.Document]:

def getDocument(tag: String):Option[Library.Document] = {
   val fakeRequest = play.api.test.FakeRequest().withHeaders(CONTENT_TYPE -> "application/json")

   val context = buildContext(tag)(fakeRequest)

   val maybeDoc = context.getDocument //getDocument is defined on Granite.Context to return an Option[Library.Document]

}
Run Code Online (Sandbox Code Playgroud)

如果Future已经返回,这段代码将如何考虑?我已经看到/ yield曾经等待返回,但我总是认为for/yield只是将事情拼凑在一起并且与等待Futures返回没有任何关系.我有点卡在这里,并不是真的没有正确的问题要问!

scala

7
推荐指数
2
解决办法
7097
查看次数

莱恩在哪里存放Maven文物?

当我运行时,lein在哪里存储从maven下载的各种Jars:

lein deps
Run Code Online (Sandbox Code Playgroud)

谢谢

clojure leiningen

6
推荐指数
1
解决办法
308
查看次数

如何使用已删除的私钥停止 SSH 工作

在 Ubuntu 14.04 上,我有一个私钥:

~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

我已经在我想要连接的服务器上安装了公钥,实际上,当我运行以下命令时,我确实按预期连接:

ssh me@my-server-ip.com
Run Code Online (Sandbox Code Playgroud)

然后我删除了客户端上的私钥,但运行上述命令仍然可以连接我。这让我相信 SSH 二进制文件正在某种守护进程模式下运行,其中它将私钥缓存在内存中?那是对的吗?如果不重新启动,我如何“刷新”SSH 以停止使用私钥。谢谢

ssh

6
推荐指数
1
解决办法
1977
查看次数

golang项目是如何打包部署的?

来自JVM背景我想知道如何将golang项目部署到生产中.是否有等效的JAR文件?

是否有可以安装在服务器上的独立程序包管理器和可以运行的依赖性清单文件,以降低服务器上的所有依赖项.我特别不想在服务器上构建项目,因为我们在生产盒上没有任何编译器等.

谢谢.

go

6
推荐指数
1
解决办法
4243
查看次数

为什么使用DOCKER_OPTS =" - iptables = false"会破坏docker-compose的DNS发现?

当我将此行添加到我的/ etc/default/docker时

DOCKER_OPTS="--iptables=false"
Run Code Online (Sandbox Code Playgroud)

然后DNS不再有效.由docker启动的一组容器不再能够找到彼此:

version: '2'
services:
    elasticsearch:
       image: elasticsearch:latest
       volumes:
          - ./esdata:/usr/share/elasticsearch/data
    kibana:
       image: kibana:latest
       environment:
          - ELASTICSEARCH_URL=http://elasticsearch:9200
Run Code Online (Sandbox Code Playgroud)

设置iptables = false时,上述操作停止.kibana容器无法"找到"elasticsearch容器.但是当删除(和docker引擎重新启动)时,这很好.

为什么是这样?

(更重要的是,当使用ufw时,为什么iptables = false不是默认设置?)

谢谢

docker docker-compose

6
推荐指数
1
解决办法
9465
查看次数

Clojure是否相同?如果被比较的东西实际上是同一个实例,函数只返回true?

我想

(identical? x y)
Run Code Online (Sandbox Code Playgroud)

如果x和y都是同一个实例,则只返回true?那么这个怎么样:

(def moo 4)
(def cow 4)

(identical? moo cow)
true
Run Code Online (Sandbox Code Playgroud)

然而我认为moo和cow都是整数'4'的独立实例?是什么赋予了?

clojure

5
推荐指数
1
解决办法
165
查看次数

消费者在卡夫卡消费消息的方式有哪些?

如果在网络的某处"那边"有一个Kafka服务器,我会假设消费者可能有两种消费方式:

  1. 通过首先"订阅"主题并实际告诉Kafka服务器它正在监听的位置,以便在生成新消息时,Kafka主动通过网络将消息发送给消费者.

  2. 消费者必须使用当前消息的偏移量来轮询Kafka服务器以询问任何新消息.

这是Kafka的工作原理,是可配置的选项吗?

apache-kafka

5
推荐指数
1
解决办法
3365
查看次数

Ring和Pedestal之间的关系是什么 - 我需要知道Ring才能使用Pedestal吗?

我被引导相信Pedestal是Ring的替代品但是从我看到Pedestal实际上使用Ring的所有例子.这是最令人困惑的!我是否需要了解并了解Ring的工作原理才能有效地使用Pedestal.从本质上讲,Pedestal"站在Ring的肩膀上"还是打算完全取代它?

clojure ring pedestal

5
推荐指数
1
解决办法
556
查看次数

更新List的最后一个元素

我有一个清单

val first = List("A","B","C","D")
Run Code Online (Sandbox Code Playgroud)

我想从它创建一个新列表,但只更改最后一个元素:

val newLastVal = "E"
val second = List("A","B","C","E")
Run Code Online (Sandbox Code Playgroud)

无法想出这一个!提前致谢

collections scala list scala-collections

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

这个unicode角色是什么 - 你'\ xf1'?

什么是这个unicode字符u'\ xf1'

网上是否有查找表?我见过表,但我无处可搜索这个字符并得到实际的表示.

谢谢

unicode

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