问题列表 - 第45417页

std :: tuple中的Void类型

显然,你不能void在格式良好的程序中有一个类型的实例,所以类似下面的声明就不会编译:

std::tuple<void, double, int> tup;
Run Code Online (Sandbox Code Playgroud)

但是,只要我们严格处理类型而不是对象,似乎没有问题.例如,我的编译器(GCC)让我说:

typedef std::tuple<void, double, int> tuple_type;
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意思,因为看起来使用C++ 0x我们可以用它std::tuple来执行许多早期需要boost::mpl库的元编程技巧.例如,我们可以使用std::tuple创建类型的向量.

例如,假设我们要创建表示函数签名的类型向量:

我们可以说:

template <class R, class... Args>
struct get_function_signature;

template <class R, class... Args>
struct get_function_signature<R(*)(Args...)>
{
    typedef std::tuple<R, Args...> type;
};
Run Code Online (Sandbox Code Playgroud)

这似乎有效,即使函数签名具有void类型,只要我们从未实际实例化实例get_function_signature<F>::type.

但是,C++ 0x对我来说仍然是新手,当然所有实现仍然有点实验性,所以我对此有点不安.我们真的可以std::tuple用作元编程的类型向量吗?

c++ tuples c++11

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

用什么?Tao,SharpGL,Op​​enTK,DirectX P/Invoke,XNA,MDX,SlimDX,Windows API编解码器包

回到白天很容易; 你制作了自己的3D东西,然后是DirectX,然后是OpenGL.对于.Net开发人员来说MDX很不错.然后XNA接管了MDX,但它不一样.XNA似乎非常以游戏为中心,包含固定模型和内容的所有内容流水线和预加载.

那么我们现在站在哪里?经过几天的研究/试验和错误,我觉得无处不在,我发现半开发的库,库有开销,严重的限制或过于复杂的库.

我想做"自由手"的3D东西.例如,在3D屏幕上显示200k点,并以30fps(Kinect深度图像)移动它们.我想制作3D屏幕保护程序,音频分析插件等.所有这些都不是内容管道的预制件,而且需要高性能.而且(嗯)我想从.Net那里做.

任何人都有图书馆的经验,这些图书馆既简单易懂又能提供相当大的自由和速度?

c# 3d

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

Enum.hashCode()背后的原因是什么?

类Enum中的方法hashCode()是final,定义为super.hashCode(),这意味着它根据实例的地址返回一个数字,该数字是来自程序员POV的随机数.

将其定义为例如ordinal() ^ getClass().getName().hashCode()跨不同JVM的确定性.它甚至可以更好地工作,因为最低有效位会"尽可能地改变",例如,对于包含多达16个元素的枚举和大小为16的HashMap,肯定没有碰撞(当然,使用EnumMap更好,但有时不可能,例如没有ConcurrentEnumMap).根据目前的定义,你没有这样的保证,对吗?

答案摘要

使用Object.hashCode()比较如上所述的更好的hashCode,如下所示:

  • PROS
    • 简单
  • CONTRAS
    • 速度
    • 更多冲突(对于任何大小的HashMap)
    • 非确定性,传播到其他对象,使其无法使用
      • 确定性模拟
      • ETag计算
      • 根据例如HashSet迭代顺序搜寻错误

我个人更喜欢更好的hashCode,但恕我直言,没有理由权重,可能除了速度.

UPDATE

我对速度感到好奇并写了一个令人惊讶的结果基准.对于每个类的单个字段的价格,您可以使用确定性哈希码,其速度快四倍.将哈希码存储在每个字段中会更快,尽管可以忽略不计.

标准哈希码不快得多的原因是它不能成为对象的地址,因为对象被GC移动了.

更新2

一般来说,表演会有一些奇怪的事情发生hashCode.当我理解它们时,仍然存在未解决的问题,为什么System.identityHashCode(从对象标题读取)比访问普通对象字段慢.

java hash enums

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

如何更改默认布局目录?

