小编Pio*_*zyk的帖子

从Eclipse颜色主题更改主题中的突出显示颜色

我正在使用Eclipse Color Theme插件,效果很好.我只有一个问题.有时当Eclipse突出显示代码片段时,它看起来似乎不可读.例如,当Eclipse突出显示搜索结果时,它看起来像这样:

在此输入图像描述

突出显示"产品"这个名称几乎看不到.有没有办法在Eclipse Color Theme中调整高亮颜色设置?

PS.我正在使用安装插件后获得的默认主题.我没有下载任何自定义主题.

eclipse eclipse-plugin

9
推荐指数
1
解决办法
1447
查看次数

Mockito:如果传递给mock的参数被修改了怎么办?

我们遇到了与Mockito非常讨厌的问题.

码:

public class Baz{
    private Foo foo;
    private List list;

    public Baz(Foo foo){
        this.foo = foo;
    }

    public void invokeBar(){
        list = Arrays.asList(1,2,3);
        foo.bar(list);
        list.clear();
    }

}


public class BazTest{

   @Test
   void testBarIsInvoked(){
        Foo mockFoo = mock(Foo.class);
        Baz baz = new Baz(mockFoo);           
        baz.invokeBar();
        verify(mockFoo).bar(Arrays.asList(1,2,3));
   }
}
Run Code Online (Sandbox Code Playgroud)

这会导致错误消息,如:

Arguments are different! Wanted: 
foo.bar([1,2,3]); 
Actual invocation has different arguments:
foo.bar([]);
Run Code Online (Sandbox Code Playgroud)

刚刚发生了什么:

记录的Mockito 参考list,而不是副本list,所以在上面的的Mockito验证码对修改后的版本(空单,[])而不是调用过程中实际传递的一个([1,2,3])!

题:

除了做一个像下面这样的防御性副本之外,对这个问题有没有优雅和干净的解决方案(实际上有帮助,但我们不喜欢这个解决方案)?

   public void fun(){
        list = …
Run Code Online (Sandbox Code Playgroud)

java unit-testing pass-by-reference mockito

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

从char [],start,length创建String的有效方法

我们正在使用Java SAX来解析非常大的XML文件.我们的characters实现如下:

@Override
public void characters(char ch[], int start, int length) throws SAXException {
    String value = String.copyValueOf(ch, start, length);
    ...
}
Run Code Online (Sandbox Code Playgroud)

(ch[]SAX传递的数组往往很长)

但是我们最近遇到了一些性能问题,并且分析器向我们展示了超过20%的CPU使用率高于调用String.copyValueOf(new String(ch,start,length)在引擎盖下调用).

有没有更有效的方法从字符数组获取字符串,开始索引和长度比String.copyValueOf(ch, start, length)new String(ch,start,length)

java string performance sax

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

有没有办法在现代 JS 代码中消除 IE11 中的语法错误?

我们正在开发一个现代 JS 库,它大量使用 ES6 语法并且不支持 IE11。

然而,我们有少数用户想要在兼容 IE11 的站点上使用我们的库,我们不想破坏他们在 IE11 上的站点。

问题:有什么方法可以防止我们的库在 IE11 上“爆炸”?(所有的库函数都不能做任何事情,undefined如果检测到 IE11 则返回)

例如,我们尝试基于浏览器检测的以下方法:

function libFunction() {
  if(isIe11()) {
    return;
  }
  // otherwise do some real stuff with ES6-heavy code
}
Run Code Online (Sandbox Code Playgroud)

然而,上面的方法不起作用,因为 IE11 即使在永远不会执行的代码中也会抛出语法错误,我们最终会遇到如下错误:

SCRIPT1002: Syntax error
File: main.db33ab01aedf59e2f70a.hot-update.js, Line: 47, Column: 1
Run Code Online (Sandbox Code Playgroud)

我们考虑的其他方法:

  • 如果在请求标头中检测到 IE11 User-Agent,则让我们的服务器返回我们库的假实现。这将部分解决我们的问题,但不会帮助用户,他们通过 NPM/webpack 将我们的库集成到他们的包中,而不是在运行时从我们的服务器获取它。
  • 将我们的 ES6 代码转换为 IE11 友好的代码并填充所有 API - 我们不这样做是因为我们不希望现代浏览器用户为臃肿的 ES5 代码和 polyfills 付出代价。
  • 覆盖全局错误处理程序以消除错误 - 这将不起作用,因为我们得到的错误是语法错误,错误处理程序不会处理这些错误。

还有其他可能的解决方案吗?

javascript backwards-compatibility polyfills ecmascript-6 internet-explorer-11

6
推荐指数
0
解决办法
104
查看次数

为RichTextArea生成的HTML:#document是什么?

我可以在Chrome开发者工具中看到为GWT RichTextArea小部件生成的html 是这样的:

<iframe class="GCJ2VDKDEI" style="height: 40px; ">
  #document
    <html>
      <head></head>
      <body>entered text</body>
    </html>
</iframe>
Run Code Online (Sandbox Code Playgroud)

有人会说它是如何工作的吗?嵌入的页面如何<iframe>可以为用户编辑(外观和行为类似于文本区域)?

我特别想知道那是什么奇怪的#document事情.这是我第一次看到这样的东西而谷歌没有给我任何答案:(.

html javascript gwt dom

5
推荐指数
1
解决办法
4643
查看次数

Python - 打印到多个输出

可能重复:
如何将sys.stdout复制到python中的日志文件?

Python print命令或其他Python命令是否可以将字符串打印到两个目标?例如,我想在一个语句中打印到控制台和输出文件(这样我就不需要复制print语句).

我希望有一个Python 2.x的解决方案,如果这可能很重要.

python io python-2.7

5
推荐指数
1
解决办法
216
查看次数

控制器方法应该采用参数?

鉴于视图上有文件选择小部件,控制器需要处理选择文件的事件,我是否应该编写控制器方法:

public void fileSelected(String filePath){
  //process filePath
}
Run Code Online (Sandbox Code Playgroud)

要么

public void fileSelected(){
  String filePath = view.getSelectedFilePath();
  //process filePath
}
Run Code Online (Sandbox Code Playgroud)

第一种方法似乎在C和V之间引入了较少的耦合:C在处理给定事件时不知道C需要什么样的数据.

但它需要创建许多类似于getSelectedFileV方面的详细方法.

另一方面,第二种方法可能导致在比例子更复杂的情况下混乱的控制器方法(要传递的数据要多得多filePath).

根据您自己的经验,您更喜欢哪种方法?

model-view-controller design-patterns conventions

5
推荐指数
2
解决办法
225
查看次数

Rebar:仅编译项目文件(没有依赖项)

我是Erlang和Rebar的新手,刚创建了我的第一个螺纹钢项目.

我的开发周期看起来像这样:

  1. 编辑项目文件
  2. 调用rebar compile重新编译项目
  3. 运行我的start.bat文件来运行并测试我的应用程序
  4. 转到第1步:-)

