小编Oli*_*ier的帖子

如何修复损坏的 MySQL 表

当我尝试在 phpmyadmin 中添加用户帐户时,出现此错误:

Index for table 'global_priv' is corrupt; try to repair it

mysql corrupt

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

我们可以从很少的浮点数中得到多少种不同的总和?

有人刚刚问为什么sum(myfloats)不同sum(reversed(myfloats))。很快就被骗到浮点数学坏了吗?并删除。

但这让我很好奇:仅仅通过以不同的顺序求和,我们可以从很少的浮点数中得到多少个不同的总和?使用三个浮点数,我们可以得到三个不同的总和:

>>> from itertools import permutations
>>> for perm in permutations([0.2, 0.3, 0.4]):
        print(perm, sum(perm))

(0.2, 0.3, 0.4) 0.9
(0.2, 0.4, 0.3) 0.9000000000000001
(0.3, 0.2, 0.4) 0.9
(0.3, 0.4, 0.2) 0.8999999999999999
(0.4, 0.2, 0.3) 0.9000000000000001
(0.4, 0.3, 0.2) 0.8999999999999999
Run Code Online (Sandbox Code Playgroud)

我相信加法对于浮点数来说是可交换的(即a + b == b + a)。我们对第一对相加有三个选择,然后对第二个相加有一个“选择”,所以三个和是我们仅用三个值就能得到的最多结果。

我们可以得到三个以上具有四个值的不同总和吗?经过一些实验,我没有发现这样的情况。如果我们不能:为什么不呢?如果可以的话:有多少?有多少?

正如埃里克刚刚指出的,对于三个以上的值,除了从左到右求和之外,还有不同的可能性,例如(a+b) + (c+d)。我对任何添加数字的方式感兴趣。

注意我说的是 64 位浮点数(我是 Python 爱好者,我知道在其他语言中它们通常被称为双精度浮点数)。

math floating-point floating-accuracy ieee-754

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

计算无向图中满足 W - L >= K 的节点对数量

问题:

给定一个由 N 个节点和 N-1 个边组成的无向图。所有边的长度均为 1。每条边i 的权重为Wi(0 <= Wi <= 10.000)

该图保证没有任何循环。因此,两个节点之间始终存在一条(也是唯一的)最短路径。

从图中取出一对节点 (u, v):

  • l是两个节点之间的最短路径的长度
  • w是 2 个节点之间的最短路径中权重最大的边

给定数字K ,计算图中满足w - l >= K的 (u, v) 对的数量

例子:

N = 3, K = 1
Edges:
1 - 2 - 3
1 - 3 - 2
Run Code Online (Sandbox Code Playgroud)

(边描述为:u - v - w)

答案:6。所有可能的对是: (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)

暴力解决方案(N < 100): …

algorithm graph-theory undirected-graph

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

如何在 Android 中使用 JDK 11 HTTP 包

我是一名使用 J2EE 技术的 Web 应用程序开发人员。我广泛使用了 Oracle/OpenJDK 的 HTTP 包,因为我发现它们更适合开发。

https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
Run Code Online (Sandbox Code Playgroud)

今天,我希望使用相同的包用 Java 编写一个 Android 应用程序,但不知何故找不到它们。我也可以找到 OkHttpClient、Apache 的 HttpClient ,但我热衷于使用 OpenJDK 的 HTTPClient

当然有很多人建议使用 Apache 的 HTTPClient,但我并不是在寻找它。

java android java-http-client

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

使用 Spring Boot 和 MSSQL 下载文件

我正在使用 Spring Boot、JSP 和 MSSQL 上传和下载文件。我可以运行上传和下载功能,但从数据库下载的文件已损坏。谁能帮我这个?

这是我的春季版本

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.3-SNAPSHOT</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
Run Code Online (Sandbox Code Playgroud)

我的控制器

