问题列表 - 第15548页

具有整数仿真的Python类

给出以下示例:

class Foo(object):
    def __init__(self, value=0):
        self.value=value

    def __int__(self):
        return self.value
Run Code Online (Sandbox Code Playgroud)

我想要一个类Foo,它充当整数(或浮点数).所以我想做以下事情:

f=Foo(3)
print int(f)+5 # is working
print f+5 # TypeError: unsupported operand type(s) for +: 'Foo' and 'int'
Run Code Online (Sandbox Code Playgroud)

第一个语句print int(f)+5正在工作,因为有两个整数.第二个是失败的,因为我必须实现__add__与我的类一起执行此操作.

因此要实现整数行为,我必须实现所有整数模拟方法.我怎么能绕过这个呢.我试图继承int,但这种尝试没有成功.

更新

继承int失败,如果你想使用__init__:

class Foo(int):
    def __init__(self, some_argument=None, value=0):
        self.value=value
        # do some stuff

    def __int__(self):
        return int(self.value)
Run Code Online (Sandbox Code Playgroud)

如果你然后打电话:

f=Foo(some_argument=3)
Run Code Online (Sandbox Code Playgroud)

你得到:

TypeError: 'some_argument' is an invalid keyword argument for this function
Run Code Online (Sandbox Code Playgroud)

使用Python 2.5和2.6进行测试

python floating-point integer emulation

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

JPA登录WebLogic 11g(10.3.1)

在WebLogic 11g中运行应用程序时,如何为OpenJPA启用调试日志记录?我尝试使用Weblogic 10.3 Logging JPA SQL给出的步骤,但服务器日志中没有出现OpenJPA日志语句.我还提到了有关日志记录配置的WebLogic文档,但目前尚不清楚如何为此特定子系统(JPA)启用调试日志记录.有任何想法吗?

java logging weblogic jpa openjpa

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

提升随机数库,对不同的变量生成器使用相同的随机数生成器

似乎可以使用以下代码从特定的Normal分布中生成随机数:

float mean = 0, variance = 1;
boost::mt19937 randgen(static_cast<unsigned int>(std::time(0)));
boost::normal_distribution<float> noise(mean, variance);
variate_generator<mt19937, normal_distribution<float> > nD(randgen, noise);

float random = nD();
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是,我希望能够从几个发行版中绘制数字,即人们会想到如下:

float mean1 = 0, variance1 = 1, mean2 = 10, variance2 = 0.25;
boost::mt19937 randgen(static_cast<unsigned int>(std::time(0)));
boost::normal_distribution<float> noise1(mean1, variance1);
boost::normal_distribution<float> noise2(mean2, variance2);
variate_generator<mt19937, normal_distribution<float> > nD(randgen, noise1);
variate_generator<mt19937, normal_distribution<float> > nC(randgen, noise2);

float random1 = nD();
float random2 = nC();
Run Code Online (Sandbox Code Playgroud)

然而,问题似乎是nD()和nC()正在生成相似的数字序列.我假设这是因为variate_generator的构造函数似乎制作了randgen的副本,而不是显式使用它.因此,生成相同的伪随机序列并简单地推送通过不同的变换(由于分布的不同参数).

有没有人知道在Boost中是否有办法创建一个随机数生成器并将其用于多个发行版?或者,Boost随机库的设计是否打算用户为每个分布创建一个随机数生成器?显然,我可以编写代码将一系列均匀随机数转换为来自任意分布的序列,但我正在寻找一些简单且已经内置到库中的东西.

在此先感谢您的帮助.

c++ random boost

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

E_ALL的重点是什么?E_STRICT如果它与E_ALL的值相同?

  • E_ALL等于8191(0001 1111 1111 1111)
  • E_STRICT等于2048(0000 1000 0000 0000)

使用按位OR组合它们:

1 1111 1111 1111
  1000 0000 0000
Run Code Online (Sandbox Code Playgroud)

我们得到与原始值完全相同的E_ALL:

1 1111 1111 1111
Run Code Online (Sandbox Code Playgroud)

什么是做的点error_reporting(E_ALL | E_STRICT),如果我们可以简单做error_reporting(E_ALL)来获得同样的事情?

php error-reporting

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

接口与单独的项目中的类实现分开?

我们在一个中型项目(超过6个月的3个开发人员)上工作,需要做出以下决定:我们希望将接口与具体实现分开.第一种是将接口存储在单独的文件中.

我们想进一步分离数据:我们希望在一个.CS文件中添加一个带有接口的项目(CSPROJ)以及带有帮助类的另一个.CS文件(比如此接口中使用的一些公共类,一些枚举等).然后,我们想要另一个项目(CSPROJ),它具有工厂模式,具体的接口实现和其他"工作者"类.

任何想要创建实现此接口的对象的类都必须包含第一个包含接口和公共类的项目,而不是实现本身.

这个解决方案有一个很大的缺点:它将程序集的数量乘以2,因为每个"普通"项目都有一个带有interace的项目和一个带有实现的项目.

你会推荐什么?您认为将所有接口放在一个单独的项目中而不是在其自己的项目中的一个接口上是一个好主意吗?

