我正在努力学习Gradle.我偏好的学习方式是从低层次了解正在发生的事情.为此,我试图解释有关DSL参考的文档的示例6.1中发生的情况:
task hello {
doLast {
println 'Hello world!'
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这个脚本是在一个上下文中执行的Project.所以我可以从Project 文档中看到有很多重载task(...)方法.看一下签名,我需要选择一个有闭包作为最终参数的签名.因为我们没有在Map这里传递,所以我假设被调用的方法是task(String name, Closure closure).
但是,我正在努力的部分是,在这个脚本中,文字字符串如何hello映射到a String.
另一个例子是例6.7:
task taskX(dependsOn: 'taskY') << {
println 'taskX'
}
task taskY << {
println 'taskY'
}
Run Code Online (Sandbox Code Playgroud)
在这里,我假设我们正在调用task(Map<String, ?> args, String name)方法的形式.但,
taskX最终成为String?Map文字,括号中的部分如何最终成为Map?Project对象解析taskX为未知方法.但是,AFAIK,方法调用在这一点上在语法上不会有效,因为方法调用task紧接在它之前.正如您所看到的,我对示例语法如何映射到DSL参考指南感到有点困惑,这让我真的很难理解基层正在发生的事情. …
我正在通过TCP连续地从我的服务器向客户端发送许多图像.现在在客户端,如何有效地检测到这是我的一个图像的结束,所以将其写入文件系统然后下一个图像,依此类推.
最好的祝福, ...
我在Objective-C中重写了一个Java库,我遇到了一个奇怪的情况.我有两个相互导入的类.这是一个循环依赖.Objective-C是否支持这种情况?如果没有,你怎么建议我重写它?
是否有API来确定给定作业当前是否正在运行?
理想情况下,我还希望能够确定其估计完成百分比并获取SVN修订号的详细信息并提交评论!
编辑:
我找到了答案.http://host/job/project/lastBuild/api/在某个地方几乎拥有我需要的所有东西!如果您启动手动构建,它将不会告诉您SCM更改集,但这是有道理的.它仍然告诉你最新的SCM修订版,所以这很好.总而言之,这对我的目的来说足够好了.
非常简单的问题,我读到GCC支持long long int类型.但是,当CPU只有32位宽时,如何使用它进行数学运算?
我正在将一个相对较小的项目从Ant转换为Gradle.我希望将构建脚本中的行数减少大约75%!
Ant构建的一件事是生成源ZIP(即整个项目的ZIP,删除了某些位 - ./build,各种Eclipse文件夹等).虽然将其迁移到Gradle,但我决定使用"包含" "方法,而不是"独占"的方法,以便事情不会在以后被意外包括在内.
我希望能够获取所有源集的源代码和资源,而无需明确列出目录,但我无法使其正常工作.
这是我到目前为止(甚至没有运行!):
task srcZip(type: Zip) {
classifier = 'src'
from projectDir
include {
sourceSets.collect {
it.allSource.asPath
}
}
}
Run Code Online (Sandbox Code Playgroud)
ZIP文件应该以文件夹'src/main/java/...','src/main/resources/...','src/test/java/...'等结束,我不应该我稍后添加更多源集时需要重新访问此任务.
提前致谢!
我正在编写一个概念验证应用程序,旨在以每秒约1000条消息的速率获取实时点击流数据,并将其写入Amazon Redshift.
我正在努力获得其他人声称的表现(例如,这里).
我正在运行一个带有2个dw.hs1.xlarge节点(+ leader)的集群,正在执行加载的机器是与运行64位Ubuntu 12.04.1的Redshift集群在同一VPC上的EC2 m1.xlarge实例.
我正在使用Java 1.7(来自Ubuntu repos的openjdk-7-jdk)和Postgresql 9.2-1002驱动程序(主要是因为它是Maven Central中唯一一个使我的构建更容易!).
我已经尝试了这里显示的所有技术,除了最后一个.
我无法使用,COPY FROM因为我们想要"实时"加载数据,因此通过S3或DynamoDB进行暂存不是一个真正的选择,Redshift不支持COPY FROM stdin某些原因.
以下是我的日志摘录,显示每个行以大约15 /秒的速率插入:
2013-05-10 15:05:06,937 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Beginning batch of 170
2013-05-10 15:05:18,707 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Done
2013-05-10 15:05:18,708 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Beginning batch of 712
2013-05-10 15:06:03,078 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Done
2013-05-10 15:06:03,078 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Beginning batch of 167
2013-05-10 15:06:14,381 [pool-1-thread-2] INFO uk.co...redshift.DatabaseWriter - Done
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我可以采取哪些其他方法?
我有一个Mockito测试看起来有点像这样(当然简化):
@RunWith(MockitoJUnitRunner.class)
public class BlahTest {
private static final int VERSION = 41;
private static final int PAGE_SIZE = 4096;
@Mock private FileChannel channel;
@Test
public void shouldWriteStandardHeader() throws Exception {
final Blah blah = new Blah(channel, VERSION, PAGE_SIZE);
blah.create();
verify(channel).write(littleEndianByteBufferContaining(Blah.MAGIC_NUMBER,
VERSION,
PAGE_SIZE));
}
private ByteBuffer littleEndianByteBufferContaining(final int... ints) {
return argThat(byteBufferMatcher(ints));
}
private Matcher<ByteBuffer> byteBufferMatcher(final int... ints) {
return new TypeSafeMatcher<ByteBuffer>() {
@Override
public void describeTo(final Description description) {
description.appendText("a little-endian byte buffer containing integers ").
appendValueList("", ",", "", …Run Code Online (Sandbox Code Playgroud) 在JConsole中查看JMX bean时,它会将给定域部分下的所有bean呈现为层次结构.(JVisualVM与JConsole MBeans插件具有相同的行为.)
我意识到JMX对象名称不是分层的,但JConsole仍然按某种顺序选择键,以便它可以分层次地呈现它们.
有人知道它用来订购钥匙的规则是什么吗?它似乎不是从左到右或按字母顺序排列的.
谢谢.
如何在不进行LINQ To SQL数据库的第二次访问的情况下从表中获取主键ID号?
现在,我将数据提交到一个表中,并再次进行一次旅行,以确定为新字段分配的id(在自动增量id字段中).我想在LINQ To SQL中执行此操作,而不是在Raw SQL中执行此操作(我不再使用Raw SQL).
此外,我的问题的第二部分是:我总是小心地知道在线用户的ID,因为我宁愿使用他们的ID在各种表中调用他们的信息,而不是使用GUID或用户名,这些都是长的字符串.我之所以这样做,是因为我认为进行数字比较的SQL Server比使用用户名(字符串)甚至是guid(非常长的字符串)比较更有效(?).我的问题是,我是否比我应该更关心?差异值是否总是将userid(int32)保持在会话状态?
@RedFilter为第一个问题提供了一些有趣/有希望的线索,因为我在这个阶段无法尝试它们,如果有人知道或可以确认他在答案的评论部分建议的这些变化?
gradle ×2
asp.net ×1
c ×1
c# ×1
c++ ×1
hudson ×1
hudson-api ×1
jconsole ×1
jenkins ×1
jmx ×1
jpeg ×1
jvisualvm ×1
linq ×1
linq-to-sql ×1
mockito ×1
objective-c ×1
objectname ×1
postgresql ×1
types ×1
vb.net ×1
zip ×1