小编Tay*_*nli的帖子

了解asp.net中的负载均衡

我正在写一个网站,它将开始使用负载均衡器,我正试图绕过它.

  1. IIS会为您做所有的平衡吗?
  2. 您是否有一个单独的Web层位于分布式服务器上,在发送到子服务器之前执行某些工作,例如auth或其他工作?

看起来很多我一直在阅读的文章并没有真正给我一个直接的答案,或者我只是没有正确理解它们,我想了解真正的负载平衡如何从技术方面起作用,如果有人有任何代码可以分享,那也很好.

我知道缓存会成为一个问题,但这也是一个不同的主题,会话.

asp.net performance load-balancing

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

可能循环数据结构的功能

如果我有一个递归ADT

data MyType = A | B | C MyType | D MyType MyType
Run Code Online (Sandbox Code Playgroud)

我可以编写一个函数来确定是否MyType包含A类似的实例:

hasA :: MyType -> Bool
hasA A = True
hasA B = False
hasA (C x) = hasA x
hasA (D x y) = (hasA x) || (hasA y)
Run Code Online (Sandbox Code Playgroud)

这适用于非循环实例,但它不会停止循环结构,例如

let x = C x in hasA x
Run Code Online (Sandbox Code Playgroud)

相反,在这个例子中它应该返回False.在其他情况下(利用D),它将错误地停止而不是返回True.

那么,问题是我如何最容易地编写类似于hasA循环结构的函数?Racket以这种形式有一个特别好的功能define/fix,它允许你创建一个像hasA预期的那样的行为,并返回False上面例子中的结构,几乎没有任何额外的代码.有没有办法在Haskell中做类似的事情?它有延伸吗?

编辑:我现在发现define/fix实际上是由Matt Might创建的一个宏 …

haskell data-structures

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

如何从python中的两个词典构造一个字典?

假设我有一本字典:

x = {"x1":1,"x2":2,"x3":3}
Run Code Online (Sandbox Code Playgroud)

我有另一本字典:

y = {"y1":1,"y2":2,"y3":3}
Run Code Online (Sandbox Code Playgroud)

有没有任何巧妙的方法来构建前两个字典中的第三个字典:

z = {"y1":1,"x2":2,"x1":1,"y2":2}  
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

这个循环可以实现Pythonic列表理解吗?

我与列表理解有一种爱/恨的关系.一方面我认为它们整洁优雅.另一方面,我讨厌阅读它们.(特别是那些我没写的)我通常遵循规则,让它可读,直到需要速度.所以我的问题在这一点上确实是学术性的.

我想要一张表格中的电台列表,这些电台的字符串通常有额外的空格.我需要剥掉那些空间.有时这些站是空白的,不应包括在内.

stations = []
for row in data:
    if row.strip():
        stations.append(row.strip())
Run Code Online (Sandbox Code Playgroud)

这转化为这个列表理解:

stations = [row.strip() for row in data if row.strip()]
Run Code Online (Sandbox Code Playgroud)

这种方法效果很好,但我发现我正在做两次剥离.我猜测.strip()实际上并不需要两次,并且通常比分配变量慢.

stations = []
for row in data:
    blah = row.strip()
    if blah:
        stations.append(blah)
Run Code Online (Sandbox Code Playgroud)

事实证明我是对的.

> Striptwice list comp 14.5714301669     
> Striptwice loop 17.9919670399
> Striponce loop 13.0950567955
Run Code Online (Sandbox Code Playgroud)

Timeit显示在两个循环段之间,第二个(条带一次)更快.这里没有真正的惊喜.令我感到惊讶的是,列表理解只是略微慢一些,即使它正在做两次.

我的问题:有没有办法写一个列表理解,只做一次剥离?



结果:

以下是建议的时间结果

# @JonClements & @ErikAllik
> Striptonce list comp 10.7998494348
# @adhie
> Mapmethod loop 14.4501044569
Run Code Online (Sandbox Code Playgroud)

python loops list-comprehension

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

为什么空合并运算符(??)在这种情况下不起作用?

NullReferenceException当我运行此代码时,我发现了一个意外,省略了fileSystemHelper参数(因此将其默认为null):

