小编Dan*_*der的帖子

libxml/tree.h没有这样的文件或目录

我收到了以下错误.

libxml/tree.h没有这样的文件或目录

我已经添加libxml2.dylib到我的项目中,但是我遇到了这种麻烦.请帮我.

iphone xcode objective-c libxml2

98
推荐指数
8
解决办法
10万
查看次数

使用索引查找相似图像的算法

有一些令人惊讶的好图像比较工具,即使它们不完全相同(例如,尺寸,壁纸,亮度/对比度的变化),它们也能找到相似的图像.我在这里有一些示例应用程序:

我只尝试过第一个,但所有这些都是为Windows开发的,不是开源的.Unique Filer于2000年发布,主页似乎已经消失.它出乎意料地快(即使在当年的计算机上),因为它使用索引并使用索引比较一些10000个图像仅需要几秒钟(并且更新索引是一个可伸缩的过程).

由于这种算法以非常有效的形式存在至少15年,我认为它已被充分记录,并且可能已经作为开源库实现.有谁知道更多关于使用哪种算法或图像检测理论来实现这些应用程序?也许甚至可以使用它的开源实现?

我已经检查了算法找到类似的图像,但所有的答案通过比较一个图像来解决问题.对于1000多张图像,这将导致1000 ^ 2比较操作,这不是我正在寻找的.

algorithm image-processing similarity

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

不推荐使用属性“ sonar.jacoco.reportPath”。请改用'sonar.jacoco.reportPaths'

不推荐使用属性“ sonar.jacoco.reportPath”。请改为使用“ sonar.jacoco.reportPaths”。

当通过Gradle运行SonarQube时,我一直收到此消息,并且短语“ reportPath”甚至在整个多模块项目中甚至都没有出现。我什至将sonarqube属性放在allprojects下,以覆盖可能存在的任何默认设置。关于如何摆脱此错误的任何提示?

我在用:

allprojects {
    sonarqube {
        properties {
            property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:

摇篮包装3.1

我在build.gradle的根目录中使用它

plugins {
    id "jacoco"
    id "org.sonarqube" version "2.5"
}
Run Code Online (Sandbox Code Playgroud)

并尝试了您的建议

allprojects {
    sonarqube {
        properties {
            property "sonar.jacoco.reportPath", ""
            property "sonar.jacoco.reportPaths", "${project.buildDir}/jacoco/test.exec"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

没有骰子,你怎么看?

java gradle jacoco sonarqube

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

Wine 错误:应用程序尝试创建窗口,但无法加载驱动程序

我制作了一个 fcgi-isapi 桥,并使用wineg++(关键字 winelib)进行编译。LoadLibrary它正在使用/运行纯 Win32 isapi 扩展GetProcAddress。这对于简单的演示 isapi dll 来说效果很好,但对于更复杂的演示则不行,因为 wine 在 dll 内的某个地方崩溃了。WINEDEBUG=+olerelay,+storage,+relay给我以下输出:

0009:Call KERNEL32.InterlockedIncrement(00000150) ret=1001eebe
0009:Call KERNEL32.UnhandledExceptionFilter(0033f428) ret=7bc8e2f5
wine: Unhandled page fault on write access to 0x00000150 at address 0x7b8716bd (thread 0009), starting debugger...
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
couldn't load main module (0)
0009:Ret  KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=7bc8e2f5
Unhandled …
Run Code Online (Sandbox Code Playgroud)

wine winelib

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

多格式文件转换设计模式

过去,我曾两次尝试实现多格式转换器。一个是标记转换器,应该能够转换 GitHub、StackOverflow、MoinMoin、MediaWiki 等。另一个是相册转换器,目前将 ifloror 转换为 scribus,但应该支持至少另外两种相册格式以及 pdf。

问题总是相同的:不同的格式有不同的特征。例如:MediaWiki 和 MoinMoin 对宏的理解不同,而大多数其他标记语言不支持宏。或者 ifolor 有一些边框格式很难在 scribus 中实现,而且看起来也不好看。

我不喜欢为每种可能的组合实现直接转换器的想法(对于 4 种格式,这是 12 个具有大量冗余的转换器)。我从“超集数据结构”开始,它包含所有格式的所有功能,作为给定格式的导入和导出过滤器之间的链接,但我想知道是否有最佳实践方法来执行此类操作或类似操作了解设计模式可能会有所帮助,例如导入和导出直接通信而无需“超级格式”的架构?

好吧,由于缺乏时间(和需求),这两个项目目前已暂停,但我愿意学习下次如何做得更好。这本写真集为我的个人书完成了它的工作,并且可能很快就会继续。它的代码位于GitHub上。

design-patterns file-conversion

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

SonarQube:查看失败测试的详细信息

在 SonarQube 5.6.6 中,我可以在http://example.com/component_measures/metric/test_failures/list?id=myproject上看到我的单元测试结果已成功导入。这由

单元测试失败:1

这是我通过假失败测试产生的。

我还在长列表中看到失败测试类的文件名,并且看到失败测试的数量(再次:1)。

但我找不到更多信息:哪种方法、堆栈跟踪、stdout/err,以及build/reports/test/index.htmlgradle 生成的文件中包含的所有内容?单击列表条目会将我指向代码和覆盖率视图,但我找不到任何测试失败的指示器。

我在前端做错了什么,是配置问题,还是我在寻找 SonarQube 中不存在的功能?

这是目前的样子:

http://example.com/component_measures/domain/Coverage:在这里我看到一个测试失败了:

声纳测量-覆盖范围

http://example.com/component_measures/metric/test_success_密度/list :我可以看到它是哪个文件:

声纳单元测试错误

但是单击上面的行只会将我指向源文件。下面的测试“失败”。没有迹象表明该测试失败。我找不到任何方法来查看堆栈跟踪或失败的测试方法的名称:

声纳代码视图

顺便说一句:第一个屏幕截图的页面显示有关单元测试的信息。但如果失败的测试是集成测试,我什至看不到这些数字

更新

像这样的东西可能就是我正在寻找的: 在此输入图像描述(发现于https://deors.wordpress.com/2014/07/04/individual-test-coverage-sonarqube-jacoco/

我在我的安装中从未见过这样的视图,不知道如何获取它以及它是否在当前版本中实现。

unit-testing sonarqube

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

GroovyShell 线程安全

该问题出现在有关 GroovyShell 的所有问题的评论中,例如使用 GroovyShell 作为“表达式求值器/引擎”(或:如何重用 GroovyShell)。这并不奇怪,因为 API 的设计似乎根本没有涵盖这个主题。不幸的是,这一点从未被明确讨论过。

问题的紧凑形式:

静态初始化:

final GroovyShell shell = new GroovyShell();
final Script thisScript = shell.parse("sleep 1000; return input1+' '+input2");
//anotherScript = // not relevant here but my use-case pre-loads ~300 groovy scripts
Run Code Online (Sandbox Code Playgroud)

脚本运行器:

private Object runScript(Script theScript, String param1, String param2) {
  theScript.setProperty("input1", param1);
  theScript.setProperty("input2", param2);
  Object result = theScript.run();
  return result;
}
Run Code Online (Sandbox Code Playgroud)

序列化执行:

runScript(thisScript, "Hello", "World")   -> Hello World
runScript(thisScript, "Guten", "Tag")     -> Guten Tag
Run Code Online (Sandbox Code Playgroud)

并行执行:

runScript(thisScript, "Hello", "World")   -> Guten …
Run Code Online (Sandbox Code Playgroud)

java groovyshell thread-safety

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