小编Nov*_*ata的帖子

反应惯用的方式来更新状态中的地图对象

我正在使用Map类。

我有这样的状态:

{
    rows: new Map([])
}
Run Code Online (Sandbox Code Playgroud)

每一行代表表中的一个条目。我想以线程安全的方式独立和异步更新每一行。

当每次修改都是这样的时,执行 setState 的惯用 React 方式是什么(假设“fooId”已经插入到 Map 中):

const rows = this.state.rows;
const row = rows.get("fooId");
row.status = '75%';

this.setState({
    rows: rows
});
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

Mongodb 通过连接字符串强制只读

有没有办法通过连接字符串强制与 mongodb 的连接为只读?我不想在每个环境中创建只读用户来运行一些我想确保不会更改数据库的测试

connection-string readonly mongodb

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

在Java中并行或异步下载多个文件

在这里,我试图一个接一个地下载多个文件:

环境-Java 1.6

public List<Attachment> download(List<Attachment> attachments)
{
  for(Attachment attachment : attachments) {
    attachment.setDownStatus("Failed");
    String destLocation = "C:\Users\attachments";
    try {
        String attUrl = attachment.getUrl();
        String fileName = attachment.getFileName();            
        URL url = new URL(attUrl);
        File fileLocation = new File(destLoc, fileName);
        FileUtils.copyURLToFile(url, fileLocation);
        if(fileLocation.exists()) {
           attachment.setDownStatus("Completed");
         }
       } catch(Exception e) {
          attachment.setDownStatus("Failed");
       } finally {
          attachment.setDestLocation(destLocation);
       }
   }
  return attachments;
}
Run Code Online (Sandbox Code Playgroud)

我正在从提供的URL(http://cdn.octafinance.com/wp-content/uploads/2015/07/google-hummingbird.jpg)下载文件。

FileUtils.copyURLToFile(url, fileLocation);
Run Code Online (Sandbox Code Playgroud)

上面的代码完美地完成了下载工作,没有任何问题。

我的问题:
如果附件列表更多,则将花费更多时间,因此我想使其成为异步或并行过程,而不是顺序下载。

java multithreading asynchronous file java-6

4
推荐指数
2
解决办法
3250
查看次数

如何在 AKS 上使用 kubectl 设置 kube-proxy 设置

我一直在阅读为 kube-proxy 提供参数的文档,但没有解释应该如何使用这些参数。我使用az aks createazure-cli 程序创建集群,然后获取凭据并使用 kubectl。到目前为止,我所做的一切都涉及用于服务和部署等的 yaml,但我无法弄清楚所有这些 kube-proxy 的东西在哪里适合所有这些。

我已经谷歌搜索了好几天。我已经使用 AKS 在 github 上打开了问题问题。我在 kubernetes slack 频道上问过,但没有人回应。

kubernetes kubectl azure-aks

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

testReport destinationDir 在 gradle 7.4.2 中已弃用,那么如何设置它?

task<TestReport>("testReport") {
    destinationDir = file("$buildDir/reports/allTests")
}
Run Code Online (Sandbox Code Playgroud)

这显然已被弃用,但在这种情况下,弃用消息对我来说没有意义。我现在应该如何设置这个值?

    /**
     * Sets the directory to write the HTML report to.
     *
     * <strong>This method will be {@code @Deprecated} soon, please use {@link #getTestResults()} instead to access the new collection property.</strong>
     */
    public void setDestinationDir(File destinationDir) {
        DeprecationLogger.deprecateProperty(TestReport.class, "destinationDir").replaceWith("destinationDirectory")
            .willBeRemovedInGradle8()
            .withDslReference()
            .nagUser();
        getDestinationDirectory().set(destinationDir);
    }
Run Code Online (Sandbox Code Playgroud)

junit gradle deprecation-warning

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

如何从 Java 11 上运行的 Jenkins 卸载 ruby​​-runtime 插件

ruby-runtime 已弃用,并且当 Jenkins 在 Java 11 上运行时无法初始化 Jenkins 插件 UI 没有在初始化失败时卸载插件的按钮。这导致了我想消失的垃圾日志。那么,如何正确手动卸载像 ruby​​-runtime 这样的插件呢?

我在 Ubuntu 18.04 上通过 apt 安装运行 Jenkins

ubuntu jenkins jenkins-plugins

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

超线程处理器核心可以在同一时间执行两个线程吗?

我很难理解超线程.如果逻辑核心实际上不存在,那么使用超线程有什么意义呢?在维基百科的文章指出:

对于物理上存在的每个处理器核心,操作系统寻址两个虚拟(逻辑)核心,并在可能的情况下共享它们之间的工作负载.

如果两个逻辑内核共享相同的执行单元,这意味着其中一个线程必须被保持而另一个执行,这就是说,我不明白超线程如何有用,因为你是实际上没有引入新的执行单元.我无法绕过这个

multithreading cpu-architecture multiprocessing hyperthreading

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