小编Has*_*san的帖子

如何使用Unirest for Java获取对象列表?

我可以使用Unirest来获取我自己的类的对象,如下所示:

HttpResponse<Item> itemResponse = Unirest.get("http://localhost:8080/item").asObject(Item.class);
Run Code Online (Sandbox Code Playgroud)

我也可以将类型参数设置为List,这确实给了我一个哈希映射列表,但我想得到一个项目列表.这可能吗?

java unirest

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

如何让Label在SWT中继承Composite的GC

我正在编写一个应用程序,我们的设计师希望在我们的一些复合材料上使用渐变来表示某些背景.

我写了以下代码:

composite.addListener (SWT.Paint, new Listener () {
    public void handleEvent (Event e) {
            GC gc = e.gc;
            Rectangle rect = composite.getClientArea ();
            Color color1 = new Color (display, 0, 0, 0);
            Color color2 = new Color (display, 255, 255, 255);
            gc.setForeground(color1);
            gc.setBackground(color2);
            gc.fillGradientRectangle (rect.x, rect.y, rect.width, rect.height , true);

        }
    });
Run Code Online (Sandbox Code Playgroud)

这会在复合材料上绘制渐变,但我们在复合材料上面有Label/CLabels,Canvases和Links.

在这些区域中,背景只是绘制空白画布时的纯灰色.

我试过强制标签继承背景,如下所示:

label.setBackgroundMode(SWT.INHERIT_DEFAULT) //SWT.INHERIT_FORCE Doesn't work either
Run Code Online (Sandbox Code Playgroud)

但是这给我留下了相同的默认灰色,并且在Composite顶部的组件后面没有渐变.

有关将渐变作为每个元素的背景的建议吗?

我不反对将Gradient绘制到提供图像的gc上,然后将背景设置为该Image.然而,该方法根本没有工作,复合或其任何元素.

另外,根据我的知识,我不可能单独设置渐变.我们希望整个复合材料是一个均匀的流动梯度.

[edit]我在这里上传了一个例子到twitpic.

谢谢,

Brian Gianforcaro

java user-interface swt

8
推荐指数
1
解决办法
7226
查看次数

是否存在Java的通用或"胖"类文件?

一个胖二进制是可在多个架构上运行的二进制.基本上,它由一个编译两次的程序组成,每个架构一次,然后写入同一个文件.可能最着名的例子是Apple的"通用"二进制文件,允许为英特尔和Power PC架构编译程序,并从相同的可执行文件运行.

这对Java来说从来都不是问题,因为Java在JVM上运行,允许它从任何支持JVM的计算机运行.但是,Android现在非常流行,Android的VM(Dalvik)与JVM不兼容.有没有办法编译代码两次,并创建一个可以由JVM和Dalvik执行的类文件?如果没有,这甚至可能吗?

java android dalvik fat-binaries

8
推荐指数
1
解决办法
462
查看次数

当我使用Java 8特定代码时,Jetty无法使用ArrayIndexOutOfBoundsException加载

我在嵌入式Jetty Web服务器中使用Jersey.除了一个非常具体的案例外,一切都运作良好.我有一个用户列表,当客户端到POST/ user时,我想将用户添加到列表中.没问题,除非我想检查现有用户删除具有相同用户名的任何用户(以便更新用户).

@POST
public void createUser(User user) {
    // The first line causes the failure:
    InventoryServer.getUsers().removeIf(e -> e.getUsername().equals(user.getUsername()));
    InventoryServer.getUsers().add(user);
    InventoryServer.save();
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当这条线存在时,Jetty甚至不会启动.它给了我一个ArrayOutOfBoundsException.我在异常时调试了程序,似乎它发生在方法中SignatureParser.current().网上有几个人提到,当你使用名为asm的库运行Java 8字节代码时会发生这种情况,当然,我发现它是jetty-server的依赖.我无法更新它,因为最新版本的Jetty需要旧版本的asm.

我想解决方案就是不使用任何Java 8特有的功能,但这似乎是一个非常不完整的解决方案.有没有办法解决这个问题并继续使用Java 8?

这是堆栈跟踪:

java.lang.ArrayIndexOutOfBoundsException: 207
    at org.objectweb.asm.ClassReader.readUTF(ClassReader.java:1976)
    at org.objectweb.asm.ClassReader.readUTF8(ClassReader.java:1951)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:515)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:425)
    at org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:167)
    at org.glassfish.jersey.server.ResourceConfig.scanClasses(ResourceConfig.java:850)
    at org.glassfish.jersey.server.ResourceConfig._getClasses(ResourceConfig.java:808)
    at org.glassfish.jersey.server.ResourceConfig.getClasses(ResourceConfig.java:723)
    at org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1120)
    at org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.<init>(ResourceConfig.java:1093)
    at org.glassfish.jersey.server.ResourceConfig.createRuntimeConfig(ResourceConfig.java:1089)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:275)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:262)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:167)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:349)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:626)
    at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:405)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259) …
Run Code Online (Sandbox Code Playgroud)

java jetty java-8

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

如何防止PHP的HTML输出显示在浏览器中?

我对PHP很新,所以我怀疑是一个愚蠢的错误.我四处寻找有类似问题的人,却找不到任何问题.

所以我有一个PHP文件应该从模板输出一些HTML(通过Smarty).我没有看到Chrome中呈现的HTML,而是看到HTML文本本身.这是我正在使用的PHP代码:

<?php

header("Content-type: text/html; charset=utf-8");

