小编t_s*_*gub的帖子

使用JAX-RS在REST API中进行错误处理

任务:不是HTTP 500 Internal Server Error在我的堆栈跟踪中接收常规,而是在客户端使用相同的可怕堆栈跟踪,我希望看到我的自定义消息与另一个状态代码(403例如),对于开发人员来说,它会更清楚,发生了什么.并向用户添加一些关于异常的消息.

以下是我的应用程序中的几个更改的类:

服务器部分:

AppException.class - 我的所有服务器响应异常(在回馈客户端之前)我想转换为此异常.有点标准实体类

public class AppException extends WebApplicationException {

Integer status;

/** application specific error code */
int code;

/** link documenting the exception */
String link;

/** detailed error description for developers */
String developerMessage;

public AppException(int status, int code, String message, String developerMessage, String link) {
    super(message);
    this.status = status;
    this.code = code;
    this.developerMessage = developerMessage;
    this.link = link;
}

public int getStatus() {
    return status; …
Run Code Online (Sandbox Code Playgroud)

java rest spring jax-rs jersey

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

如何在Jenkins中更改文件夹图标

我知道有一个插件可以帮助您更改作业图标或添加自己的图标。但是,如何更改Jenkins中的文件夹图标?

我正在使用“文件夹插件”,并且只有:“默认”,“ Github组织头像”和“ Github存储库图标”。有一些可以帮助我的插件吗?

jenkins jenkins-plugins

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

简单例子的多态性

我想我已经开始理解这个话题了,但并不是完全理解.有人可以通过这个例子向我解释:

public class Solution
{
    public static void main(String[] args)
    {
        Cow cow = new Whale();

        System.out.println(cow.getName());
    }

    public static class Cow
    {
        public String getName()
        {
            return "Im cow";
        }
    }

    public static class Whale extends Cow
    {
        public String getName() {
            return "Im whale";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

什么是这个叫什么区别:

Cow cow = new Whale();
System.out.println(cow.getName());
Run Code Online (Sandbox Code Playgroud)

还有这个:

Whale whale = new Whale();
Run Code Online (Sandbox Code Playgroud)

的System.out.println(whale.getName());

我会有相同的输出,但在什么情况下,或者当我们应该调用Cow类的方法,以及什么时候形成Whale类.对不起,如果我给出了太愚蠢或太简单的例子.我希望你没有理解我想说的话.提前致谢.

java oop polymorphism

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

在 GPU 支持下对高维数据进行更快的 Kmeans 聚类

我们一直在使用 Kmeans 来对日志进行聚类。典型的数据集有 10 mill。具有 100k+ 特征的样本。

为了找到最佳 k - 我们并行运行多个 Kmeans,并选择轮廓得分最佳的一个。在 90% 的情况下,我们最终得到的 k 介于 2 到 100 之间。目前,我们使用 scikit-learn Kmeans。对于这样的数据集,在具有 32 个内核和 244 RAM 的 ec2 实例上进行集群大约需要 24 小时。

我目前一直在研究更快的解决方案。

我已经测试过的:

  1. Kmeans + Mean Shift组合- 好一点(对于 k=1024 --> ~13h),但仍然很慢。

  2. Kmcuda库 - 不支持稀疏矩阵表示。需要约 3TB RAM 才能将该数据集表示为内存中的密集矩阵。

  3. Tensorflow ( tf.contrib.factorization.python.ops.KmeansClustering() ) - 今天才开始调查,但要么我做错了什么,要么我不知道如何烹饪它。在我使用 20k 样本和 500 个特征进行的第一次测试中,单个 GPU 上的集群比单线程 CPU 上的集群慢。

  4. Facebook FAISS - 不支持稀疏表示。

我的列表中的下一个是 PySpark MlLib Kmeans。但它在 1 个节点上有意义吗?

在多个 GPU 上更快地训练我的用例吗?例如,带有 8 个 Tesla …

cluster-analysis machine-learning k-means pyspark tensorflow

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

如何逐层调试docker pull?

[情况] 这样我们就有了这个docker镜像。与所有其他图像一样,它由几个层组成。一旦我们发现,在 期间docker pull image:v42,两个特定层需要很长时间才能下载,有时甚至会挂起几分钟。

不知何故,我想调试并找出 Dockerfile 的哪一部分位于这两层中。执行后docker history image-id甚至使用Dive后,我发现层摘要与终端中显示的摘要完全不同docker pull。甚至各层的大小也不同。

[问题] 有没有办法将这些“docker历史”摘要与“docker pull”摘要相关联?或者说我怎样才能找到这些层中下载的内容?

[ ps ]我想到的唯一可能有帮助的事情是注释掉整个 Dockerfile,开始逐行取消注释并用每一个新行构建一个映像。最后,我会被这些层绊倒。但一定有更好的方法。不?

更新(2020 年 9 月 12 日 | Docker 19.03.12):我们发现在无根模式下运行 Docker 会使拉取时间加倍。即 5GB 镜像 docker 以 root 身份拉取 --> ~4 分钟。并以无根模式 docker pull --> ~9-10 分钟。大部分时间用于下载这 2 层并提取所有层。

docker dockerfile

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