目前我通过运行构建我的Gradle应用程序gradle clean build.这将练习JUnit测试并在我的项目中生成XML测试结果build/test-results.我想配置我的build.gradle文件以生成HTML测试结果(而不是XML默认值).这是可能的,如果是这样,怎么样?
我看到Java 8已经大大清理了将文件内容读入String:
String contents = new String(Files.readAllBytes(Paths.get(new URI(someUrl))));
Run Code Online (Sandbox Code Playgroud)
我想知道是否有类似的东西(更干净/更少的代码/更简洁)递归复制目录.在Java 7的土地上,它仍然是这样的:
public void copyFolder(File src, File dest) throws IOException{
if(src.isDirectory()){
if(!dest.exists()){
dest.mkdir();
}
String files[] = src.list();
for (String file : files) {
File srcFile = new File(src, file);
File destFile = new File(dest, file);
copyFolder(srcFile,destFile);
}
} else {
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.close();
}
} …Run Code Online (Sandbox Code Playgroud) 我在GitHub上创建了一个repo,master到目前为止只有一个分支.我的本地工作副本与masterGitHub上的远程/原点完全一致.
我现在想development在GitHub上创建一个分支,以便我团队中的其他人可以开始推动更改development(而不是直接master)并提交PR,请求代码审查等.
所以我尝试development在本地创建一个新分支并推送它:
git checkout -b development
git push origin development:master
Run Code Online (Sandbox Code Playgroud)
但是git只是说Everything up-to-date.所以我问:
如果我是最新的master,我如何创建一个development包含精确副本的远程分支master?
我试图了解Mesos的各个组件如何协同工作,并找到了包含以下架构概述的优秀教程:

我对此有一些担忧尚未明确(无论是在文章中还是在官方的Mesos文档中):
我是Spock的新手,并仔细阅读他们的在线文档.我有一个测试用例,我需要验证我的fixture与非模拟协作者的交互不会产生异常:
class FizzSpec extends Specification {
def "no exception thrown when we hail buzz"() {
given:
Fizz fixture = new Fizz()
Buzz buzz = new Buzz("YES", true, "Garble barb") // A non-mock!
when:
fixture.hail(buzz)
// TODO: How to verify the hail didn't produce an exception?
// then:
// thrown() == null
}
}
Run Code Online (Sandbox Code Playgroud)
关于如何实现这一点的任何想法?
我很好奇一个难以捉摸的 - 但可能非常强大 - DropWizard功能叫做Bundles.根据文件:
Dropwizard包是一组可重用的功能,用于定义应用程序行为的块.
鉴于DropWizard(DW)的记录非常好,我很震惊,这确实是捆绑包的唯一解释.我在野外看到了一些例子:
但我不明白的是:bundle似乎只是代码打包并在JAR中分发.那么为什么我不能只编写"原始"(非"bundle"兼容)Java类来做我需要的东西,在JAR中将它们打包,然后在我的构建/编译类路径中包含该JAR,然后在广告中使用它们我的DW应用程序?DW捆绑的用途是什么,什么时候应该使用它们?
Spark-land中有几个相似但又不同的概念,围绕着如何将工作分配到不同的节点并同时执行.具体来说,有:
sparkDriverCount)numWorkerNodes)numExecutors)dataFrame)dataFrame(numDFRows)中的行数dataFrame(numPartitions)上的分区数numCpuCoresPerWorker)我相信所有Spark集群都有一个且只有一个 Spark Driver,然后是0+个工作节点.如果我错了,请先纠正我!假设我或多或少是正确的,让我们在这里锁定一些变量.假设我们有一个带有1个驱动程序和4个工作节点的Spark集群,每个工作节点上有4个CPU核心(因此总共有16个CPU核心).所以这里的"给定"是:
sparkDriverCount = 1
numWorkerNodes = 4
numCpuCores = numWorkerNodes * numCpuCoresPerWorker = 4 * 4 = 16
Run Code Online (Sandbox Code Playgroud)
鉴于作为设置,我想知道如何确定一些事情.特别:
numWorkerNodes和之间有什么关系numExecutors?是否有一些已知/普遍接受的工人与遗嘱执行人的比例?有没有办法确定numExecutors给定numWorkerNodes(或任何其他输入)?numDFRows为numPartitions?如何根据dataFrame?的大小计算"最佳"分区数?numPartitions = numWorkerNodes * numCpuCoresPerWorker那有什么道理吗?换句话说,它规定每个CPU核心应该有一个分区.partitioning distributed-computing bigdata apache-spark spark-dataframe
我试图理解闭包,但实际上我能找到的闭包的每一个定义都使用了同样神秘而模糊的短语:" 关闭 ".
什么是关闭?" 哦,这是一个关闭另一个功能的功能. "
但我无处可寻找"结束"的含义.有人可以解释一下A对于"关闭"Thing B意味着什么吗?
我刚刚阅读了Hystrix指南,并试图了解默认断路器和恢复周期的运行方式,以及如何自定义其行为.
显然,如果电路跳闸,Hystrix会自动调用命令的getFallBack()方法; 我明白这一点.但是,首先使电路跳闸的标准是什么?理想情况下,在我们考虑服务离线/不健康并使断路器跳闸之前,我想尝试多次尝试支持服务(例如,最多3次尝试).我怎么能实现这个,在哪里?
但我想如果我覆盖默认的断路器,我还必须覆盖处理默认恢复期的任何机制.如果支持服务出现故障,可能是出于以下几种原因之一:
在大多数情况下,仅仅等待N秒然后再次尝试的恢复期是不够的.如果服务中有错误,或者有人在数据中心拔出了一些网线,我们将始终从此服务中获取失败.只有在少数情况下,客户服务才能在没有任何人为干预的情况下自动修复自身.
所以我想我的下一个问题部分是" 如何自定义默认恢复期策略? ",但我猜主要是:" 当服务中断并需要人工干预时,如何使用Hystrix通知devops? "
我想知道何时使用Akka Futures,发现这篇文章比主要的Akka文档更有帮助.所以看起来Akka Futures和Java 7 Futures完全一样.所以我问:
java ×3
akka ×1
apache-spark ×1
bigdata ×1
closures ×1
concurrency ×1
dropwizard ×1
file-copying ×1
future ×1
git ×1
github ×1
gradle ×1
groovy ×1
html ×1
hystrix ×1
java-8 ×1
junit ×1
mesos ×1
partitioning ×1
recursion ×1
report ×1
spock ×1