小编Dan*_*ite的帖子

将代码段分配给Visual Studio中的键盘快捷键

任何人都知道如何为特定代码段分配键快捷键?

我想将例如分配CTRL+K,CTRL+J给一个#region片段.

因此能够:

  1. 选择文字,
  2. CTRL+K,CTRL+J=>
  3. 选定的文本将与包围#region.. #endregion.

我讨厌当我不得不把手伸出键盘超过必要的时间:).

编辑:为了更多的理解,我问如何将键快捷键直接绑定到SPECIFIC片段.打开代码段选择器对我不起作用.如果我必须搜索我的所有片段以获得#region的片段,那么它会更糟糕,然后自己编写所有代码.

感谢任何建议.

visual-studio code-snippets

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

使用Python将ini文件中的所有内容读入字典

通常,我按如下方式编码,以获取变量中的特定项目,如下所示

try:
    config = ConfigParser.ConfigParser()
    config.read(self.iniPathName)
except ConfigParser.MissingSectionHeaderError, e:
    raise WrongIniFormatError(`e`)

try:
    self.makeDB = config.get("DB","makeDB")
except ConfigParser.NoOptionError:
    self.makeDB = 0
Run Code Online (Sandbox Code Playgroud)

有没有办法读取python字典中的所有内容?

例如

[A]
x=1
y=2
z=3
[B]
x=1
y=2
z=3

被写入

val["A"]["x"] = 1
...
val["B"]["z"] = 3

python ini configuration-files

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

Jasmine间谍重置呼叫不会返回

我正在使用Jasmine(2.2.0)间谍来查看是否调用了某个回调.

测试代码:

it('tests', function(done) {
  var spy = jasmine.createSpy('mySpy');
  objectUnderTest.someFunction(spy).then(function() {
    expect(spy).toHaveBeenCalled();
    done();
  });
});
Run Code Online (Sandbox Code Playgroud)

这按预期工作.但现在,我正在增加第二个级别:

it('tests deeper', function(done) {
  var spy = jasmine.createSpy('mySpy');
  objectUnderTest.someFunction(spy).then(function() {
    expect(spy).toHaveBeenCalled();
    spy.reset();
    return objectUnderTest.someFunction(spy);
  }).then(function() {
    expect(spy.toHaveBeenCalled());
    expect(spy.callCount).toBe(1);
    done();
  });
});
Run Code Online (Sandbox Code Playgroud)

此测试永远不会返回,因为显然done回调从未被调用过.如果我删除该行spy.reset(),测试确实完成,但显然在最后的期望中失败.然而,这个callCount领域似乎是undefined,而不是2.

javascript spy jasmine jasmine2.0

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

什么是命名空间?

我没有采用通常的CS路线来学习编程,我经常听到名称空间,但我并不理解这个概念.我在网上找到的描述通常是在我不熟悉的C语境中.

我一直在做Ruby 2年,我正在努力深入了解语言和OOP.

programming-languages

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

有没有办法找到比sum()/ N"更好"的算术平均值?

假设我们有N个数字(整数,浮点数,你想要的任何东西),并希望找到它们的算术平均值.最简单的方法是将所有值相加并除以值的数量:

def simple_mean(array[N]): # pseudocode
    sum = 0
    for i = 1 to N
       sum += array[i]
    return sum / N
Run Code Online (Sandbox Code Playgroud)

它工作正常,但需要大整数.如果我们不希望大整数和我们都是罚款舍入误差,N是两个电源,我们可以使用"分而治之": , ((a+b)/2 + (c+d)/2)/2 = (a+b+c+d)/4, ((a+b+c+d)/4 + (e+f+g+h)/4)/2 = (a+b+c+d+e+f+g+h)/8等等.

def bisection_average(array[N]):
   if N == 1: return array[1]
   return (bisection_average(array[:N/2])+bisection_average(array[N/2:]))/2
Run Code Online (Sandbox Code Playgroud)

还有其他方法吗?

PS.懒惰的游乐场

language-agnostic algorithm math

19
推荐指数
3
解决办法
6624
查看次数

使用MSBuild定位.NET的特定版本

我有一个MSBuild项目引用的解决方案.在解决方案中,我引用了几个针对.NET 4.0的项目.如何告诉MSBuild忽略项目的配置并仅针对.NET 3.5?

msbuild build

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