ob_start();
include_once '../api/get_article.php';
$a_json = ob_get_clean();
$data = json_decode($a_json, true);

require('./libs/Smarty.class.php');

$smarty = new Smarty();
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c';

$smarty->assign("title_text",$data['title']);

$smarty->display('content.tpl');

?>
Run Code Online (Sandbox Code Playgroud)

我认为这是编码问题,但我确保所有内容都使用UTF-8(即MYSQL,HTTP标头和模板文件).还有什么呢?

html php smarty

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

如何计算矩阵的梯度以在R中绘制矢量场?

我环顾四周,但我能找到的是如何找到矩阵的导数diff(d),其中d是矩阵.这不会给我矢量,只是一堆标量.我不太确定如何处理这些问题.

我想找到一种方法来计算整个表面中由矩阵表示的几个点处的梯度.该梯度可以显示为矢量场.这里有一个关于在R中制作矢量场的问题,但我不知道如何计算梯度.

编辑:我将尝试详细说明我正在寻找的东西.假设我有一个这样的矩阵:

     X0 X1.5 X3.1 X4.3 X5.9 X7.3 X8.6 X9.8  X11 X12.3 X13.6 X14.9 X16.4 X17.9 X20
 [1,]  0  1.4  3.0  4.5  6.0  7.3  8.6  9.7 10.9  12.2  13.4  14.9  16.4  18.1  20
 [2,]  0  1.6  3.2  4.9  6.4  7.6  8.7  9.6 10.6  11.8  13.2  14.7  16.4  18.1  20
 [3,]  0  1.7  3.5  5.2  7.0  8.3  9.0  9.4  9.9  11.1  12.7  14.6  16.3  18.2  20
 [4,]  0  1.8  3.7  5.8  8.0  9.3  9.3 …
Run Code Online (Sandbox Code Playgroud)

r

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

Safari 的自动完成功能破坏了我网站上的表单

我的网站上有一个表单,它恰好有一个电子邮件字段,后跟一个密码字段。Safari 正在填写它们,就好像它们是登录表单一样,而实际上并非如此。之前在电子邮件输入中设置的值被删除,这是一个问题,并且 Safari 输入的用户名不是有效的电子邮件,这会破坏表单。

我尝试添加autocomplete="off",但 Safari 只是忽略它。我如何说服它这不是登录屏幕,并请停止干预?

编辑:我只是尝试移动表单的顺序以帮助 Safari 意识到它不是登录表单,它仍然填写它,即使密码字段在最顶部,电子邮件字段在最底部(下 5 个字段)。

html browser forms autocomplete

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

在Scala中尝试Haskell样式的惰性求值时出现堆栈溢出错误

为了练习,我在Scala中编写了一些无用的方法/函数.我正在尝试实现斐波纳契序列函数.我在Haskell中编写了一个用作参考(因此我不会最终编写Java风格).我在Haskell中提出的是:

fib a b = c : (fib b c)
   where c = a+b
Run Code Online (Sandbox Code Playgroud)

然后我可以这样做:

take 20 (fib 0 1)
[1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946]
Run Code Online (Sandbox Code Playgroud)

所以我尝试将其翻译成Scala:

def fib(a:Int, b:Int):List[Int] = {
  val c = a+b
  c :: fib(b,c)
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用它时,我收到了堆栈溢出错误.有什么我需要做的事情来让懒惰的评估在Scala中工作吗?

haskell scala lazy-evaluation

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

如何直接访问显卡的输出?

显卡通常是否将其输出写入内存中我可以访问的某个位置?我必须使用驱动程序吗?如果是这样,我可以使用 OpenGL 吗?

我想知道是否有可能在 Linux 上“捕获”可以直接访问 GPU 并运行 Windows 的 VM 的输出。理想情况下,我可以直接从内存访问输出,而无需接触 GPU,因为此代码将能够在 Linux 主机上运行。

另一种选择是编写一个 Windows 驱动程序,它读取 GPU 的输出并将其写入内存中的某个位置。然后,在 Linux 端,程序可以读取此内存。这似乎有些不可能,因为我不确定如何让主机上的进程与来宾上的进程共享内存。

是否可以执行选项 1 并简单地从内存中读取输出?

c graphics gpu

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

如何让 Terraform 中的 Docker 提供程序在尝试连接之前等待地址可用?

我在 Terraform 中有以下资源:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
}
Run Code Online (Sandbox Code Playgroud)

这依赖于在ipv4_address连接到 docker 机器之前要知道的值。在供应另一个资源之前,该值是未知的:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
}
Run Code Online (Sandbox Code Playgroud)

当我运行时terraform plan,出现以下错误:

错误:初始化 Docker 客户端时出错:无法解析 docker 主机``

在 docker.tf 第 1 行,在提供者“docker”中:1:提供者“docker”{

它似乎ipv4_address是空的,因为 docker 插件在配置之前尝试连接到 docker 机器。我如何告诉它在尝试连接之前等待机器配置?


我尝试过的一件事:

provider "docker" {
    host = "tcp://${digitalocean_droplet.docker_server.ipv4_address}:2376/"
    depends_on = [
        digitalocean_droplet.docker_server.ipv4_address,
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到此错误:

错误:提供程序块中的保留参数名称

在 docker.tf 第 4 行,在提供者“docker”中:4:depends_on = [

提供程序参数名称“depends_on”保留供 Terraform 在未来版本中使用。

但是阅读更多内容depends_on,我认为无论如何这都不是解决方案。

terraform terraform-remote-state terraform-provider-docker

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