当我在 Java 中有使用流的代码时,intellij 会显示有关流结果的类型提示。
我想禁用这些提示
使用以下代码的示例:
Stream.of (1, 2. 3)
.map (n -> n + 1)
.map (n -> n % 2 == 0 ? "even number " + n : "odd number " + n)
.peek (System.out:println)
.map (s -> Float.parseFloat (s.substring (s.lastIndexOf (" "))))
;
Run Code Online (Sandbox Code Playgroud)
我已经关闭了其他参数的工具提示,但流后的提示仍然存在。它们在视觉上非常分散我的注意力,同时为我提供很少的额外信息。
如果我知道如何更改提示的颜色或样式,我也会很高兴(我安装了 Material Theme UI)
默认情况下unique_subject
设置为yes
,这会阻止您使用相同的专有名称签署多个证书。尝试签署此类证书将导致出现以下错误消息。
failed to update database
TXT_DB error number 2
Run Code Online (Sandbox Code Playgroud)
然而,允许重复 DN 有一个明确的用例,即为依赖方颁发具有延长到期日期的证书。例如,一个网站的证书需要在几个月后刷新([1]中已经提出了类似的论点)。在不更改设置的情况下,如果吊销现有证书,则只能颁发具有相同 dn 的新证书。但您可能想给网站所有者一段宽限期,在此期间两个证书都有效。我遇到的唯一其他选择是更改 dn 中与证书不太相关的内容(例如 OU)[2]。
openssl 文档 [3] 有一个条目,unique_subject
其中建议选择默认值以便与旧版本兼容。该页面还提到应设置此值no
以使 ca 翻转更容易。这对我来说值no
是完全可以的,也许应该是默认值。
可以找到对此属性的许多参考,并且通常建议将此值设置为no
(在 openssl.cnf 和 index.txt.attr 文件中)[1、2、3、4,等等]。我只发现一个地方有人建议将其保留yes
或至少不太关心其实际价值[5]。但是,在那条线索中,只给出了一个空白的声明:
For the use case of a VPN, as EasyRSA was originally intended, the current setting is
best.
Run Code Online (Sandbox Code Playgroud)
是吗?为什么?
我了解该选项的作用以及如何使用它。我找不到的是早期违约的合理性yes
。
openssl ca 是否尝试使用此默认值解决一些安全问题?
颁发两个具有相同 dn 的证书有哪些风险?
设置时有哪些需要遵循的做法吗unique_subject=no
?
是否有充分的理由将该值保留为默认设置?
简而言之,是否有支持阻止具有相同 dn 的多个有效证书的论点?
[1] https://github.com/OpenVPN/easy-rsa/issues/40#issuecomment-56191531
[2] https://serverfault.com/a/810608 …
gradle 命令有一堆标志来自定义其环境 [1]。其中有--build-file
和--settings-file
。但我似乎无法让他们按照我期望的方式工作。
我期望以下内容能够发挥作用
$ cat <<-EOF > alt-settings.gradle
rootProject.name = 'custom-name'
EOF
$ cat <<-EOF > alt-build.gradle
task test { /* ... */ }
EOF
$ gradle \
--settings-file alt-settings.gradle \
--build-file alt-build.gradle \
tasks --all
Run Code Online (Sandbox Code Playgroud)
但这会引发异常
Build file './alt-build.gradle' is not part of the build defined by settings file './alt-settings.gradle'. If this is an unrelated build, it must have its own settings file.
Run Code Online (Sandbox Code Playgroud)
如果我--settings-file
从上面的命令中省略,事情就会起作用,并且 gradle 会启动alt-build.gradle
。
出了什么问题,我该如何解决这个问题?
gradle
理想情况下,我希望即使在 settings.gradle …
我目前正在尝试按照此处所述解决此问题:
http://uva.onlinejudge.org/external/1/113.pdf
计划是实现一个递归函数来推导出解决方案。这里的一些代码来自用于确定第 n 个根的 Rosetta 代码。
// Power of Cryptography 113
import java.util.Scanner;
import java.math.BigDecimal;
import java.math.RoundingMode;
// k can be 10^9
// n <= 200
// p <= 10^101
class crypto {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
// Given two integers (n,p)
// Find k such k^n = p
int n = in.nextInt();
BigDecimal p = in.nextBigDecimal();
System.out.println(nthroot(n,p));
}
}
public static BigDecimal nthroot(int n, BigDecimal A) {
return nthroot(n, …
Run Code Online (Sandbox Code Playgroud)