小编Mar*_*pel的帖子

Mono vs CompletableFuture

CompletableFuture在单独的线程上执行任务(使用线程池)并提供回调函数.假设我有一个API调用CompletableFuture.那是一个API调用阻塞吗?线程是否会被阻塞,直到它没有得到API的响应?(我知道主线程/ tomcat线程将是非阻塞的,但是CompletableFuture任务正在执行的线程呢?)

据我所知,单声道完全没有阻挡.

如果我错了,请详细说明并纠正我.

java reactive-programming project-reactor completable-future

10
推荐指数
2
解决办法
1735
查看次数

从Spring调试服务器发送的事件

根据Spring文档,当返回a时Flux,Spring应该为订阅返回的每个元素发出一个服务器发送的事件。

这是一个示例性的REST控制器:

package myapp.controller;

import myapp.MyOutput;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

@RestController
@RequestMapping("/api/v1/test")
@Api(tags = "Test API")
public class TestController {

    @ApiOperation(
        value = "Test",
        response = MyOutput.class,
        produces = MediaType.TEXT_EVENT_STREAM_VALUE
    )
    @RequestMapping(
        value = "",
        method = RequestMethod.PATCH,
        produces = MediaType.TEXT_EVENT_STREAM_VALUE
    )
    @ApiResponses(
        value = {
            @ApiResponse(code = 200, message = "Service execution successful"),
            @ApiResponse(code = 400, message …
Run Code Online (Sandbox Code Playgroud)

java spring project-reactor spring-webflux

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

Bootstrap-Vue:使元素填充剩余空间

我在 Bootstrap-Vue 应用程序中有以下层次结构:

<b-navbar.../>

<b-container >
    <b-row align-v="center" style="min-height:100vh">
      <b-col style="align-items:center">
            <h1>404 Error</h1>
            <p>The page you have requested does not exist.</p>
      </b-col>
    </b-row>
</b-container>
Run Code Online (Sandbox Code Playgroud)

<b-navbar .../>元素没有固定的高度,而是根据其中的元素进行缩放。

有没有一种方法可以让容器的内容填充剩余的视口而无需<b-navbar .../>手动计算高度,因此 404 文本始终位于剩余空间的中间?目前,当我展开导航栏时,404 文本将移向并经过视口的下边缘。

html css twitter-bootstrap vue.js vuejs2

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

使用git的IntelliJ上的Scala:.gitignore应该是什么样子?

注意:此问题特定于Scala项目。我希望Scala可以在IntelliJ中进行编译并成功运行,而无需进行任何事先配置。

我已经使用IntelliJ IDEA创建了一个包含Scala示例的测试项目,并将其发布到GitHub。

项目结构如下所示:

项目结构

我目前.gitignore看起来像这样:

*.class
*.log
target/
.idea/
project/
Run Code Online (Sandbox Code Playgroud)

这将导致一个如下所示的存储库:

GitHub存储库结构

现在,我正在尝试做的是:

拥有Scala示例代码很酷,但是我也想将此项目用作带有IntelliJ的Scala项目的模板。

因此,如何最好地更改我的.gitignore文件,以便每当克隆项目时,都可以使用IntelliJ打开它并使一切正常工作?当然,这不包括目标目录,因此每当我克隆项目时都需要重新编译该项目。

git scala intellij-idea gitignore sbt

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

配置单元CSV行定界符配置

使用Hive在CSV文件上创建外部表时,您可以使用Hive内部CSV Serde:

...
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '...'
TBLPROPERTIES('serialization.null.format'='')
Run Code Online (Sandbox Code Playgroud)

或OpenCSV Serde:

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ( "separatorChar" = " ", "quoteChar" = '"', "escapeChar" = "\\" )
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我有这样的CSV文件:

foo,bar,hello\rworld\rbaz,1\n
foo,bar,bye\rworld\rbaz,2\n
foo,bar,hi\rworld\rbaz,3\n
foo,bar,goodbye\rworld\rbaz,4\n
Run Code Online (Sandbox Code Playgroud)

如何配置行结尾为\n和忽略\r-将其保留为字段的一部分?


编辑:

->尝试使用LINES TERMINATED BY '\r\n'以下错误时:

org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException 3:20 LINES TERMINATED BY only supports newline '\n' right now. Error encountered near token ''\r\n''
Run Code Online (Sandbox Code Playgroud)

csv hive

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

意外的取消信号和 503 响应代码

当使用 Spring Webflux 处理我的反应式 REST 端点时,我意识到,如果返回的内容Publisher在大约 30 秒内没有完成,它将被取消并返回响应代码 503。

我还没有在任何地方看到这种行为的记录。

REST 控制器示例:

package myapp.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Mono;

import javax.servlet.http.HttpServletRequest;
import java.time.Duration;

@RestController
public class TestAlationIndexingRestController {

    @RequestMapping(
        value = "/test",
        method = RequestMethod.GET
    )

    public Mono<String> test(HttpServletRequest request) {

        return Mono.delay(Duration.ofMinutes(2)).thenReturn("Late");
    }
}

Run Code Online (Sandbox Code Playgroud)

响应:503 无响应内容

我的问题:如何禁用此行为,或者至少增加超时?

注意:我尝试使用应用程序属性server.connection-timeout: -1,但server.connection-timeout: 15没有成功 - 请求在 30 秒多一点后仍然超时。


我正在使用 Spring Boot 依赖项(版本2.1.6-RELEASE):

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId> …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-webflux

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

Oracle APEX:将图像缩放到屏幕

我想缩放保存在共享组件中的图像,使其右侧恰好位于屏幕的右端。

这怎么可能?

我正在使用 Oracle APEX 5.1。

oracle image oracle-apex oracle-apex-5.1

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

有条件地使用类似构建器的函数

假设这种情况:

我有一个Tuple大小n.每个元素都是一个Boolean标志,用于定义是否应在对象上调用特定函数(此处为:) builder.

我首先想到的语法是:

(el1, el2, el3, ...) => {
   val builder = MyBuilder()

   val builder1 = if(el1) builder.func1(...) else builder
   val builder2 = if(el2) builder1.func2(...) else builder1
   val builder3 = if(el3) builder2.func3(...) else builder2
   ...
}
Run Code Online (Sandbox Code Playgroud)

最后一个构建器builderN将是所需的对象.但这段代码很讨厌.

什么是一个好的,干净的选择?(注意:我正在使用cats.)

表示我的问题的另一种方式是:

val result = MyBuilder.
   .func1(...) //ONLY if el1!
   .func2(...) //ONLY if el2!
   .func3(...) //ONLY if el3!
   ....
   .funcn(...) //ONLY if el4!
Run Code Online (Sandbox Code Playgroud)

编辑:修复示例代码!

functional-programming scala

3
推荐指数
1
解决办法
89
查看次数

Keras:准确率保持为零

我正在尝试使用 Keras 进入机器学习领域。

我不是数学家,我对神经网络的工作原理只有基本的了解(哈哈明白了吗?),所以请对我宽容点。

这是我当前的代码:

from keras.utils import plot_model
from keras.models import Sequential
from keras.layers import Dense
from keras import optimizers
import numpy

# fix random seed for reproducibility
numpy.random.seed(7)

# split into input (X) and output (Y) variables
X = []
Y = []
count = 0

while count < 10000:
    count += 1
    X += [count / 10000]
    numpy.random.seed(count)
    #Y += [numpy.random.randint(1, 101) / 100]
    Y += [(count + 1) / 100]
print(str(X) + ' ' + str(Y)) …
Run Code Online (Sandbox Code Playgroud)

python python-3.x keras

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

Scala:Int 到 BigDecimal 的转换?

我偶然发现了这个问题,但无法在任何地方找到解决方案。

如何BigDecimalIntScala 2.12 中的an获取 a ?

就我而言,这种转换简单明了。为什么我找不到它的实现?

scala type-conversion

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