使用Pentaho Kettle,如何自动重试因连接打嗝而失败的休息请求?

我们怎样才能使Pentaho重试连接错误的休息请求?

我们有一个Pentaho BI系统,它在众多数据源中查询特定的REST api,每次运行的查询变量超过20k.

可以预见的是,在大多数运行中,由于连接打嗝,这些请求中的一些会失败.这些通常在Pentaho日志中表现为org.pentaho.di.core.exception.KettleException由于javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake最终由此引起的java.io.EOFException: SSL peer shut down incorrectly.

在浏览了互联网和Pentaho论坛之后,我们找不到任何关于在这种情况下添加简单重试方法的说明.头发被撕掉了.

帮帮我StackOverflow,你是我唯一的希望!

更新1: Stacktrace:

ERROR 29-11 11:02:17,659 - B - org.pentaho.di.core.exception.KettleException:
Can not result from [https://<DOMAIN>/<PATH>?<PARAMS>]
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake    
    at org.pentaho.di.trans.steps.rest.Rest.callRest(Rest.java:190)
    at org.pentaho.di.trans.steps.rest.Rest.processRow(Rest.java:385)
    at org.pentaho.di.trans.step.RunThread.run(RunThread.java:40)
    at java.lang.Thread.run(Thread.java:662)
Caused by: com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:213)
    at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
    at com.sun.jersey.api.client.filter.HTTPBasicAuthFilter.handle(HTTPBasicAuthFilter.java:81)
    at com.sun.jersey.api.client.Client.handle(Client.java:648)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
    at com.sun.jersey.api.client.WebResource.get(WebResource.java:191)
    at org.pentaho.di.trans.steps.rest.Rest.callRest(Rest.java:141)
    ... 3 more …
Run Code Online (Sandbox Code Playgroud)

rest http pentaho kettle

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

空条件运算符"无效"数组元素的存在

新的C#6.0空条件运算符是一种方便的工具,用于编写更简洁,更简单的代码.假设有一个客户数组,那么如果customers使用此方法为空,则可以获取null而不是长度(来自MSDN的示例):

int? length = customers?.Length;
Run Code Online (Sandbox Code Playgroud)

同样地,您可以使用以下方法获取null而不是客户:

Customer first = customers?[0];
Run Code Online (Sandbox Code Playgroud)

对于更精细的表达式,如果customers为null,则第一个客户为null,或者第一个客户的Orders对象为null,则返回null:

int? count = customers?[0]?.Orders?.Count();
Run Code Online (Sandbox Code Playgroud)

但是,有一个有趣的情况是不存在的客户,零条件运算符似乎没有解决.我们在上面看到覆盖了一个客户,即customers数组中的条目是否为空.但这与不存在的客户截然不同,例如5在3元素阵列中查找客户或n在0元素列表中查找客户.(请注意,同样的讨论也适用于字典查找.)

在我看来,零条件运算符专注于否定NullReferenceException的影响; IndexOutOfRangeException或KeyNotFoundException独自暴露,在角落里畏缩,需要自生自灭!我提出,在零条件运算符的精神下,它应该能够处理这些情况......这导致了我的问题.

我错过了吗?null条件是否提供了真正涵盖此表达式的任何优雅方式......

customers?[0]?.Orders?.Count();
Run Code Online (Sandbox Code Playgroud)

......没有第0个元素的时候?

c# arrays null c#-6.0 null-propagation-operator

19
推荐指数
3
解决办法
6110
查看次数

命名空间和子命名空间

有没有办法使用命名空间,然后让它自动使用所有子命名空间?

例:

namespace Root.Account
{
//code goes here
}

namespace Root.Orders
{
//code goes here
}


//New File:
using Root;
Run Code Online (Sandbox Code Playgroud)

为了让我使用Root.Account中的代码,我需要使用Root.Account添加到我的代码中.

我希望能够说使用Root并让它获取任何子命名空间类以供使用.

如果这是有道理的,这可能吗?

谢谢

c# namespaces

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

将blob转换为文件

我需要将blob转换为文件i javascript.

我正在使用File API

var blob = new Blob(byteArrays, { type: contentType });
Run Code Online (Sandbox Code Playgroud)

这是从读取裁剪图像的函数返回的.

旧的上传功能使用$ files作为输入.

我想将该blob转换为文件,然后在该对象中设置名称和类型.我该怎么做呢??

javascript

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