小编Dar*_*ook的帖子

如何告诉nunit-console在Mono下使用4.0?

我在MonoDevelop下设置了一个简单的项目,可以从那里成功运行测试(*).

当我从命令行尝试nunit-console.exe时,我得到了这个:

 .../mono2/bin/Debug$ nunit-console mono2.exe
 NUnit version 2.5.10.0
 ...
 Runtime Environment - 
   OS Version: Unix 2.6.32.44
  CLR Version: 2.0.50727.1433 ( 2.10.8.1 (Debian 2.10.8.1-1~dhx1~lucid1) )

 ProcessModel: Default    DomainUsage: Single
 Execution Runtime: Default
 Unhandled Exception:
 System.ArgumentException: NUnit components for version 4.0.30319 of the CLR are not installed
 ...
Run Code Online (Sandbox Code Playgroud)

如果我遗漏了重要的事情,请告诉我.

nunit-gui也犯了同样的错误.nunit-gui有一个从2.0切换到4.0的选项,但是当我尝试它再次给我同样的错误,所以不让我改变它.

更多细节:Ubuntu 10.04,使用http://badgerports.org/lucid.html存储库,因此Mono 2.10.8.1.

该项目根据MonoDevelop中的项目选项设置为使用"Mono/.NET 4.0".

更多信息:

/ usr/bin/nunit-console包含:

#!/bin/sh

exec /usr/bin/cli /usr/lib/nunit/nunit-console.exe "$@"
Run Code Online (Sandbox Code Playgroud)

/ usr/lib/nunit /目录包含:

   3073 2011-03-14 18:13 nunit.exe.config
   2598 2011-03-14 18:13 nunit-console.exe.config
  23040 2012-02-29 10:19 nunit-console-runner.dll
   4608 2012-02-29 …
Run Code Online (Sandbox Code Playgroud)

mono nunit c#-4.0

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

什么是相当于"中"的git漂亮格式?(或者:为什么%s中没有LF)

我试图找出git log --pretty=format:...默认git log行为的等价物.我可以发现默认值是"中等",但无法跟踪对应的相当格式的字符串(这样我就可以复制它的一部分).

我真正的问题是为什么%s将提交消息作为单行提供给我,吞下所有换行符(否则就是完整的消息).而默认git log行为不仅保留换行符,而且还给它一个很好的缩进.我正在试验的完整命令是:

git log --all --pretty=format:\"%h %cd%d%+s\" --name-status --date=local
Run Code Online (Sandbox Code Playgroud)

(%s并且%+s与提交消息中的换行符相同)

(git版本1.9.1)

git

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

x[x!=x] 是什么意思?

我不明白这一行

lprobs[lprobs != lprobs] = torch.tensor(-math.inf).to(lprobs)
Run Code Online (Sandbox Code Playgroud)

没有评论,那么它是一些著名的 Python(或 PyTorch?)习语吗?有人可以解释它的含义,或者展示一种使意图更清晰的不同方式吗?

lprobs是一个pytorchTensor,它可以包含任何大小的浮点类型(我怀疑这段代码是否旨在支持 int 或复杂类型)。据我所知,Tensor 类不会覆盖该__ne__函数。

python python-3.x pytorch

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

在信息窗口中添加事件处理程序元素google maps v3

嗨,我正在尝试添加到信息窗口内的按钮,我尝试这样的事件

var infoWindow = new google.maps.InfoWindow({
    content: '<div></br><span class="formatText">Ubicacion del Marcador: </span>' + event.latLng.toString() 
            + '</br> <input type="button" id="btnPrueba" value="prueba"/></div>'
});

google.maps.event.addListener(marker, 'click', function () {
    infoWindow.open(map, this);
    google.maps.event.addDomListener(document.getElementById('btnPrueba'), 'click', removeMarker);
});

