小编pay*_*yne的帖子

Postgres 精简 Docker 镜像仅包含“psql”客户端

我正在寻找一个 Docker 映像,该映像仅具有使用shell 中的客户端调用外部 Postgres 数据库所需的所有组件psql。我不需要本地启动数据库或任何东西。

我发现了jbergknoff/postgresql-client,我还没有测试过,但我最惊讶的是似乎没有任何官方图像。

目前我正在使用postgres:12-alpine,但它只是作为 Kubernetes 中启动的 CronJob 的一部分,它负责通过调用 Postgres 函数每隔一段时间触发一次对某些表的清理。

有人有什么可以推荐的吗?或者有什么见解可以分享?

postgresql psql docker

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

Git 混淆(“更新”和“拉取”)

我对如何正确使用 IntelliJ 的 VCS 选项感到有些困惑。

我们正在开发一个 Git 存储库,我想了解如何以尽可能少的步骤执行以下操作:

  1. 暂存并提交(提示我输入“提交消息”)
  2. 拉/推和合并(如果冲突不在同一行,则自动解决在同一类中发生的冲突)

事实上,如果两个不同的人在同一个班级工作,有时如果两个人没有在班级的同一部分工作,显然应该接受合并。然而到目前为止,我总是不得不指定我希望在这些情况下发生合并的方式。

我已经阅读了一些关于“更新”选项的内容,但我不确定我是否真的理解它到底做了什么。它执行拉取和合并吗?

git intellij-idea

9
推荐指数
1
解决办法
7265
查看次数

正确设置 SonarQube 的代码覆盖率

我在使用 Maven 的 SpringBoot 后端应用程序服务器上使用 JUnit5。这是sonar-project.properties位于项目根目录的文件:

sonar.host.url=https://sonarcloud.io
sonar.login=xxx
sonar.organization=xxx
sonar.projectKey=xxx

sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.source=12

sonar.sources=src/main/java
sonar.test=src/test
sonar.java.binaries=target/classes
sonar.junit.reportPaths=target/test-results/TEST-**.xml
Run Code Online (Sandbox Code Playgroud)

我使用sonar-scanner命令行在构建/测试后运行更新项目。

Overviewsonar-cloud 上的板子是这样的:

概述

我至少让单元测试得到认可,但不知何故,我在代码覆盖率方面仍然处于 0%。此外,这是Measures董事会:

措施

显然,我的测试不包括任何行。现在,我知道这意味着我很可能没有正确连接测试结果,但我不知道该怎么做。

同样让我感到困惑的是,尽管 SonarQube 识别出我的测试,但它实际上说测试本身的代码行没有经过测试。这是什么意思?

测试测试?

java code-coverage spring-boot sonarqube junit5

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

为什么`parallelStream` 比`CompletableFuture` 实现更快?

我想在某个操作上提高后端 REST API 的性能,该操作按顺序轮询多个不同的外部 API 并收集它们的响应并将它们全部扁平化为一个响应列表。

最近刚刚了解了CompletableFutures,我决定试一试,并将该解决方案与仅将 my 更改stream为 a 的解决方案进行比较parallelStream

