我有一个Maven构建,我使用SureFire插件来运行一些单元测试,而FailSafe插件则运行一些集成测试.我想要一种方法来运行FailSafe插件的测试.
对于我来说,在pom中添加不同的配置文件或任何东西并不是一个好的解决方案,因为它是一个多模块构建,我不想编辑每个模块的pom.
有skip.tests
和maven.test.skip
和skipTests
它停止所有的测试,以及skipITs
,其仅停止故障安全插件.
那么,Maven是否有一个命令行标志skipITs
,而是具有"onlyITs"的功能?
integration-testing build maven maven-surefire-plugin maven-failsafe-plugin
我想知道是否有一个不是特定于语言的REPL.我花了很多时间浸泡在REPL中(主要用于Clojure,Scala和Haskell),而捆绑的这些都让我或多或少地感到沮丧.似乎REPL的工作非常通用,因为它们:
我不明白为什么不应该有一些与语言无关的REPL,但我一直无法找到这样的东西.在我理想的REPL中我想要的一些东西:
而且更乐观
这存在吗?
language-agnostic haskell scala clojure read-eval-print-loop
在Java6中,quicksort和mergesort分别用于Arrays#sort
原始和对象数组.在Java7中,这些都改变了,DualPivotQuicksort和Timsort.
在新快速排序的来源中,以下评论出现在几个地方(例如第354行):
/*
* Here and below we use "a[i] = b; i++;" instead
* of "a[i++] = b;" due to performance issue.
*/
Run Code Online (Sandbox Code Playgroud)
这是一个性能问题?编译器不会将这些减少到同一个东西吗?
更广泛地说,自己调查这个的好策略是什么?我可以运行基准测试,但我更感兴趣的是分析编译代码中的任何差异.但是,我不知道使用什么工具等.
Arrays.java
如果数组长度小于某个阈值,Java 6的mergesort实现将使用insert -sort.此值被硬编码为7.由于算法是递归的,因此对于大型数组,这最终会发生多次.规范的合并排序算法不会这样做,只是使用merge-sort一直向下,直到列表中只有1个元素.
这是优化吗?如果是这样,它应该如何帮助?为什么7
?插入排序(甚至是<=7
事物)会大大增加对大型数组进行排序所需的比较次数 - 因此会增加compareTo()
调用速度慢的排序成本.
(x轴是size of array
,y轴是# of comparisons
,对于不同的值INSERTIONSORT_THRESHOLD
)
在子类中,我们可以使用子类的构造函数初始化数据成员,该构造函数在内部调用超类的构造函数super()
.如果子类不能从其超类继承构造函数,那么super()
调用如何初始化超类?
像这样的网址
http://localhost/path?a=b&c=d
Run Code Online (Sandbox Code Playgroud)
很好 - 但是带有尾随&符号的同一URL的状态是什么?
http://localhost/path?a=b&c=d&
Run Code Online (Sandbox Code Playgroud)
例如,Java Servlet API允许它在Scala的Spray没有的地方(即它抛出错误).
我试图在URI语法规范中找到答案,但不确定如何解析他们的语法.
当我们考虑在工作中从SVN转移到git时,同事已经提出了一个问题,即恶意或容易发生事故的开发人员可以使用git rebase
从我们的共享仓库中删除远程历史记录.
编辑:正如答案中所指出的,整个分支也可以从远程仓库中删除git push origin :branch-name
.
这是一个现实问题吗?如果是这样,我们可以采取什么方法来防止它?
说我有这张表格的地图:
(def m {:a "A" :b "B"})
Run Code Online (Sandbox Code Playgroud)
我想做一些事情,如果:a
并且:b
都不是零,我可以这样做:
(if-let [a (:a m)]
(if-let [b (:b m)]
... etc ))
Run Code Online (Sandbox Code Playgroud)
要么
(if (and (:a m) (:b m))
(let [{a :a b :b} m]
... etc ))
Run Code Online (Sandbox Code Playgroud)
甚至
(if (every? m [:a :b])
(let [{a :a b :b} m]
... etc ))
Run Code Online (Sandbox Code Playgroud)
是否有更简洁(即一线)的方式来实现这一目标?
我觉得xmonad在两个窗口之间来回切换有点尴尬.是否允许这样的扩展(或核心xmonad的一部分)?
例如,我想经常在firefox和emacs之间切换,它们可能不在同一个工作区中.我目前使用gotoMenu通过输入来做这个M-g firefox<cr>
,M-g emacs<cr>
但这很尴尬,特别是如果有任何一个应用程序的多个实例.理想情况下,我想要一个单一的快捷方式来执行一个动作,比如给焦点到最近最近使用的无焦点窗口,我只需按下来回切换即可.
我每天都使用org-mode来处理各种各样的事情,我喜欢使用可变宽度字体来阅读构成我文件大部分内容的文本.但是要正确对齐表格,必须使用固定宽度的字体.是否可以配置emacs以固定字体显示组织模式表,并以可变宽度字体显示缓冲区的其余部分?
我理解典型的问题不是:"在emacs中可以使用X吗?" 而是"我如何在emacs中做X?" 所以我很乐观,但还没有在Google或SO上找到答案......