function removeMarker(){

    alert('it works');
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?或者这是另一种方法吗?谢谢

编辑

我也试过像这样的jquery但是虽然事件是通过函数得到的警报没有显示.当我使用chrome进行调试时,它的工作原理:(

google.maps.event.addListener(marker, 'click', function () {
    infoWindow.open(map, this);
    $("#btnPrueba").click(function () {

        alert('funciona');
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery infowindow google-maps-api-3

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

R XML包:如何设置用户代理?

我已经确认R调用XML函数(如htmlParse和readHTML)会将空白用户代理字符串发送到服务器.

?XML::htmlParse告诉我isURL"libxml解析器处理与服务器的连接,而不是R设施".这是否意味着无法设置用户代理?

(我确实尝试过,options(HTTPUserAgent="test")但没有应用.)

user-agent r libxml2

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

配置文件中的多个重复节

我有一个配置文件格式,我希望用Boost程序选项实现(因为我之前使用过该库),但我不得不实现这样的块:

label = whatever
depth = 3

start
source = /etc
dest = /tmp/etc/
end

start
source = /usr/local/include
dest = /tmp/include
depth = 1
end
Run Code Online (Sandbox Code Playgroud)

在文档中读到我可以拥有的内容[sections],所以我首先想知道这个:

label = whatever
depth = 3

[dir]
source = /etc
dest = /tmp/etc/

[dir]
source = /usr/local/include
dest = /tmp/include
depth = 1
Run Code Online (Sandbox Code Playgroud)

但是,如果我理解正确,dir它将成为变量名称的一部分,因此不可能重复,这是行不通的.那么我想知道要source转变为部分名称:

label = whatever
depth = 3

[/etc]
dest = /tmp/etc/

[/usr/local/include]
dest = /tmp/include
depth = 1
Run Code Online (Sandbox Code Playgroud)

这似乎是一种合理的方法吗?当我不提前知道部分名称时,我想知道如何迭代部分列表?

或者,有没有更好的方法来使用程序选项库来实现这一目标?

c++ boost boost-program-options

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

R:为什么这个奇怪的 ccf 结果与 xts 数据

我在这里看到您应该drop在将(单列)XTS 对象传递给ccf(互相关)函数时使用。(样本数据比较大,我把它放在一个要点中

library(xts)
gist="https://gist.github.com/raw/3291932"
tmp1=dget(file.path(gist,"e620647218626929b4ee370a05aa7748b2f9a32b/tmp1.txt"))
tmp2=dget(file.path(gist,"49b732db3eafa52f96006e3b1bb0be28380f5df0/tmp2.txt"))
ccf(drop(tmp1),drop(tmp2)) #Weird?
Run Code Online (Sandbox Code Playgroud)

我预计在lag=0 附近会有一个小峰值,两边大部分都是噪音。相反,我得到了一条直线:

所有 400 条柱上的 ccf

那是400个酒吧。我在数千条柱的完整数据上得到了同样的线条。但是如果我只使用该数据的尾端 100 条,我会得到更接近我预期的结果:(50 条看起来更合理)

ccf 仅用于最后 100 根柱线

如果这是一个ccf错误,我使用 xts 对象的方式有问题,我对ccf正在做的事情的误解,或者我神奇地发现了击败股票市场的公式,我有点难倒……

r correlation xts

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

为什么我的OrderBy错误没有给出编译器警告?

我有这个代码来排序我的数组,我只是意识到排序不起作用:

if(desc)items.OrderByDescending(x=>x.ExpirationDate);
else items.OrderBy(x=>x.ExpirationDate);
Run Code Online (Sandbox Code Playgroud)

正确的代码是:

if(desc)items=items.OrderByDescending(x=>x.ExpirationDate).ToArray();
else items=items.OrderBy(x=>x.ExpirationDate).ToArray();
Run Code Online (Sandbox Code Playgroud)

但为什么编译器(我使用Mono和Visual C#2010)不会给我一个错误,甚至是警告?我错过了一些设置,或者C#编译器根本不可能意识到我的原始代码是无用的?如果是后者,是否有任何lint工具可以查找这样的特定错误,我可以添加到我的编译中?

c# linq

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

将缺少的列添加到R表

鉴于此样本数据:

x = 1:12; names(x) = LETTERS[1:length(x)]
y = c('A','C','E','F','J','E','K','L','E','L','F','A','E')
Run Code Online (Sandbox Code Playgroud)

当我这样做时,table(y)我得到:

A C E F J K L 
2 1 4 2 1 1 2
Run Code Online (Sandbox Code Playgroud)

如何扩展它以包含所有其他列标题的零条目x?换句话说,我所追求的输出是:

A C E F J K L B D G H I
2 1 4 2 1 1 2 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

(如图所示未分类,或排序,我不介意.)

r

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

流数据时gzip压缩率如何变化?

在HTTP流连接(SSE和各种彗星技术)的背景下,我一直在尝试理解gzip算法.我测试了一些替代的数据表示,这些文件大小:

40 csv.txt
63 json-short.txt
80 json-readable.txt

27 rawbin.txt

46 sse.csv.txt
69 sse.json-short.txt
86 sse.json-readable.txt
Run Code Online (Sandbox Code Playgroud)

压缩后gzip -9v,我得到:

csv.txt:     25.0%
json-readable.txt:   16.2%
json-short.txt:  20.6%
rawbin.txt:  18.5%
sse.csv.txt:     25.0%
sse.json-readable.txt:   15.1%
sse.json-short.txt:  18.8%
Run Code Online (Sandbox Code Playgroud)

那些压缩率并不是很好,但也与预期相反:更加冗长的JSON格式似乎压缩得更厉害.

我的问题是:随着越来越多的数据流传输,压缩是否会变得更好?它是否动态地和隐式地了解哪些位是脚手架以及哪些位是可变数据?如果它是一种学习算法,是否有一个停止学习的地方,或者它理论上是否始终适应数据流?如果是这样,是否会对最近的数据给予额外的权重?

我做了一个粗略的测试,将cat25个sse.json-readable.txt放入一个文件中.然后Gzip给了我95.7%的压缩率.但我将此描述为原油有两个原因.首先,每行数据是相同的,而在实际数据中,数字和时间戳会略有不同,只有脚手架是相同的.第二个原因是gzip被赋予一个文件:gzip算法是否对数据进行预扫描以学习它,或者在文件中跳转?如果是这样,那些结果将不适用于Apache流数据(因为它已经压缩并发送第一行数据,然后才能看到第二行).

作为次要问题,我能否假设时间不是一个因素?例如,假设不涉及套接字重新连接,则每行数据之间可能存在1秒的间隙,或者间隔为60秒.

关于gzip如何工作的有用参考:http://www.infinitepartitions.com/art001.html

(顺便说一句,我目前的理解是,流式传输时的压缩将完全基于对第一个数据块的分析;所以我想知道我是否可以通过发送几行虚拟数据来获得更好的压缩,它有机会学习更好的压缩吗?!?)

http://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/filters/mod_deflate.c 15是给出32KB的.

http://www.zlib.net/zlib_how.html http://www.zlib.net/zlib_tech.html

更新:有用的链接

以下是Apache模块代码:http: //svn.apache.org/repos/asf/httpd/httpd/trunk/modules/filters/mod_deflate.c

窗口大小为15是Mark Adler在他的回答中提到的32KB窗口.

以下是一些有助于理解Apache代码的页面:http : //www.zlib.net/zlib_how.html http://www.zlib.net/zlib_tech.html


以下是上述测试文件,如果您关心:

csv.txt

2013-03-29 03:15:24,EUR/USD,1.303,1.304
Run Code Online (Sandbox Code Playgroud)

JSON-short.txt

{"t":"2013-03-29 06:09:03","s":"EUR\/USD","b":1.303,"a":1.304}
Run Code Online (Sandbox Code Playgroud)

JSON-readable.txt

{"timestamp":"2013-03-29 06:09:03","symbol":"EUR\/USD","bid":1.303,"ask":1.304}
Run Code Online (Sandbox Code Playgroud)

sse.csv.txt

data:2013-03-29 03:15:24,EUR/USD,1.303,1.304
Run Code Online (Sandbox Code Playgroud)

sse.json-short.txt

data:{"t":"2013-03-29 06:09:03","s":"EUR\/USD","b":1.303,"a":1.304}
Run Code Online (Sandbox Code Playgroud)

sse.json-readable.txt

data:{"timestamp":"2013-03-29 …
Run Code Online (Sandbox Code Playgroud)

apache gzip comet server-sent-events

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

正则表达式匹配整数然后空格的连续模式

我要求用户通过Scannerin Java进行输入,现在我想使用正则表达式解析他们的选择。本质上,我向他们展示了一个项目的枚举列表,他们输入了他们想要选择的项目的编号,用空格分隔。下面是一个例子:

1   yorkshire terrier
2   staffordshire terrier
3   goldfish
4   basset hound
5   hippopotamus 

Type the numbers that correspond to the words you wish to exclude: 3 5
Run Code Online (Sandbox Code Playgroud)

枚举的项目列表可以是几个元素或几百个。我正在使用的当前正则表达式看起来像这样^|\\.\\s+)\\d+\\s+,但我知道这是错误的。我还没有完全理解正则表达式,所以如果你能解释它在做什么,那也会很有帮助!

java regex

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

Catch 单元测试订购

我想使用Catch对 C++ 库进行单元测试。但是,我需要按顺序运行大部分测试用例。即库需要以某种方式初始化,然后用户登录等。是否有任何设计模式可以实现这一点。

预先感谢。

c++ unit-testing catch-unit-test

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

phpseclib 密钥登录失败如何解决?

我一直在尝试 phpseclib,以运行一个简单的 SSH 会话到各种云服务器。每次使用一键登录。

使用没有密码保护的密钥进行测试是可以的:我在标准端口 22 上尝试了一个,然后在非标准端口上尝试了另一个,两者都有效。(两者都在不同地区的 Amazon EC2 上。)

但是我尝试的第一个测试失败了,原因是:

SSH_MSG_USERAUTH_FAILURE: publickey,password
Run Code Online (Sandbox Code Playgroud)

它有一个受密码保护的密钥,带有一个非标准端口。这是我的脚本(已更改名称以保护无辜者):

include('Net/SSH2.php');
include('Crypt/RSA.php');

$ssh = new Net_SSH2('10.1.2.3', /*port*/999);
$key = new Crypt_RSA();

$key->setPassword('secrets');
$ret = $key->loadKey(file_get_contents('/home/tester/.ssh/my_private_key'));
if(!$ret){
    echo "loadKey failed\n";
    exit;
    }

if (!$ssh->login('ubuntu', $key)) {
    print_r($ssh->errors);
    exit("Login Failed\n");
    }

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
Run Code Online (Sandbox Code Playgroud)

我做了ssh-agent -d /home/tester/.ssh/my_private_key(强迫它提示我),然后在命令行上使用 ssh,它工作了。如果我跳过设置密码,则loadKey()返回 false。

所以,现在我想知道是否不支持密钥类型?“坏”键是这样开始的:

-----BEGIN DSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,A541E5B6B9077483BCEF845

YMMV4.....
Run Code Online (Sandbox Code Playgroud)

而“好”键以:

-----BEGIN RSA PRIVATE KEY-----
YMMVgIBab54...
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题,其中 Proc-Type 和 DEK-Info 看起来不错,但他是 …

phpseclib

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