这是用于基准测试的代码:

    package com.alithya.platon;

    import java.util.Arrays;
    import java.util.List;
    import java.util.Objects;
    import java.util.concurrent.CompletableFuture;
    import java.util.concurrent.TimeUnit;
    import java.util.stream.Collectors;
    import org.junit.jupiter.api.AfterEach;
    import org.junit.jupiter.api.BeforeEach;
    import org.junit.jupiter.api.Test;


    public class ConcurrentTest {

        static final List<String> REST_APIS =
                Arrays.asList("api1", "api2", "api3", "api4", "api5", "api6", "api7", "api8");
        MyTestUtil myTest = new MyTestUtil();
        long millisBefore; // used to benchmark

        @BeforeEach
        void setUp() {
            millisBefore = System.currentTimeMillis();
        }

        @AfterEach
        void tearDown() {
            System.out.printf("time taken …
Run Code Online (Sandbox Code Playgroud)

java benchmarking java-stream completable-future

9
推荐指数
1
解决办法
1161
查看次数

二进制(像素化)图像中的基本模式识别

下面是这种图像的裁剪示例(关于11x9像素)(最终实际上是所有大小28x28,但存储在内存中作为组件784阵列展平)我将尝试应用该算法:

样本图像

基本上,我希望能够识别何时出现这种形状(红线用于强调像素的分离,而周围的黑色边框用于更好地勾勒出StackOverflow白色背景下的图像):

样品形状

它的方向无关紧要:它必须沿水平和垂直轴的任何可能的表示(旋转和对称)检测(因此,例如,不应考虑45°旋转,也不应考虑对角线对称:例如,仅考虑90°,180°和270°旋转.

在我第一次呈现的图像上有两种解决方案,但只需要找到一种(忽略白色区域周围的灰色模糊):

第一个例子突出了

拿这个样本(这也表明图像中的白色图形并不总是被黑色像素完全包围):

例2

该函数应返回True,因为存在形状:

突出形状

现在,显然有一个简单的解决方案:

使用变量,例如pattern = [[1,0,0,0],[1,1,1,1]],生成其变体,然后沿着图像滑动所有变体,直到找到完全匹配,此时整个事物就停止并返回True.

然而,在最坏的情况下,对于单个图像来说,8*(28-2)*(28-4)*(2*4)大约需要40000次操作,这看起来有点矫枉过正(如果我做了我的快速计算).

我猜测使这种天真的方法变得更好的一种方法是首先扫描图像,直到我找到第一个白色像素,然后开始寻找比该点早4行和4列的模式,但即便如此似乎不够好.

有任何想法吗?也许这种功能已经在某些库中实现了?我正在寻找一种能够击败我天真的方法的实现或算法.

作为旁注,虽然是一种黑客,但我猜这是可以卸载到GPU的那种问题,但我没有太多经验.虽然它不是我正在寻找的主要内容,但如果您提供答案,请随意添加与GPU相关的注释.

python algorithm image image-processing python-3.x

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

使用`kill`来触发父母的`waitpid`

我正在使用sigaction(SIGTSTP, &ctrlz_signal, NULL);以确保我能抓住Ctrl-Z.

void ctrlz_signal(int sigNo) {
    printf("Caught Ctrl-Z  |  curr_chld=%d\n", CURR_CHILD);
    if(CURR_CHILD != 0) kill(CURR_CHILD, SIGTSTP);
}
Run Code Online (Sandbox Code Playgroud)

CURR_CHILD 通过分叉设置:

    sigaction(SIGTSTP, &ctrlz_signal, NULL);

    int         status;
    CURR_CHILD = fork();


    if (CURR_CHILD < 0) {
        // ...

    } else if (CURR_CHILD == 0) {  // child
        // exec(...)

    } else {  // back in parent
        waitpid(CURR_CHILD, &status, 0);  // wait for child to finish
        // ...
    }
Run Code Online (Sandbox Code Playgroud)

它似乎成功地停止了子进程,但它不会触发父进程waitpid.当我使用这个kill功能时,我会想到会向父母发送一个信号,但似乎不是因为我的"shell"卡在那条waitpid线上.

我如何做到这一点,一旦Ctrl-Z按下,运行exec …

c shell posix

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

PHP无法在我的浏览器中运行?

可能重复:
PHP脚本未在浏览器上运行

我正在尝试使用PHP,并且非常新.我正试着用一个简单的你好世界计划来测试水域.我试过这样的:

<html>
<body>

<h>Php File</h>

<?php echo "hello world";?>

<p>Did it work?</p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后在我的浏览器中打开html文件(目前为chrome).只有这样做了吗?部分显示在浏览器中.不是我想要运行的实际PHP内容.想法?

我也试过了

<html>
<body>

<h>Php File</h>

<form action="helloworld.php" method="post"></form>

<p>Did it work?</p>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

作为一个html文件,然后在名为helloworld.php的文件中运行以下php脚本

<html>
<body>

<?php
echo "hello world";
?>

</body>
</html>  
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么它们都不起作用.请帮助我通过这个简单的部分,这样我就可以得到更多的东西!

php

5
推荐指数
3
解决办法
8万
查看次数

提示“是否要将以下文件添加到Git?”是什么意思 到底是做什么的?

我一直按“否”,但 GitHub Desktop 仍将其列为正在上演并准备提交。我的搭档他使用命令提示符而不是 GitHub Desktop,并且一直按“是”并报告相同的行为(文件被提交)。

那么这条提示信息究竟有什么作用呢?

注意:我们都使用 IntelliJ,这是提示我们此消息的应用程序。

编辑:为了清楚起见,添加下面的屏幕截图。绿色项是我在提示中选择“是”的结果,红色项是我在提示中选择“否”的结果。我们可以看到它们都出现在 GitHub Desktop 应用程序中。问题是:这个提示有什么作用?

提示

提示后 - 显示结果

Git 状态

编辑:当前设置:

IntelliJ IDEA 2018.1(社区版)构建 #IC-181.4203.550,构建于 2018 年 3 月 26 日 JRE:1.8.0_152-release-1136-b20 amd64 JVM:JetBrains sro 的 OpenJDK 64 位服务器虚拟机 sro10001

GitHub 桌面 1.2.6

编辑:现在将 IntelliJ 更新到最新版本:

IntelliJ IDEA 2018.1.6(社区版)Build #IC-181.5540.7,于 2018 年 7 月 11 日构建 JRE:1.8.0_152-release-1136-b39 amd64 JVM:JetBrains sro10 Windows 的 OpenJDK 64 位服务器 VM。

这是gitstatus(但两个文件仍列在 GitHub Desktop 中,因为已准备好提交)的屏幕截图:

最新版 IntelliJ 截图

git intellij-idea github-desktop

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

Keras“适合”输入不清楚

我正在尝试将尺寸图像(350x350x3)作为输入形状提供,并且我想训练网络输出(1400x1400x3)图像(4 倍放大)。

我的训练数据集由 8 张图像组成1400x1400x3,我翻转这些图像以获得总共 32 张图像进行验证。

然后,我将这 32 张图像缩小以350x350x3获得输入图像,这些图像将与其他 32 张图像进行交叉验证。

print(type(validateData))
print(validateData.shape)
print(type(validateData[0].shape))
print(validateData[0].shape)
Run Code Online (Sandbox Code Playgroud)

返回

<class 'numpy.ndarray'>
(32,)
<class 'tuple'>
(1400, 1400, 3)
Run Code Online (Sandbox Code Playgroud)

而且,类似地:

print(type(trainingData))  # <class 'numpy.ndarray'>
print(trainingData.shape)  # (32,)
print(type(trainingData[0].shape))  # <class 'tuple'>
print(trainingData[0].shape)  # (350, 350, 3)
Run Code Online (Sandbox Code Playgroud)

所以当我做

model.fit(trainingData,
          validateData,
          epochs=5,
          verbose=2,
          batch_size=4)  # 32 images-> 8 batches of 4
Run Code Online (Sandbox Code Playgroud)

我到底应该提供什么作为.fit函数的两个第一个参数?

照原样,我收到此错误:

ValueError: Error when checking input: expected input_1 to have 4 dimensions, but got …
Run Code Online (Sandbox Code Playgroud)

neural-network python-3.x keras tensorflow

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

在 Tensorboard 上显示图像(通过 Keras)

我的X_test是 128x128x3 图像,我的Y_test是 512x512x3 图像。我想在每个纪元之后显示输入(X_test)的外观、预期输出(Y_test)的外观以及实际输出的外观。到目前为止,我只知道如何在 Tensorboard 中添加前 2 个。这是调用回调的代码:

model.fit(X_train,
          Y_train,
          epochs=epochs,
          verbose=2,
          shuffle=False,
          validation_data=(X_test, Y_test),
          batch_size=batch_size,
          callbacks=get_callbacks())
Run Code Online (Sandbox Code Playgroud)

这是回调的代码:

import tensorflow as tf
from keras.callbacks import Callback
from keras.callbacks import TensorBoard

import io
from PIL import Image

from constants import batch_size


def get_callbacks():
    tbCallBack = TensorBoard(log_dir='./logs',
                             histogram_freq=1,
                             write_graph=True,
                             write_images=True,
                             write_grads=True,
                             batch_size=batch_size)

    tbi_callback = TensorBoardImage('Image test')

    return [tbCallBack, tbi_callback]


def make_image(tensor):
    """
    Convert an numpy representation image to Image protobuf.
    Copied from https://github.com/lanpa/tensorboard-pytorch/
    """
    height, …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow tensorboard

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