问题是rebar compile似乎总是编译项目文件和所有依赖项.而且我已经有了很多依赖项,所以编译需要很长时间并且让我慢下来.

所以问题是:有没有办法告诉rebar只编译我的项目文件rebar compile(但仍然有我的编译文件可见的依赖项)?我的依赖关系永远不会改变,为什么我每次都需要重新编译它们呢?

或许我的整个过程完全错了,我应该采取不同的方法来开发我的开发周期?

erlang rebar

5
推荐指数
1
解决办法
800
查看次数

FindBugs Eclipse:specyfying相对于项目排除过滤器文件

我们有Findbugs排除在findbugs-excludes.xml项目根目录中的文件中定义的过滤器.

是否可以在FindBugs Eclipse中使用此文件而不使用此文件的绝对路径

我们遇到的问题是我们在Eclipse 中的项目特定设置中配置了FindBugs ,我们希望能够通过svn commiting .settings目录传播FindBugs配置中的更改.

但是如果配置了绝对路径,我们需要让每个项目成员手动更新他的FindBugs设置,在他的文件系统中给出正确的路径.

eclipse findbugs

5
推荐指数
1
解决办法
1107
查看次数

Windows - 防止控制台窗口在发生错误时关闭

我正在写一个简单的.bat脚本,我想通过双击Windows资源管理器打开它.如果从Windows资源管理器打开,则脚本完成后控制台窗口将自动关闭.

问题是我在脚本中调用的命令可能会发生错误.在这种情况下,这些命令打印出错误消息并返回退出状态1.但是用户不知道它,因为窗口关闭太快而无法注意到是否弹出了一些错误消息(并且肯定太快而无法读取它们;)).

那么有没有办法防止控制台窗口关闭,如果脚本中的某些命令失败(这样用户可以读取错误消息)并且如果一切正常,它仍会自动关闭?如果第二部分不可能,那么可以防止控制台窗口在两种情况下自动关闭(失败或成功).

windows shell batch-file

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