c# interface

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

如何防止公共计算机中的JS劫持

这个问题与JS劫持场景有关,这里是:

说好先生有一个名为"iamtooinnocent.com"的网站,它加载一个"x.js"文件来执行某些特定的任务,而Bad先生是一个邪恶的网吧老板,他设置了一个重定向规则,无论何时何地冲浪者使用他的网吧访问Good的网站,然后当要求"x.js"文件时,它会简单地将其重定向到其他邪恶的域名,其中包含一个带有恶意代码的不同"x.js"文件,这样Good's网站永远不会知道它有一个不同于它所要求的JS文件.

我希望我已经正确地解释了这个场景,所以我的问题是如何防止这种情况?真的有办法防止这种情况发生吗?可以通过使用HTTPS提供JS文件来防止这种情况,但我不太确定吗?有人可以就这个问题给我一些看法吗?

提前致谢.

javascript security

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

使用MATLAB的urlread命令处理无效的安全证书

我正在使用MATLAB的urlread命令访问内部数据库,一切正常,直到服务被移动到安全服务器(即使用HTTPS地址而不是HTTP地址).现在urlread不再成功检索结果.它给出了一个错误:

下载URL时出错.您的网络连接可能已关闭或您的代理设置未正确配置.

我相信这个问题是因为如果我尝试直接访问该资源在Web浏览器中,我得到"不可信连接"警告这我能够通过将站点添加到例外列表通过该服务使用无效的数字证书.urlread没有明显的方法来处理这个问题.

引擎盖urlread下使用Java来访问Web资源,并在此行引发错误:

inputStream = urlConnection.getInputStream;
Run Code Online (Sandbox Code Playgroud)

urlConnectionJava对象在哪里:sun.net.www.protocol.https.HttpsURLConnectionImpl.

有人建议解决这个问题吗?

java https matlab ssl-certificate urlread

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

如何在OpenGL 3.x中翻译单个对象?

我有一点经验编写的OpenGL 2应用程序并希望使用OpenGL 3为此,我已经买了艾迪生韦斯利"红书"和"橙色书"(GLSL)的descirbe的固定功能的折旧和学习新的可编程管道(着色器).但是我无法理解的是如何构建一个具有多个对象的场景而不使用已弃用的translate*,rotate*和scale*函数.

我以前在OGL2中做的是使用translate和rotate函数在3D空间中"移动",并使用glBegin ... glEnd在本地坐标中创建我想要的对象.在OGL3中,这些函数都被弃用了,据我所知,它被着色器取代.但是我不能为我制作的每一个对象调用着色器程序,是吗?这不会影响所有其他对象吗?

我不确定我是否已经解释了我的问题令人满意,但其核心是如何使用OpenGL 3.1中本地坐标中定义的多个对象编程场景.我发现的所有初学者教程只使用一个对象而没有/解决这个问题.

编辑:想象一下,你想要两个旋转立方体.手动修改每个顶点坐标会很痛苦,你不能简单地修改模型视图矩阵,因为这样可能会使摄像机围绕两个静态立方体旋转......

opengl

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

SVN和代码在几个项目之间共享

我在SVN有多个项目.这些项目中的每一个都位于它自己的主干中,并为发布分支.

每个项目都有一个共享代码.问题是处理代码的最佳方法是什么.

让我举几个场景以及与它们相关的问题

a)将共享代码放在单独的主干(或存储库)中,并使用svn:external.

如果我们分支一些项目,将会有两个问题:

  • 在trunk中进行的共享代码的任何修改都将传播到分支,因为svn:external将获取更改
  • 如果我们需要在某个时刻返回并构建完全构建用于发布的代码,那么我们将很难获得确切的代码,因为snv:external将再次获取共享代码的最新副本,而不是在项目受到影响时的代码.

据我所知,有一项工作.一旦我们分支,我们就可以修改svn:external来获取共享代码的精确修订版.然而,还有两个陷阱:

  • 每次分支时都需要记住这样做.(我讨厌这些容易忘记的事情).
  • 如果需要为分支/已发布项目执行修补程序,则无法修改共享代码.

b)另一种解决方案是在项目分支时分支共享代码,并在外部更改为指向共享代码的bracnhed副本.

  • 同样,其中一个问题是手动步骤,很容易忘记
  • 另一个问题是合并问题.当您尝试将项目中的更改合并到主干时,SVN将跳过外部.因此,开发人员需要记住手动合并共享代码.

我错过了什么吗?有没有合理的方法来解决这个问题?

svn branch

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

关于可伸缩Web应用程序(Java/Ajax/REST)的任何好书?

是否有关于这个主题的好书值得阅读并且仍然与当前技术保持同步?

我最感兴趣的是后端架构以及我应该考虑选择集群和数据库解决方案的事情,因为我计划在前端使用GWT,因此无法在那里控制很多.

我正在寻找一本能回答以下问题的书:如何选择负载均衡策略?选择什么数据库模型?如何扩展数据?如何扩展请求处理?构建能够处理大量流量的Web应用程序时常见问题是什么?

java ajax rest scalability

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