小编Dmi*_*san的帖子

如何对 StepVerifier 中的所有剩余元素执行断言?

StepVerifier 有一个assertNext方法允许对下一个元素的值执行断言。

    StepVerifier.create(dataFlux)
            .assertNext(v -> checkValue(v)
            .verifyComplete();
Run Code Online (Sandbox Code Playgroud)

对每个剩余元素执行断言的好方法是什么(例如检查每个元素是否为正)?我希望有类似assertEveryNextElement方法的东西。

java unit-testing project-reactor

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

RxAndroid:创建简单的 Hot Observable

我正在创建一个 Observable,它在订阅时发出整数。我现在的实现是这样设置的,所以订阅它的行为从一开始就触发了生成,如下所示:

private Observable createObservable() {
    return Observable.create (
        new Observable.OnSubscribe<Integer>() {

            @Override
            public void call(Subscriber<? super Integer> sub) {

                for (int i = 1; i < MAX_PROGRESS + 1; i++) {
                    sub.onNext(i);
                    SystemClock.sleep(1000);
                }
                sub.onCompleted();
            }
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

我的理解是这是一个冷 Observable。我希望生成序列而不管任何订阅者,并且当订阅者订阅时,希望他们接收在订阅时恰好是当前的值。IOW,把它变成一个热门的 Observable。我宁愿不将 Observable 子类化,因为这会将它绑定到一个具体的 Integer 中,而实际上实际类型会有所不同。

android observable rx-java rx-android

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

将java远程调试器端口暴露给Internet是否安全?

我打算通过互联网公开一个用于远程调试基于Java的Web服务的端口,但是我想了两次,我意识到它没有任何身份验证.

从理论上讲,似乎可以编写一个附加到远程调试器端口的工具,并通过Java API执行任意系统命令.或者修改/转储数据库,依此类推.至少这种利用似乎是这种情况http://securityaffairs.co/wordpress/36394/hacking/paypal-remote-code-execution.html

我不记得曾经强烈警告过暴露远程调试器端口.但是现在,当数百个僵尸网络扫描端口寻找漏洞时,应该更好地做广告.

可以请任何人评论它是否安全和/或如何以安全的方式在任意基于Java的Web服务上这样做?我的目标是能够在生产服务器上执行远程调试.

java security exploit remote-debugging

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

如何影子python内置的pwd模块

有一些python代码可以在Linux下运行.它以这样的方式使用pwd模块:

import pwd
   ...
  def func():
      user=pwd.getpwnam(user)[2]
Run Code Online (Sandbox Code Playgroud)

现在我们有一个特定的需要用测试来覆盖这个代码,测试必须在Windows下运行.程序本身只能在Linux下运行.问题是pwd模块在Windows下不可用,因此即使使用MagicMock模拟了pwd函数的实现,受测试的代码也会因ImportError而失败.

解决此问题的基本思想是在运行测试时隐藏pwd模块.因此,当运行测试时,存根将影响pwd,并且在运行主程序时,将使用原始(Unix)pwd.我们在测试PYTHONPATH时创建了这样的存根:

# pwd.py
def getpwnam(user):
    print("YESSSSSSSS")
Run Code Online (Sandbox Code Playgroud)

但它似乎没有影响一个pwd模块,在调试器中我们看到内置的pwd是导入的.我主要是一名Java开发人员,所以如果做事的方式不是"pythonic",我很抱歉.欢迎提出想法.

python windows built-in shadowing pwd

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

在打开的项目窗口之间共享的 Intellij IDEA 的 ls -Xmx 内存限制?

Intellij IDEA 内存设置可以通过编辑选项进行自定义。比方说,我设置-Xmxidea64.vmoptions

-Xmx2g
Run Code Online (Sandbox Code Playgroud)

然后同时打开5个不同的项目。IDEA 最终能消耗大约 10gb 的内存,还是会被限制在 2gb+一些开销?

在IDEA窗口右下角的内存使用监视器中,我看到每个项目分配的内存的不同值。另一方面,这些值似乎随着时间的推移而相关。

memory heap-memory intellij-idea shared-memory

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

保存java.util.UUID时,Cassandra说"InvalidQueryException:TimeUUID类型的版本无效"

我正在尝试保存java.util.UUID到Cassandra类型的列timeuuid.例如,这是一个默认的spring-data-cassandra映射:http://docs.spring.io/spring-data/cassandra/docs/current/reference/html/#mapping-conversion.UUID的值是由java.util.UUID#randomUUID() 我得到一个异常生成的: "com.datastax.driver.core.exceptions.InvalidQueryException: Invalid version for TimeUUID type"

https://svn.apache.org/repos/asf/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java上学习代码揭示了原因:

    @Override
    public void validate(byte[] bytes)
    {
        if (bytes.length != 16 && bytes.length != 0)
            throw new MarshalException(String.format("TimeUUID should be 16 or 0 bytes (%d)", bytes.length));
        // version is bits 4-7 of byte 6.
        if (bytes.length > 0)
            if ((bytes[6] & 0xf0) != 0x10)
                throw new MarshalException("Invalid version for TimeUUID type.");
    }
Run Code Online (Sandbox Code Playgroud)

java uuid cassandra spring-data-cassandra timeuuid

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

从存储库下载工件和/或构建项目时,配置 Maven 以检查完整性校验和?

在某些情况下(比如没有余额),我的互联网提供商将任何 HTTP 请求重定向到一个简单的 html 存根。最近,我的 dev machive 上的 maven 缓存被 jar 文件淹没,这些 jar 文件的内容包含来自我的互联网提供商的 html 存根。这些 jar 文件在构建过程中没有被注意到,最终作为我的项目工件的一部分部署到 Tomcat。由于 Tomcat 日志中有关损坏的 jar 文件的警告,我注意到了问题。显然,我想在未来避免这种情况。

我看到在 Maven 缓存中,有些*.sha1文件应该包含 jar 文件的完整性校验和。就我而言,这些*.sha1也有错误的内容(由 html 存根组成)。

如果 jar 文件内容与完整性校验和不匹配,如何将 Maven 配置为在工件下载或构建过程中失败?

我使用的 Maven 版本是3.3.9.

java checksum data-integrity maven

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