小编and*_*lka的帖子

测试和检查之间的差异

我的build.gradle情况如下:

group 'groupName'
version 'version'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    . . .
}

dependencies {
    . . .
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)

在./gradlew tasks我收到的时候

Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.
Run Code Online (Sandbox Code Playgroud)

这两项任务有什么区别?输出与... ./gradlew check相同./gradlew test.

andrewgazelka $ ./gradlew check

> Task :compileJava
warning: Element `SHIFT_UP_THRESHOLD` is set to `UNDEFINED`. This may be ok for this …
Run Code Online (Sandbox Code Playgroud)

gradle gradlew build.gradle

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

`cargo doc` 和 `cargo rustdoc` 之间的区别

根据doc.rust-lang.org

\n\n
\n

使用指定的自定义标志构建包的文档

\n
\n\n
\n

构建包的文档

\n
\n

两者有什么区别?据我了解,cargo rustdoc就像cargo doc,但它允许更多 lints\xe2\x80\x94 例如:

\n
#![deny(rustdoc::broken_intra_doc_links)]\n
Run Code Online (Sandbox Code Playgroud)\n

它是否正确?奇怪的是,cargo rustdoc在某些情况下,它也会失败cargo doc。例如

\n
some/folder on some-branch [$!] via  v1.60.0-nightly\n\xe2\x9d\xaf cargo doc\n    Finished dev [unoptimized + debuginfo] target(s) in 0.53s\n\nsome/folder on some-branch [$!] via  v1.60.0-nightly\n\xe2\x9d\xaf cargo rustdoc\nerror: manifest path `some/folder/Cargo.toml` is a virtual manifest, but this command requires running against an actual package …
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo rustdoc

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

**(1/2),math.sqrt和cmath.sqrt之间的区别?

有什么区别x**(1/2),math.sqrt()和cmath.sqrt()?

为什么cmath.sqrt()单独得到二次方的复杂根?我应该专门用于我的平方根吗?他们在背景中的做法有何不同?

python math sqrt square-root

7
推荐指数
2
解决办法
6300
查看次数

如果还不是可迭代的,则 Pythonic 转换为单例可迭代

假设我有

def distance2(vector1, vector2):
    zipped = zip(vector1, vector2)
    difference2 = [(vector2 - vector1) ** 2 for (vector1, vector2) in zipped]
    return sum(difference2)
Run Code Online (Sandbox Code Playgroud)

wheredistance2(vector1, vector2)找到vector1和之间的(平方)欧几里得距离vector2。该函数适用于可迭代元素,但假设我们也想让它适用于不可迭代元素(即distance2(1,3))。有没有一种pythonic的方法来做到这一点?(即,自动将常规输入转换为单例列表)。

python

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

实现模拟线程#sleep()

背景

我正在设计我的软件,以便我可以轻松地执行单元测试.我有一个IClock接口,其中包括其他方法 IClock#wait(TimeUnit timeUnit, long duration).此方法将暂停当前线程的timeUnit持续时间(即1秒).

IClock接口有两种实现方式:

  • SimulatedClock:有手动增加时钟存储时间的方法
  • RealClock:时间通过参考自动增加 System.currentTimeMillis()

这是以下的默认方法IClock#wait(...):

/**
     * Locks current thread for specified time
     *
     * @param timeUnit
     * @param dt
     */
    default void wait(TimeUnit timeUnit, long dt)
    {
        Lock lock = new ReentrantLock();
        scheduleIn(timeUnit, dt, lock::unlock);
        lock.lock();
    }
Run Code Online (Sandbox Code Playgroud)

问题

我希望模拟单元测试工作的当前方式是

  1. 启动线程
  2. 等到所有线程都完成或处于阻塞状态(我假设它们被阻止,他们已经调用IClock#wait(...))
  3. 如果所有线程都已完成,请完成.否则,将SimulatedClock时间增加一毫秒.

然而,真正发生的是:

  1. 启动线程
  2. 即使线程IClock#wait()第一次没有调用,也要开始增加时间.

所以,我需要做的是能够确定何时完成或阻止所有线程.虽然可以这样做Thread#getState(),但我宁愿使用更优雅且可以使用的解决方案ForkJoinPool.

完整代码

GitHub上

SimulatedClock

package com.team2502.ezauton.utils;

import …
Run Code Online (Sandbox Code Playgroud)

java simulation multithreading

5
推荐指数
0
解决办法
312
查看次数

没有欢迎屏幕的IntelliJ导入项目

IntelliJ欢迎屏幕上有一个导入项目按钮。有没有不进入欢迎屏幕即可导入项目的方法? 在此处输入图片说明

intellij-idea

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

错误 2003 (HY000):无法连接到 [IP] 上的 MySQL 服务器(111“连接被拒绝”)

我正在尝试从服务器 B(Ubuntu 16.04)远程连接到服务器 A(Ubuntu 16.04)。我已经可以在服务器 A上通过 remote@[Server A IP] 很好地使用 MySQL ,但是我无法从服务器 B 访问该用户。我已经完成了检查 ufw 防火墙、配置文件和 MySQL 用户的过程,但是我似乎无法找到问题所在。我可以通过哪些步骤来提供更多信息,或者我提供的某些信息存在问题?

带数据库的服务器 A

配置文件

/etc/mysql/my.cnf

# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

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