问题列表 - 第9016页

在admin中显示模型URL

我有几个型号.除了管理员条目之外,没有任何列表视图.出于这个原因,手动计算模型实例的URL有点麻烦.

我想在列表和详细信息管理员视图中显示一个链接,直接将我带到公共视图.我可以做无意义的工作创建URL,但我不知道如何让它在管理员中显示.

有任何想法吗?

django django-admin

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

BeanUtils.copyProperties缺少深层嵌套变量?

我正在使用BeanUtils.copyProperties将一个对象的整个内容复制到另一个继承自它的对象中.

下面是上下文,从中复制值的域对象包含一组自定义类型为Xref的对象.该自定义类型具有嵌入式类,其具有各种类类型的各种字段.

由于某种原因,封装在嵌入对象中的对象中的一个字段不会被复制.但是我需要的大多数其他东西都被复制了.

举个例子:

class Source {
private Set<Xref> xref;
...
}

class Xref {
...
public static class primaryKey {
...
private MyObj obj;
}
}

class MyObj {
private Integer id;
...
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用BeanUtils.copyProperties将"Source"对象的内容复制到"SourceExtended"对象中,则使用这些名称source.xrefs.get(0).getPrimaryKey().getObj().getId()的值不会被复制.在原始对象中它有一个值,但在目标对象中它是null ...

知道为什么???

谢谢.

java apache-commons-beanutils

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

unique_ptr - 重大改进?

在实际的C++标准中,创建满足以下规则的集合即使不是不可能也很难:

  1. 异常安全,
  2. 廉价的内部操作(在实际的STL容器中:操作是副本),
  3. 自动内存管理.

为了满足(1),集合不能存储原始指针.为了满足(2),集合必须存储原始指针.为了满足(3),集合必须按值存储对象.

结论:这三个项目相互冲突.

当使用shared_ptrs 时,将不满足Item(2),因为当一个集合需要移动一个元素时,它需要进行两次调用:构造函数和析构函数.不可能进行大规模memcpy()的复制/移动操作.

我是否正确所描述的问题将通过unique_ptr和解决std::move()?使用这些工具的馆藏将能够满足所有3个条件:

  1. 当一个集合作为异常的副作用被删除时,它将调用unique_ptr析构函数.没有内存泄漏.
    • unique_ptr不需要任何额外的空间用于参考计数器; 因此它的身体应该与包裹的指针完全相同
    • 我不确定,但看起来这允许unique_ptrs通过使用memmove()类似操作()来移动组,
    • 即使不可能,std::move()操作员也可以在unique_ptr不进行构造函数/析构函数对调用的情况下移动每个对象.
  2. unique_ptr将拥有给定记忆的独家所有权.不会发生意外的内存泄漏.

这是真的?使用的其他优点是unique_ptr什么?

c++ programming-languages language-design c++11

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

wpf datepicker

好吧,我正试图从他们的wpftoolkit.dll设置microsoft的datepicker.我把它放在一个被禁用的网格中,不幸的是它的背景颜色保持白色(尽管它被禁用),而不像灰色的其他控件.

好的我做了这个:

