小编And*_*mov的帖子

nginx ingress&rewrite-target

我有一个响应对/ api /的请求的pod

我想对/ auth/api /请求/ api /的请求进行重写.

使用Ingress(nginx),我认为使用ingress.kubernetes.io/rewrite-target:annotation我可以这样做:

__CODE__

然而,正在发生的是/ auth /被传递到服务/ pod并且正确地抛出了404.我一定是误解了重写注释.

有没有办法通过k8s和ingresses做到这一点?

nginx kubernetes

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

克隆如何比对象创建具有更多性能

我试图理解java中clone()方法下面发生了什么,我想知道如何做一个新的调用

public class Person implements Cloneable {

    private String firstName;
    private int id;
    private String lastName;

    //constructors, getters and setters

    @Override
    protected Object clone() throws CloneNotSupportedException {
        Person p = (Person) super.clone();
        return p;
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的克隆代码我想知道底下发生了什么,以及新呼叫之间有什么区别因为.

这是我的客户端代码

    Person p = new Person("John", 1, "Doe");
    Person p2 = null;
    try {
         p2 = (Person) p.clone();
    } catch (CloneNotSupportedException ex) {
        Logger.getLogger(clientPrototype.class.getName()).log(Level.SEVERE, null, ex);
    }
    p2.setFirstName("Jesus");
    System.out.println(p);
    System.out.println(p2);
Run Code Online (Sandbox Code Playgroud)

java performance clone cloneable

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

原型与 Flyweight设计模式

我需要找出Prototype DP和Flyweight DP之间的一些区别我知道基本的区别在于前者制作了深层拷贝.而这封信是共同的对象.我的讲师说有更多的分歧.

有人知道其他人吗?

design-patterns flyweight-pattern prototype-pattern

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

如何更新 Gradle 中的依赖项

任何人都可以告诉我如何maven install -U在 gradle 中执行类似(更新依赖项)的操作吗?

我有问题,我已向我的 build.gradle 文件添加了新的依赖项

dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile("org.springframework.boot:spring-boot-starter-security")
    runtime('com.h2database:h2')
    testCompile('org.springframework.boot:spring-boot-starter-test') 
}
Run Code Online (Sandbox Code Playgroud)

新的依赖项是:

compile("org.springframework.boot:spring-boot-starter-security")
Run Code Online (Sandbox Code Playgroud)

在构建或项目同步期间,我的 IntelliJ(版本 14)甚至没有尝试下载这个新的依赖项(我正在使用 gradle 版本 2.5)

在 Maven 项目中,IntelliJ 有类似下载 Maven 依赖项的功能。但对于 Gradle 我没有看到这样的事情。这就像我的项目的样子

任何人都可以告诉我为什么我没有像 Maven 一样在项目列表中看到任何 *.jar 吗?

在此输入图像描述

java intellij-idea gradle maven

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

是否可以在@BeforeClass注释方法中运行Android Espresso单元测试?

我在使用检测的Android单元测试中使用JUnit4 @BeforeClass注释时遇到了问题(我正在使用Espresso GUI测试库).一旦我添加了带@BeforeClass注释的测试,Android Studio 1.5.1就不会运行任何测试,而只是打印"空测试套件".我没有使用测试套件.我搜索了这个网站和网站,但找不到解决方案.我认为在@BeforeClass方法中调用的代码实际上失败(TDD)可能是一个问题,但是当在正常测试用例中工作的代码放入带@BeforeClass注释的方法时,甚至会发生此错误.

谢谢.

更新:检查logcat输出后,正如一位评论者建议的那样,问题似乎是问题是没有启动任何活动:没有找到任何活动.你忘了调用启动活动getActivity()startActivitySync或类似的?

我该怎么做?我不能使用该ActivityTestRule字段,因为带@BeforeClass注释的方法是静态的.

也许我只是@BeforeClass以错误的方式使用注释.我的印象是你可以使用这个注释在测试类中的所有其他测试之前执行测试.我基本上是在寻找TestNG注释的替代品"dependsOnMethods".也许我最好@FixMethodOrder(MethodSorters.NAME_ASCENDING)在测试类上使用注释并将第一个测试用例重命名为aaa_my_testcase.

有人可以对此发表评论吗?谢谢.

重新提出问题的标题.

import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;

import org.junit.BeforeClass;
import org.junit.FixMethodOrder;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;

import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.Espresso.pressBack;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.isEnabled;
import static …
Run Code Online (Sandbox Code Playgroud)

java junit android android-studio android-espresso

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

从scala.concurrent.Future抛出异常

我试图重现这个问题如何获得Scala Future中抛出的异常?使用scala.concurrent.Future和我期待被吞下的例外,但它似乎没有发生.任何解释?

import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global

def runWithTimeout[T](timeoutMs: Long)(f: => Future[T]) : T = {
  Await.result(f, timeoutMs.millis)
}

runWithTimeout(50) { Future { "result" } }

runWithTimeout(50) { Future { throw new Exception("deliberate") } }
Run Code Online (Sandbox Code Playgroud)

scala future

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

如何在java中下载文件?

我尝试了几个while循环方法和下面的方法:

try {
     URL dl = null;
     dl = new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip");
     ReadableByteChannel rbc = Channels.newChannel(dl.openStream());
     FileOutputStream fos = new FileOutputStream(fileName + "Screenshots.zip");
     fos.getChannel().transferFrom(rbc, 0, 1 << 24);
     System.out.println(fos.getChannel().size());
     fos.close();
     rbc.close();
 } catch (Exception e) {
     e.printStackTrace();
 }
Run Code Online (Sandbox Code Playgroud)

}

