小编Mat*_*ard的帖子

防止单元测试但允许在Maven中进行集成测试

我有一个Maven构建,我使用SureFire插件来运行一些单元测试,而FailSafe插件则运行一些集成测试.我想要一种方法来运行FailSafe插件的测试.

对于我来说,在pom中添加不同的配置文件或任何东西并不是一个好的解决方案,因为它是一个多模块构建,我不想编辑每个模块的pom.

skip.testsmaven.test.skipskipTests它停止所有的测试,以及skipITs,其仅停止故障安全插件.

那么,Maven是否有一个命令行标志skipITs,而是具有"onlyITs"的功能?

integration-testing build maven maven-surefire-plugin maven-failsafe-plugin

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

一个REPL绑定他们所有?

我想知道是否有一个不是特定于语言的REPL.我花了很多时间浸泡在REPL中(主要用于Clojure,Scala和Haskell),而捆绑的这些都让我或多或少地感到沮丧.似乎REPL的工作非常通用,因为它们:

  • 阅读:接受用户输入
  • 评估:将输入传递给某个运行时进行处理
  • 打印:将结果打印到屏幕上
  • 循环:等待下一个用户输入

我不明白为什么不应该有一些与语言无关的REPL,但我一直无法找到这样的东西.在我理想的REPL中我想要的一些东西:

  • Linux命令行应用程序
  • 通过向上箭头可访问无限历史记录
  • 能够在重新运行之前编辑以前的命令
  • 像bash这样的历史搜索的ctrl-r
  • 一个REPL中有多个会话,因此我可以轻松地在它们之间切换

而且更乐观

  • 语法突出显示,上下文感知代码完成

这存在吗?

language-agnostic haskell scala clojure read-eval-print-loop

27
推荐指数
2
解决办法
1871
查看次数

Java 7排序"优化"

在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)

这是一个性能问题?编译器不会将这些减少到同一个东西吗?

更广泛地说,自己调查这个的好策略是什么?我可以运行基准测试,但我更感兴趣的是分析编译代码中的任何差异.但是,我不知道使用什么工具等.

java optimization jvm

25
推荐指数
2
解决办法
762
查看次数

为什么Java 6 Arrays#sort(Object [])从mergesort更改为insertionsort用于小数组?

Arrays.java如果数组长度小于某个阈值,Java 6的mergesort实现将使用insert -sort.此值被硬编码为7.由于算法是递归的,因此对于大型数组,这最终会发生多次.规范的合并排序算法不会这样做,只是使用merge-sort一直向下,直到列表中只有1个元素.

这是优化吗?如果是这样,它应该如何帮助?为什么7?插入排序(甚至是<=7事物)会大大增加对大型数组进行排序所需的比较次数 - 因此会增加compareTo()调用速度慢的排序成本.

对于INSERTIONSORT_THRESHOLD的不同值,array-size vs#-of-comparisons

(x轴是size of array,y轴是# of comparisons,对于不同的值INSERTIONSORT_THRESHOLD)

java algorithm mergesort

22
推荐指数
1
解决办法
1193
查看次数

子类是否从它的超类继承构造函数?

在子类中,我们可以使用子类的构造函数初始化数据成员,该构造函数在内部调用超类的构造函数super().如果子类不能从其超类继承构造函数,那么super()调用如何初始化超类?

java constructor

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

URL中的尾随&符合法吗?

像这样的网址

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语法规范中找到答案,但不确定如何解析他们的语法.

url uri specifications http

19
推荐指数
2
解决办法
4069
查看次数

git rebase可以完全删除远程历史记录吗?

当我们考虑在工作中从SVN转移到git时,同事已经提出了一个问题,即恶意或容易发生事故的开发人员可以使用git rebase从我们的共享仓库中删除远程历史记录.

编辑:正如答案中所指出的,整个分支也可以从远程仓库中删除git push origin :branch-name.

这是一个现实问题吗?如果是这样,我们可以采取什么方法来防止它?

git rebase git-rebase

10
推荐指数
1
解决办法
1841
查看次数

在clojure中嵌套if-let的更好方法

说我有这张表格的地图:

(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)

是否有更简洁(即一线)的方式来实现这一目标?

if-statement clojure

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

Xmonad扩展来循环最近的窗口

我觉得xmonad在两个窗口之间来回切换有点尴尬.是否允许这样的扩展(或核心xmonad的一部分)?

例如,我想经常在firefox和emacs之间切换,它们可能不在同一个工作区中.我目前使用gotoMenu通过输入来做这个M-g firefox<cr>,M-g emacs<cr>但这很尴尬,特别是如果有任何一个应用程序的多个实例.理想情况下,我想要一个单一的快捷方式来执行一个动作,比如给焦点到最近最近使用的无焦点窗口,我只需按下来回切换即可.

haskell xmonad

8
推荐指数
1
解决办法
618
查看次数

Emacs:单个缓冲区中的多个字体

我每天都使用org-mode来处理各种各样的事情,我喜欢使用可变宽度字体来阅读构成我文件大部分内容的文本.但是要正确对齐表格,必须使用固定宽度的字体.是否可以配置emacs以固定字体显示组织模式表,并以可变宽度字体显示缓冲区的其余部分?

我理解典型的问题不是:"在emacs中可以使用X吗?" 而是"我如何在emacs中做X?" 所以我很乐观,但还没有在Google或SO上找到答案......

emacs org-mode

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