public class GitLog
    {
    FileSystemHelper fileSystem;

    /// <summary>
    ///   Initializes a new instance of the <see cref="GitLog" /> class.
    /// </summary>
    /// <param name="pathToWorkingCopy">The path to a Git working copy.</param>
    /// <param name="fileSystemHelper">A helper class that provides file system services (optional).</param>
    /// <exception cref="ArgumentException">Thrown if the path is invalid.</exception>
    /// <exception cref="InvalidOperationException">Thrown if there is no Git repository at the specified path.</exception>
    public GitLog(string pathToWorkingCopy, FileSystemHelper fileSystemHelper = null)
        {
        this.fileSystem = fileSystemHelper ?? new FileSystemHelper(); …
Run Code Online (Sandbox Code Playgroud)

c# null-coalescing-operator

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

在Python中截断十进制值

我试图在Python中截断一个十进制值.我不想舍入它,而只是显示小数值达到指定的精度.我尝试了以下方法:

d = 0.989434
'{:.{prec}f}'.format(d, prec=2)
Run Code Online (Sandbox Code Playgroud)

这使其达到0.99.但我实际上希望输出为0.98.显然,round()不是一种选择.有没有办法做到这一点?或者我应该回到代码并将所有内容更改为decimal

谢谢.

python formatting truncate decimal

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

为什么`Condition`属性不适用于`ItemGroup`元素?

MS Visual Studio 2013.

两者WhenItemGroup元素都可以具有Condition属性(正如我在MSDN中看到的那样).但我得到了不同的结果.

如果$(CAD_Year)是2015年,我预计AcRibbon不会 referensed到我的项目:

<ItemGroup Condition= "'$(CAD_Year)' &lt; '2010'" >    
  <Reference Include="AcRibbon">
    <HintPath>$(CAD_SDK_Location)\$(Inc)\AcRibbon.dll</HintPath>
    <Private>False</Private>
  </Reference>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

但是我AcRibbon总是在解决方案浏览器中得到未解决的参考.

但这个变种工作正常:

<Choose>
  <When Condition= "'$(CAD_Year)' &lt; '2010'">
    <ItemGroup>
      <Reference Include="AcRibbon">
        <HintPath>$(CAD_SDK_Location)\$(Inc)\AcRibbon.dll</HintPath>
        <Private>False</Private>
      </Reference>
    </ItemGroup>
  </When>
</Choose>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,AcRibbon只有在$(CAD_Year)低于2010年才会被引用.为什么我得到不同的结果?

msbuild visual-studio visual-studio-2013

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

Git镜子与gerrit

如何将git存储库镜像到Gerrit?

我会做的:

[git repository for libdrm] - >我的gerrit < - >开发人员

Gerrit从freedesktop git存储库下载更改.开发人员从gerrit克隆存储库并推入gerrit.开发人员从不将更改推送到主存储库.

我用gerrit创建了新项目.我下载了存储库:

git clone http://anongit.freedesktop.org/git/mesa/drm.git
Run Code Online (Sandbox Code Playgroud)

我会把这个存储库推到gerrit,但我不能,因为我有错误:

remote: ERROR:  In commit ced219ebbd3b266ac8326223bad62f994907ae6b
remote: ERROR:  committer email address chris@chris-wilson.co.uk
remote: ERROR:  does not match your user account.
remote: ERROR:
remote: ERROR:  The following addresses are currently registered:
remote: ERROR:    xxx@example.com
remote: ERROR:
remote: ERROR:  To register an email address, please visit:
remote: ERROR:  http://mygerrit-server/#/settings/contact
Run Code Online (Sandbox Code Playgroud)

我有所有人的权利.我怎么能把镜子添加到gerrit?

git gerrit

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

检查haskell中函数参数的最佳方法

我有一个函数说foo :: [Integer] - > Bool,但只有当传入的参数对某些条件有效时它才有效,否则它应该立即终止.

 foo x | not $ isSorted x = False
       | otherwise = some_recursive_stuff_here
       where
            isSorted ax = ax == sort ax
Run Code Online (Sandbox Code Playgroud)

等等

但是我不希望每次都检查它是否已经排序.有没有一种好方法可以处理其他内容然后引入另一个内部函数?

haskell arguments function

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

Rand()%14仅生成值6或13

每当我运行以下程序时,返回的值总是6或13.

#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;

//void randomLegs();
//void randomPush();
//void randomPull();
//void randomMisc();


int main(int argc, const char * argv[])
{
    srand(time(NULL));
    //randomLegs();
    cout << rand() % 14;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在今天和昨天,我已经将程序运行了近百次.

谁能告诉我我做错了什么?

谢谢.

编辑:顺便说一句,如果我将rand()的范围改为13或15,它就可以了.

c++ random srand

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