但这些方法不是非常有效/快速.我发现了apache Utils和我正在使用的

 IOUtils.copy(new URL("http://ds-forums.com/kyle-tests/uploads/Screenshots.zip").openStream(), new FileOutputStream(System.getProperty("user.home").replace("\\", "/") + "/Desktop/Screenshots.zip"));
Run Code Online (Sandbox Code Playgroud)

但这是最好的方法吗?我现在很困惑哪种方法最适合下载压缩文件26mb.(上面的文件只有1mb我正在测试方法)

我只想问别人是否遇到过这个问题,也许他们可以帮助我.谢谢.

java apache-commons

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

特定包的 Gradle 日志记录级别

如何指定某些 java / groovy 包的日志记录级别?例如,在log4j中,它是这样完成的:

log4j.logger.com.foo.package=WARN
Run Code Online (Sandbox Code Playgroud)

因为调用gradle --debug会产生太多输出。

logging slf4j gradle

6
推荐指数
0
解决办法
260
查看次数

H2 添加多列 MySQL 语法

我有下表:

CREATE TABLE users (
  id   INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(256)
);
Run Code Online (Sandbox Code Playgroud)

我想在一个查询中添加多个列。我在测试中经常使用 H2,但在生产中我使用 MySQL。两者都使用相同的 DDL 脚本。

H2 和 MySQL 是否有允许添加多列的通用语法?

MySQL语法:

ALTER TABLE users
  ADD `col1` INT,
  ADD `col2` INT,
  ADD `col3` INT
  AFTER id;
Run Code Online (Sandbox Code Playgroud)

H2语法:

ALTER TABLE users
  ADD (
    `col1` INT,
    `col2` INT,
    `col3` INT
  ) AFTER `id`;
Run Code Online (Sandbox Code Playgroud)

如果有帮助,我的 H2 JDBC URL 是:

// note MODE=MYSQL in the end
jdbc:h2:users;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
Run Code Online (Sandbox Code Playgroud)

本次讨论的范围内应用了 H2 补丁。

编辑:

当然,我可以使用这种语法(这对于大表来说太可怕了)并且我必须管理这些AFTER语句以保存列顺序:

ALTER TABLE `users`
  ADD `col1` INT AFTER `id`; …
Run Code Online (Sandbox Code Playgroud)

mysql sql alter-table h2 alter

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

在 Makefile 目标中定义局部变量

如何在Makefile目标中定义局部变量?

我想避免重复文件名,例如:

zsh:
    FILENAME := "text.txt"
    @echo "Copying ${FILENAME}...";
    scp "${FILENAME}" "user@host:/home/user/${FILENAME}"
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

FILENAME := "text.txt"
/bin/sh: FILENAME: command not found
Run Code Online (Sandbox Code Playgroud)

与相同$(FILENAME)

zsh:
    export FILENAME="text.txt"
    @echo "Copying ${FILENAME} to $(EC2)";
Run Code Online (Sandbox Code Playgroud)

给我一个空值:

Copying ...
Run Code Online (Sandbox Code Playgroud)

makefile gnu-make

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