我的应用程序具有该Utilisation模块下的站点公共部分的所有控制器,它们都继承自Utilisation::UtilisationController.我想为这些控制器的利用/布局/*.html.erb'制作默认布局.

我尝试过:

layout 'utilisation/layouts/application.html.erb'
Run Code Online (Sandbox Code Playgroud)

但我明白了

ActionView::MissingTemplate (Missing layout layouts/utilisation/application ...
Run Code Online (Sandbox Code Playgroud)

如何更改默认布局目录?

ruby-on-rails

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

为什么"i"变量在我的程序中增加两倍?

我的一位朋友向我展示了这个程序并问我为什么i变量增加两次.

根据我的理解MAX(i++, ++j);,这一行i首先作为参数发送然后递增,所以如果初始值i10则应该是递增的值11,但它显示增加的值ias 12.

计划:

#include<stdio.h>

#define MAX(x,y) (x)>(y)?(x):(y)

void main(void)
{
    int i = 10;
    int j = 5;
    int k = 0;

    k = MAX(i++, ++j);

    printf("%d %d %d",i,j,k);
}
Run Code Online (Sandbox Code Playgroud)

输出:

12 6 11

有人可以解释一下我的价值如何增加到12?

谢谢.

c macros

6
推荐指数
3
解决办法
1146
查看次数

Apache服务器作为Jboss问题的代理

目前我的web应用程序在jboss上运行,但我有一个apache服务器,用作我的应用程序的代理.我有能力在我的jboss服务器上上传XML文件.上传时,它返回HTTP 200和XML响应Content-Type: text/xml.

有些用户在重定向到jboss的apache实例上使用此功能.这些用户在上传文件和Accept:/ header时有时会使用Content-Type:application/xml.使用此标头jboss可以正常工作,但是apache总是会返回错误的响应:

HTTP/1.1 502 Bad Gateway
< Date: Mon, 31 Jan 2011 23:33:47 GMT
< Server: Apache/2.0.63 (Unix) mod_jk/1.2.27
< Content-Length: 232
< Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Bad Gateway</title>
</head><body>
<h1>Bad Gateway</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
</p>
Run Code Online (Sandbox Code Playgroud)

当用户使用application/xml而不是text/xml标头值时,为什么会这样?apache会以某种方式比较这些标题吗?当用户使用text/xml值时,一切正常,apache打印jboss 200 OK响应.

java apache jboss http http-headers

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

使用Web Deploy发布ASP.NET MVC2站点

我目前使用Web Deploy,http: //learn.iis.net/page.aspx/346/web-deploy/来发布我的MVC2应用程序.它曾经运作良好,但现在它已经达到我无法继续使用它的程度:

当MVC应用程序很小并且只有少数用户时,它很容易发布.只需在Visual Studio中右键单击该项目,然后选择"发布".而且因为只有少数用户很容易找到没有人使用该网站进行快速更新的时间.

然后应用程序变得更大,并有更多的用户."发布"操作开始时间越来越长,偶尔会超时.即使我在部署之前回收了应用程序池,它仍然需要很长时间.

此外,当没有人使用该网站时,更难找到时间,因此可以在不影响任何人的情况下完成更新.

然后"发布"操作每次都开始计时,我不得不根据之前未解决的问题切换到手动部署:Visual Studio 2010 - Web部署超时 - 该怎么办?

现在手动部署需要更长时间,从5分钟到20分钟.并且用户数量显着增长,因此部署总是会影响某人(响应时间慢,超时,站点不可用等)

那我该怎么办?有没有比使用Web部署更好的替代方案?

编辑:

今天的部署花了18分钟才发布了49个已更改的文件.这种情况很荒谬,是我们网站目前最大的弱点之一.因此,我希望能够解决这个问题,从而获得了不错的奖金.

还有一些可能导致解决方案的问题:

  • 为什么只需要更改几个文件就需要这么长时间?
  • 为什么Web部署zip始终包含整个代码库而不仅仅是更改的文件?
  • 为什么我不自己手动复制更改的文件并跳过整个Web部署?但很难手动确定哪些文件已更改.我使用SVN - 它是否只能输出两个分支之间已更改的文件?
  • 我应该问什么其他问题,但还没有想到呢?

回答答案:

回复:http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_24.html这正是我进行部署的方式,也是一种理想的方法.Web部署可以正确识别哪些文件已更改,但它会超时并且不会发生发布.解决方案中大约有2500个文件,可能需要很长时间才能确定哪些文件发生了变化?或者可能是发布的超时值很短,只需上传15mb的zip文件即可使用所有时间.

我确实可以完全控制服务器,它确实支持Web部署.实际上有2台服务器:主服务器和冗余服务器,我们会在第一次服务器崩溃时做好准备.因此,任何解决方案都必须易于部署到多个服务器(Web部署是理想的,直到它停止工作).

为每个版本创建一个新文件夹,然后只是将IIS更改为指向该新文件夹的建议听起来像是在发布期间会导致更短的停机时间/慢速时间.但这是一个非常手动的过程,我更喜欢更自动化的东西.

编辑#2

我已经设法缩小它,并找到它确切的缓慢 - 但不是为什么.这来自部署日志:

[9/02/2011 12:11:56 a.m.] Performing synchronization pass #1.
[9/02/2011 12:11:56 a.m.] Parameter entry 'IIS Web Application Name/1' is applicable to 'iisApp/C:\src\Site.2010\Site.UI\obj\Release\Package\PackageTmp' because of its scope.
[9/02/2011 12:11:56 a.m.] Parameter entry 'IIS Web Application Name/2' is applicable to 'setAcl/C:\src\Site.2010\Site.UI\obj\Release\Package\PackageTmp' because of its scope. …
Run Code Online (Sandbox Code Playgroud)

deployment asp.net-mvc performance web-deployment-project visual-studio

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

CSS水平滚动问题

问题

在此输入图像描述 在此输入图像描述

我需要强制内容在X轴上滚动,而不是在Y轴上滚动.

HTML

我知道这格式很糟糕但它是动态生成的并且没有空格.

<div class="folderWrapper" id="folderContainer"><div class="folderBox ui-droppable folderBoxSel" onclick="folderSelected(0)" id="fBox0"><div class="counter" id="fCount0">4</div><div class="folderName">Unsorted</div></div><div class="folderBox ui-droppable" onclick="folderSelected(1)" id="fBox1"><div class="counter" id="fCount1">0</div><div class="folderName">test</div></div><div class="folderBox" onclick="folderSelected(1)" id="fBox1"><div class="counter" id="fCount1">0</div><div class="folderName">test</div></div><div class="folderBox" onclick="folderSelected(1)" id="fBox1"><div class="counter" id="fCount1">0</div><div class="folderName">test</div></div><div class="folderBox" onclick="folderSelected(1)" id="fBox1"><div class="counter" id="fCount1">0</div><div class="folderName">test</div></div><div class="folderBox" onclick="folderSelected(1)" id="fBox1"><div class="counter" id="fCount1">0</div><div class="folderName">test</div></div></div>
Run Code Online (Sandbox Code Playgroud)

使用一个文件夹内部框格很好地格式化:

<div class="folderWrapper" id="folderContainer">
    <div class="folderBox ui-droppable folderBoxSel" onclick="folderSelected(0)" id="fBox0">
        <div class="counter" id="fCount0">4</div>
        <div class="folderName">Unsorted</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.folderWrapper{
    overflow-x:scroll;
    overflow-y:hidden;
    height:85px;
    white-space:nowrap;
    margin-bottom:5px;
}
.folderBox{
    float:left;
    background-image:url(../images/artworking/folder.png);
    background-position:center top;
    background-repeat:no-repeat;
    width:85px;
    height:55px;  
    position:relative; …
Run Code Online (Sandbox Code Playgroud)

css horizontal-scrolling

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

Intellij-idea:在Mac OS X上使用Eclipse Keymap

将IntelliJ与Eclipse Keymap一起使用时Ctrl,所有快捷方式都设置为使用,而不是Command.就像Windows上的Eclipse一样.

有没有办法使用与Mac版Eclipse相同的密钥?

keyboard-shortcuts intellij-idea

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

什么 在C意味着什么?

C中的问号(?)是什么意思?

c

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