    <Style TargetType="{x:Type tk:DatePicker}">
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Background" Value="LightGray"/>
            </Trigger>
        </Style.Triggers>
    </Style>
Run Code Online (Sandbox Code Playgroud)

但其中显示"显示日历"的文本仍然具有白色背景.如何设置样式使其看起来像其他控件,即灰色的所有背景?

wpf datepicker wpftoolkit

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

Linux c ++错误:对'dlopen'的未定义引用

我使用C++(Eclipse)在Linux中工作,并希望使用库.Eclipse向我显示错误:

undefined reference to 'dlopen' 
Run Code Online (Sandbox Code Playgroud)

你知道解决方案吗?

这是我的代码:

#include <stdlib.h>
#include <stdio.h>
#include <dlfcn.h>

int main(int argc, char **argv) {
    void *handle;
    double (*desk)(char*);
    char *error;

    handle = dlopen ("/lib/CEDD_LIB.so.6", RTLD_LAZY);
    if (!handle) {
        fputs (dlerror(), stderr);
        exit(1);
    }

    desk= dlsym(handle, "Apply");

    if ((error = dlerror()) != NULL)  {
        fputs(error, stderr);
        exit(1);
    }

    dlclose(handle);
}
Run Code Online (Sandbox Code Playgroud)

c++ eclipse linux

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

OpenGL版本和gpus - 有什么样的兼容性?

我试图了解显卡版本,OpenGL版本和API标头如何协同工作.我已经阅读了OpenGL论坛和其他地方的OpenGL 2.0/3.0/3.1崩溃,但目前还不清楚这对我作为开发人员(OpenGL新手)的影响.(顺便说一句,我在这个问题中使用nVidia作为一个例子,因为我正在购买他们的一张卡,但显然我希望与我开发的软件不相关供应商).

首先,GPU需要支持OpenGL版本.但是,例如nVidia有较旧的视频卡驱动程序支持OpenGL 3.这是否意味着这些驱动程序在软件中实现某些功能来模拟硬件中没有的新功能?

然后是API标头.如果我决定为OpenGL 3编写一个应用程序,我应该等到Microsoft发布带有支持该版本的标头的平台SDK的更新版本吗?你如何选择使用哪个版本的API - 通过代码中的预处理器定义,或者更新到最新平台SDK只需升级到最新版本(无法想象最后一个选项,但你永远不知道. ..).

向后兼容性怎么样?如果我编写一个针对OpenGL 1.2的应用程序,为其支持OpenGL 3的卡安装驱动程序的用户是否仍然可以运行它,或者我应该在我的应用程序中测试该卡的功能/支持的版本?阅读http://developer.nvidia.com/object/opengl_3_driver.html似乎确认至少对于针对1.2编写的nVidia卡应用程序将继续工作,但这也意味着其他供应商可能会停止支持1.2 API.基本上,这将使我(可能)处于未来的位置,软件将无法使用最近的卡,因为它们不再支持1.2.但是,如果我今天为OpenGL 3甚至2开发,我可能会拒绝那些只支持gpu的用户1.2.

我不需要OpenGL中的奇特功能 - 我几乎不使用任何着色,固定管道对我来说很好(我的应用程序是类CAD).什么是基于新应用程序的最佳版本,期望它将成为一个长期存在的应用程序,并在未来几年内进行增量更新?

我可能忘记了在这种情况下相关的其他问题,我们非常感谢任何见解.

opengl

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

您可以使用C++模板指定集合类型和该类型的特化吗?

例如,我想将一个类专门化为一个成员变量,它是一个stl容器,比如一个向量或一个列表,所以我需要这样的东西:

template <class CollectionType, class ItemType>
class Test
{
public:
    CollectionType<ItemType> m_collection;
};
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

Test  t = Test<vector, int>();
t.m_collection<vector<int>> = vector<int>();
Run Code Online (Sandbox Code Playgroud)

但这会产生

test.cpp:12: error: `CollectionType' is not a template
Run Code Online (Sandbox Code Playgroud)

c++ collections templates

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

SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

根据MSDN文档,可以传递SetupDiGetClassDevs 设备实例ID以获取特定设备的设备信息集:

要仅返回特定设备,请设置DIFCF_DEVICEINTERFACE标志并使用Enumerator参数提供设备的设备实例ID.

我通过解析WM_DEVICECHANGE消息DBT_DEVICEARRIVAL事件中的符号名称来获取设备实例ID ,并且通过将结果ID与从SetupDiGetDeviceInstanceId返回的ID进行比较来验证结果ID .即使传递操作系统提供的设备实例ID也不起作用(即SetupDiGetClassDevs调用失败ERROR_INVALID_PARAMETER).

我当前SP_DEVINFO_DATA为新到设备获取结构的解决方法是枚举同一类中的所有设备,并将SetupDiGetDeviceInstanceId的结果与符号名称进行比较.但是,根据文件,我不明白为什么这是必要的......

有没有人让SetupDiGetClassDevs以这种方式工作?有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?

windows winapi device hardware-interface setupapi

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

可能的NP完全问题?

我只是想让某人验证以下问题是NP完全还是实际上有一个比简单的强力组合检查更好/更容易的解决方案.

我们的软件中存在一种资源分配问题,我将用一个例子来解释它.

假设我们需要4个人在白班工作.这个数字以及它是"白班"的事实记录在我们的数据库中.

但是,我们并不需要任何人填写这些地点,需要填写一些要求才能满足要求.

在这4个中,让我们说其中2个必须是护士,其中1个必须是医生.

其中一名医生也必须作为特定团队的一员工作.

所以我们有这套信息:

白班:4名
   1名医生
   1名医生,需要在A组
   1名护士工作

以上不是问题.当我们开始挑选人们白天工作并试图弄清楚到目前为止我们选择的人是否能够真正满足标准时,问题就出现了.

例如,假设我们选择James,John,Ursula和Mary来工作,其中James和Ursula是医生,John和Mary是护士.

厄秀拉也在A队工作.

现在,根据我们试图适应账单的顺序,我们最终可能会推断出我们是否拥有合适的人,除非我们开始尝试不同的组合.

例如,如果在列表中首先选择Ursula,我们可以将她与"1医生"标准相匹配.然后我们到了詹姆斯,我们注意到,由于他不在A队工作,所以关于"1位医生,需要在A队工作"的其他标准,不能用他来填补.由于其他两个人都是护士,他们也不符合这个标准.

因此,我们首先回溯并尝试詹姆斯,他也可以符合第一个标准,然后厄秀拉可以满足需要该团队的标准.

所以问题在我们看来,因为我们需要尝试不同的组合,直到我们要么全部尝试,在这种情况下我们有一些尚未填充的标准,即使工作头的总数与总数相同需要的头数,或者我们发现了一个有效的组合.

这是唯一的解决方案,任何人都可以想到更好的解决方案吗?


编辑:一些澄清.

对这个问题的评论提到,对于这几个人,我们应该蛮力,我同意,这可能是我们可以做的,我们甚至可以做到这一点,在某些优化看待大小的同一条道路上如果数据量很小,数据并选择不同的排序算法,初始开销较小.

但问题在于,这是一个名册规划系统的一部分,你可能会涉及很多人,"我们在白天需要X人"以及"我们有这个Y人群"这将是",以及一个大的潜力"我们有这个X人的Z标准列表,将不得不以某种方式与这些Y人匹配",然后你补充说我们将有在领导者调整名单的同时,实时进行相同计算的天数,然后需要快速解决方案.

基本上,领导者会在屏幕上看到一个实时信息,说明有多少人仍在失踪,无论是在整个日班,还是有多少人符合各种标准,以及我们实际有多少人除了我们拥有的那些之外.这个显示器必须更新半实时,而领导者调整名单时"如果詹姆斯采取白天而不是厄秀拉,而厄秀拉需要夜班".

但是非常感谢到目前为止已经回答过这个问题的人,约束满足问题听起来像我们需要的方式,但我们肯定会在这里仔细查看所有的链接和算法名称.

这就是为什么我喜欢StackOverflow :)

algorithm allocation np-complete constraint-satisfaction

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

如何最好地说服人们升级IE?

我最近问了一个因措辞太强而被击落的问题.我今天要再去一次,因为这是我真正关心的事情,而且我真的希望得到聪明人的反馈和想法.

IE6并不是我存在的祸根,但它很接近.我是一名网络开发人员,花了太多时间为IE6修复问题.考虑到它的年龄和相对质量,我很震惊,所以很多人仍在使用它.

据我所知,有些公司仍将其用于传统的内部webapp支持,但我发现现在有两家公司尚未完全升级,因为XP的自动更新默认不提供它(你必须通过基于浏览器的Windows Update安装IE7/8).

所以忘记那些需要它的人,你会如何说服个人或组织升级到更新版本的IE?

警告横幅有效吗?我之前考虑过跳过做IE6修复并把"这个网站最好用......"的声明,但肯定有一个糟糕的网站让我和/或我的客户看起来很糟糕,而不是IE6.

还有一些人不需要保留IE6但无法升级,因为他们处于受控环境中.影响他们的最佳方式是让他们的管理员对问题做些什么?

注意:正如我上次所说,我不关心将这些人移动到另一个浏览器.我不介意给他们选择,但这当然不应该是Firefox/FOSS uber-alles线程.

我也不是在寻找一场斗争,只是建设性的想法,让业务类型以最小的方式了解浏览器技术.

编辑:有几个"你不能强迫它"的答案.我同意,但我觉得我可以影响它.当我看到IE6时,我会告诉别人,但我不会坐在访问我所创建的网站的每个IE6用户后面.

考虑关于卷烟的健康警告.他们不会强迫人们戒烟,但他们确实以简洁和(现在)相当野蛮的方式进行教育.毫无疑问,教育人们对吸烟者人数产生了巨大影响.

IE6比吸烟更容易上瘾,所以,推动教育理念似乎可能会影响合适的人做正确的事情.

browser internet-explorer upgrade cross-browser internet-explorer-6

44
推荐指数
9
解决办法
3391
查看次数