@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public ResponseEntity < Object > upload(@RequestPart(required = false) MultipartFile file) throws IOException {
    try {
        if (file != null) {
            tmDAO.storeFile(file, tm);
        }
        return new ResponseEntity < Object > ("success", HttpStatus.OK);
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

@RequestMapping("/downloadFile/{id}")
public String downloadFile(@PathVariable("id") String id,
    HttpServletResponse res) throws IOException {
    FileModel …
Run Code Online (Sandbox Code Playgroud)

java sql-server spring download spring-boot

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

制作具有行和列约束的随机存在/不存在矩阵(因此是布尔值)

我正在尝试在 R 中创建一个随机矩阵。它需要是一个存在/不存在矩阵,以便矩阵中的所有值都为 0 或 1。

但我还需要指定行和列总计,例如 5x5 表,其中

  • 行总计为 r1 = 4、r2 = 2、r3 = 3、r4 = 5、r5 = 3
  • 列总计为 c1 = 5、c2 = 1、c3 = 5、c4 = 2、c5 = 4

我希望使用r2dtable(),但我不认为你可以强制这个函数只使用0 和 1。我尝试过使用r2dtable()但最终得到的值高于 1。有什么想法吗?

random algorithm r constraints matrix

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

从 PHP 中查找 libwebp 版本 (Windows)

由于 1.3.2 版本之前的 libwebp 最近存在漏洞(CVE-2023-4863),我想找出 Windows 构建的 PHP(可在此处下载:https: //windows.php.net/)正在使用哪个 libwebp 版本。有什么办法可以查到版本吗?

我已经尝试在以下位置找到此版本:

  • phpinfo() - 只给出是否启用 webp 支持的信息
  • PHP 变更日志
  • DLL 中的文本
  • 调试符号中的文本
  • PHP SDK在构建PHP时下载的依赖项

但运气不好 - 我发现 libwebp 中的相关常量是MUX_MAJ_VERSIONMUX_MIN_VERSIONMUX_REV_VERSION,但这些常量不包含在调试符号中。

知道如何找到链接的 libwebp 版本,或者至少知道所使用的版本中是否存在漏洞?

php gd webp

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

将 Spring Security 配置迁移到 Spring Cloud 2022.0.4

我想将此 Spring 安全配置迁移到最新的 Spring Cloud:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerProperties;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
import org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint;
import org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter;
import org.springframework.security.oauth2.provider.token.DefaultTokenServices;
import org.springframework.security.oauth2.provider.token.TokenStore;
import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;

public class DefaultSecurityConfig extends ResourceServerConfigurerAdapter {

  @Autowired
  private ResourceServerProperties resource;

  @Autowired
  private CustomUserDataAuthenticationConverter customUserDataAuthenticationConverter;

  public DefaultSecurityConfig() {
  }

  @Override
  public void configure(final HttpSecurity http) throws Exception {

    http.authorizeRequests()
        .antMatchers("/configuration/**",)
        .permitAll();

    http.authorizeRequests().antMatchers("/**").authenticated();

    final OAuth2AuthenticationEntryPoint oAuth2AuthenticationEntryPoint =
        new CustomOAuth2AuthenticationEntryPoint();

    http.exceptionHandling().authenticationEntryPoint(oAuth2AuthenticationEntryPoint);
  }

  @Override
  public void configure(final ResourceServerSecurityConfigurer resources) {
    resources.tokenServices(tokenServices());
    resources.resourceId(resource.getResourceId());
  }

  private TokenStore customTokenStore() { …
Run Code Online (Sandbox Code Playgroud)

java spring-security spring-boot spring-oauth2

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

如何将虚拟线程与 ScheduledExecutorService 一起使用

我想使用Java 19和ScheduledExecutorService中引入的虚拟线程。我需要安排一些线程每分钟运行一次。我知道我可以使用这样的东西:ScheduledExecutorService executor = Executors.newScheduledThreadPool(100, Thread.ofVirtual().factory());但看起来我被迫设置池大小。

我正在寻找与此类似的织物方法:ScheduledExecutorService executor = Executors.newScheduledThreadPool(Thread.ofVirtual().factory()); 但我找不到它。我想遵循“每个任务一个虚拟线程”原则,而不是被迫在池中设置固定数量的线程。你知道我是否可以以这种方式使用 ScheduledExecutorService 吗?或者存在一些适合虚拟线程的替代方案?

更新

让我详细说明我试图解决的问题。所以我需要创建1000多个任务(我不知道确切的数字,我只能估计)。应该定期运行。有些需要每分钟运行一次,有些需要每两分钟运行一次,等等。

这些任务将执行 I/O 操作(网络请求)。所以虚拟线程看起来是一个不错的选择。但我需要一些调度功能来实现它。通过选择 ScheduledExecutorService 我可以使用以下方法: scheduledThreadPoolExecutor.scheduleAtFixedRate(runnableTask, 60, 60, TimeUnit.SECONDS )

如果我不需要调度,我只需创建一个像这样的执行器:var executor = Executors.newVirtualThreadPerTaskExecutor() 但是普通的 ExecutorService 不提供任何调度功能。我将被迫自己实施调度。

所以现在我找到的最好的解决方案是:Executors.newScheduledThreadPool(1000, Thread.ofVirtual().factory()); 这通常看起来不错,但我想知道Java API中是否存在其他解决方案,它允许我创建ScheduledExecutor,但我不会被迫设置线程池的大小。当我们考虑虚拟线程时,这对我来说看起来有点奇怪。

java multithreading executorservice

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

使用 Spring Boot 版本 3.X 和 Java 17 实现 SAML2

我正在将当前的 Spring Security SAML 扩展项目升级到 SAML2 身份验证。我发现一个问题,我的示例现有安全配置看起来像现有安全配置

答案中提到了 Spring 的官方文档。但是,我想通过一些工作示例更好地了解新实现中代码的哪一部分被哪一部分替换。

请帮忙。提前致谢。

java spring-security saml saml-2.0 spring-boot

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