小编Edd*_*ddy的帖子

Clojure关闭

前几天我试图在Clojure中提出一个关闭的例子.我想出了以前见过的例子并认为这是合适的.

唉,我被告知这不是一个好的,我应该提供一些东西.

任何人都能解释一下吗?

(defn pow [x n] (apply * (repeat x n)))
(defn sq [y] (pow y 2))
(defn qb [y] (pow y 3))
Run Code Online (Sandbox Code Playgroud)

clojure

19
推荐指数
3
解决办法
8564
查看次数

与CompletableFuture的Spring @Async

我对这段代码有疑问:

@Async
public CompletableFuture<String> doFoo() {
    CompletableFuture<String> fooFuture = new CompletableFuture<>();  

    try {
        String fooResult = longOp();
        fooFuture.complete(fooResult);
    } catch (Exception e) {
        fooFuture.completeExceptionally(e);
    }

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

问题是:doFoo仅在longOp完成后(正确或异常)返回fooFuture,因此返回已经完成的期货,或者Spring在执行主体之前做了一些魔法并返回?如果代码在longOp()上被阻塞,你会如何表达计算被送到执行程序?

也许这个?还有其他方法吗?

@Async
public CompletableFuture<String> doFoo() {

    CompletableFuture<String> completableFuture = new CompletableFuture<>();
    CompletableFuture.runAsync(() -> {
        try {
            String fooResult = longOp();
            completableFuture.complete(fooResult);
        } catch (Exception e) {
            completableFuture.completeExceptionally(e);
        }
    });
    return completableFuture;
}
Run Code Online (Sandbox Code Playgroud)

spring completable-future

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

angular-translate ad ng-options

我正在尝试翻译选择下拉列表,我不喜欢我这样做的方式,因为它很麻烦,它绕过了整个角度转换框架.

区域设置数据看起来像{"lang":{"label":"text","select":{"k1":"var1","k2":"var2"}}}如果我选择"选择"在控制器范围内的成员,我可以在select的ng-options中写一些类似"k as for(k,v)in scopedvar"的内容.

基本上我喜欢翻译来做语言解决,然后开始退出并返回我的选项的本地化地图.如果它有意义,例如:"k为v(for,k,v)in'select'| translate",但当然不会.

有没有人面临(并解决)此问题?

TIA,Edoardo

ng-options angular-translate

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

OpenAPI 生成器的 Gradle 配置

当将 OpenAPI 生成器与 Gradle 一起使用时,我希望将性别源发送到其他源生成器插件使用的标准目录。类似 Maven 生成源的东西。

\n\n

到目前为止,我还无法做到这一点,特别是限制生成 Java 源类而不是整个 \xe2\x80\x9carchetype 项目\xe2\x80\x9d。

\n\n

看来 OpenAPI Gradle 插件工作流程与 Maven 的工作流程并不相同。

\n\n

是否有一个配置标志可以省略所有非java代码的生成,并在\xe2\x80\x9c generated resources\xe2\x80\x9d文件夹(例如/out/product/ generated/)中执行此操作?

\n

java openapi-generator

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

我在这段代码上得到了一个StackOverFlowException,因为我的JVM不支持尾调用优化,对吧?

我得到了StackOverflowException这个Java方法:

private static final Integer[] populate(final Integer[] array, final int length, final int current) {

    if (current == length) {
        return array;
    } else {
        array[current] = TR.random.nextInt();
        System.out.println(array[current]);
        return populate(array, length, current + 1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在玩尾调用递归,所以我猜这是当JVM没有将堆栈短路时会发生什么?

java stack-overflow tail-recursion tail-call-optimization

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

注册多个 Jackson 转换器

我正在尝试配置 Jackson objectMapper 来处理从一个类似 Map 的 DTO 到中间域 POJO 的转换,以及从那里到另一个类似 Map 的 DTO 的转换。

如果我手动实例化所有StdConverter<FromMap, POJO>StdConverter<POJO, ToMap>它就会按预期工作。

如何使用自定义转换器配置 ObjectMapper?

java jackson-databind

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

Vagrant 不断创建不需要的网络接口

我正在创建一个 VM 定义,我想在盒子的主界面上指定一个“private_network”(eth0,它是 Linux)

尽管只有一个 config.vm.network 语句,但我一直在 eth1 上设置所需的网络,而 eth0 则从我从未定义过的 10.0.2.0/24 子网中分配了一个 IP。

我怎样才能防止这种情况并在 eth0 上设置我想要的 192.168.xy/24?

最好的,爱德华多

vagrant

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