小编Buk*_*gey的帖子

为什么我不应该在PHP中使用mysql_*函数?

为什么一个人不应该使用mysql_*功能的技术原因是什么?(例如mysql_query(),mysql_connect()mysql_real_escape_string())?

即使他们在我的网站上工作,为什么还要使用其他东西?

如果他们不在我的网站上工作,为什么我会收到错误

警告:mysql_connect():没有这样的文件或目录

php mysql database

2432
推荐指数
12
解决办法
21万
查看次数

Docker 私有注册表:x509:由未知机构签名的证书

我正在尝试设置一个私有 docker 注册表,由反向 nginx 代理保护,该代理通过客户端证书验证用户。

我收到的错误是:

x509:由未知权威机构签署的证书

根据文档,您应该能够将证书添加到 /etc/docker/certs.d/ 中,我已经这样做了。Docker 似乎看到了证书的位置:

EBU[0015] 调用 POST /v1.24/images/create?fromImage=docker.squadwars.org%2Froster&tag=latest DEBU[0015] hostDir: /etc/docker/certs.d/docker.squadwars.org DEBU[0015]证书:/etc/docker/certs.d/docker.squadwars.org/client.cert DEBU[0015] 密钥:/etc/docker/certs.d/docker.squadwars.org/client.key DEBU[0015] crt: /etc/docker/certs.d/docker.squadwars.org/docker.squadwars.org.crt DEBU[0015] 主机目录:/etc/docker/certs.d/docker.squadwars.org DEBU[0015] 证书:/etc /docker/certs.d/docker.squadwars.org/client.cert DEBU[0015] 密钥:/etc/docker/certs.d/docker.squadwars.org/client.key DEBU[0015] crt:/etc/docker /certs.d/docker.squadwars.org/docker.squadwars.org.crt DEBU[0015] 尝试从https://docker.squadwars.org v2 WARN[0015] 获取 v2 时出错注册表:获取https://docker.squadwars.org/v2/:x509:由未知机构签名的证书错误 [0015] 错误后尝试拉取下一个端点:获取https://docker.squadwars.org/v2/:x509 :由未知机构签署的证书

我还尝试将证书文件从 mydomain.org 重命名为“ca.crt”,调试日志再次显示它看到了该文件,但没有任何效果。

我可以像这样使用curl:

curl --key client.key --cert client.cert https://docker.squadwars.org/

我还可以将 --cacert 选项添加到curl,无论哪种方式都有效。

docker 文档说,如果仍然有问题,您应该在操作系统级别添加证书。我已经按照说明这样做了:

(这可能就是为什么我不需要 -cacert 和curl,尽管我很困惑,因为我已经删除了证书,但curl仍然有效)

这让我发疯,任何帮助将不胜感激!

编辑:我忘了补充一点,最初我的证书 FQDN 是错误的,但现在是“docker.squadwars.org”

docker

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

如何抑制龙目岛警告

我有一个实体

@Builder
class MyEntity {
   private Set<OtherEntitiy> children = new HashSet<>()
}
Run Code Online (Sandbox Code Playgroud)

而且我收到龙目岛警告。

警告:@Builder将完全忽略初始化表达式。如果要将初始化表达式用作默认表达式,请添加@ Builder.Default。如果在构建期间不应设置该字段,请将该字段定为最终字段。设置=新的HashSet <>();

问题是:我该如何抑制龙目岛的警告?

也。我需要初始化子级,因为我想避免NullPointerException。我也不能将其标记为最终文件,因为它实际上不是最终文件。我无法标记为已归档,@Builder.Default因为我不仅要使用builder来创建该实体,而且想保存其他构造函数的默认值。

java lombok java-annotations

7
推荐指数
1
解决办法
3940
查看次数

如何从 MessageCollector 接收带有对象负载而不是字符串的 GenericMessage

我尝试通过spring-cloud-stream使用测试消息发送和接收MessageCollector

当我对流云使用本机 java 序列化时一切正常,但是当我将序列化更改为 json 时,MessageCollector 返回带有string有效负载而不是SomeObject有效负载的GenericMessage 。

配置是

  cloud.stream.default.contentType=application/json 
Run Code Online (Sandbox Code Playgroud)

测试用例:

    Message outMsg = new GenericMessage<SomeObject>(new SomeObject(1));
    someChannel.send(outMsg);
    GenericMessage<SomeObject> inMsg = (GenericMessage<SomeObject>) messageCollector.forChannel(someChannel).poll();

    Assert.assertTrue(inMsg.getPayload() instanceof SomeObject);
Run Code Online (Sandbox Code Playgroud)

因此,断言是错误的。inMsg包含字符串负载(字符串包含 SomeObject 的有效 json 表示)。

我的问题是:我如何GenericMessage从 SomeObject接收有效载荷MessageCollector

生产环境工作正常,无需显式映射到SomeObject.

java spring spring-messaging spring-cloud spring-cloud-stream

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

如何以功能样式从Arrow进行测试

我想使用Either测试获得的结果。假设我有一个简单的示例,没有一个

@Test
fun `test arithmetic`() {
    val simpleResult = 2 + 2
    Assertions.assertEquals(4, simpleResult)
}
Run Code Online (Sandbox Code Playgroud)

现在我包装了结果:

@Test
fun `test arithmetic with either`() {
    val result : Either<Nothing, Int> = (2 + 2).right()
    Assertions.assertTrue(result.isRight())
    result.map { Assertions.assertEquals(4, it) }
}
Run Code Online (Sandbox Code Playgroud)

我想它看起来有点丑陋,因为如果我们得到了最后的断言,Either.Left而不是Either.Right 如何执行,该如何断言如何以函数样式正确地测试结果?

junit functional-programming either kotlin arrow-kt

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

如何在没有元组的情况下映射 2 个任一值

我需要取 2 个值,每个值都是 ,Either<Throwable, Any>如果每个值都是 ,则将它们组合在一起(或执行其他操作)Right

因为arrow-kt 0.11.0这是可能的tupled

tupled(
     "Hello".right(), 
     "Word".right()
).map { params ->
     println(params.a + params.b) //go to map ONLY IF a and b are always right
}
Run Code Online (Sandbox Code Playgroud)

但由于arrow-kt 0.12tupled 已被弃用,取而代之的是 Kotlin 的 Pair 和 Triple,所以我可以t figure out how to achieve the same without tupled`。

kotlin arrow-kt

0
推荐指数
1
解决办法
429
查看次数