问题列表 - 第1427页

链接linux中的特定共享库版本

我的构建过程包括Qt的qmake Makefile生成器和与linux捆绑在一起的典型make实用程序.
我的应用程序由几个共享库组成,主应用程序与它们相关联.
如何在我的库上应用典型的linux版本控制方案?(使用版本2 - >指向foo.so.2的链接,指向带有ldconfig生成链接的foo.so.2.yz).

答案不一定要特定于我的构建过程.

linux linker build-process

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

将常用字体方案应用于wxPython中的多个对象

很多时候,我会在wxPython应用程序中对静态文本使用相同的字体方案.目前我正在SetFont()调用每个静态文本对象,但这似乎是很多不必要的工作.但是,wxPython演示和wxPython In Action书中没有讨论这个问题.

有没有办法轻松地将相同的SetFont()方法应用于所有这些文本对象,而不是每次都进行单独的调用?

python fonts wxpython

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

Windows服务应用程序中的NHibernate会话管理

我正在开发和作为Windows服务运行的应用程序.还有其他组件包括一些WCF服务,客户端GUI等 - 但它是访问数据库的Windows服务.

因此,该应用程序是一个长期运行的服务器,我想提高其性能和可伸缩性,我希望改善数据访问等.我发布了另一个关于二级缓存的帖子.

这篇文章是关于访问数据库的长期运行线程的会话管理.我应该使用线程静态上下文吗?如果是这样,是否有任何关于如何实施的例子.

网络上每个使用NHibernate的人似乎都非常关注Web应用程序风格的体系结构.对于非Web应用程序设计,似乎缺乏文档/讨论.

目前,我的长期运行线程执行此操作:

  1. 调用3或4个DAO方法
  2. 验证返回的分离对象的状态.
  3. 如果需要,更新状态.
  4. 调用几个DAO方法来持久化更新的实例.(传入对象的id和实例本身 - DAO将再次从DB中检索对象,并在提交事务之前设置更新的值和session.SaveOrUpdate().
  5. 睡觉'n'秒
  6. 重复一遍!

因此,以下是我们为每个DAO方法使用的常见模式:

  • 使用sessionFactory.OpenSession()打开会话
  • 开始交易
  • db工作.检索/更新等
  • 提交trans
  • (例外情况下的回滚)
  • 最后总是处理事务和session.Close()

对于DAO类的每个方法调用都会发生这种情况.我怀疑这是我们这样做的某种反模式.

但是,我无法在任何地方找到足够的方向来改进它.

请注意,虽然这个线程在后台运行,做其中的东西,有来自WCF客户端的请求,每个客户端可以自己进行2-3个DAO调用 - 有时查询/更新长时间运行的线程处理的相同对象.

任何有关改进我们设计的想法/建议/指示将不胜感激.如果我们能够进行一些很好的讨论,我们可以将它作为一个社区维基,并可能从http://nhibernate.info链接到这里

克里希纳

nhibernate

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

LaTeX Beamer包,在\ againframe中更改框架标题

在LaTeX中使用Beamer包中的\ againframe时是否可以更改帧标题?我希望在框架内的特定幻灯片上显示前一帧,但这次使用不同的标题.

谢谢.

latex beamer

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

在C#中使用Java类

我有一个用Java编写的项目(> 1.5).

是否可以用C#编写项目的一部分?
例如GUI和调用方法并实例化用java编写的类?

如果有,怎么样?

c# java

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

删除Derby DB中的所有表

如何使用JDBC删除Apache Derby DB上架构中的所有表?

java sql jdbc derby

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

接口"递归"和引用计数

我的接口有一个小问题.这是伪代码:

type
  Interface1 = interface
  end;

  Interface2 = interface
  end;

  TParentClass = class(TInterfacedObject, Interface1)
  private
    fChild : Interface2;
  public
    procedure AddChild(aChild : Interface2);
  end;

  TChildClass = class(TInterfacedObject, Interface2)
  private
    fParent : Interface2;
  public
    constructor Create(aPArent : Interface1);
  end;
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到这个缺陷吗?我需要孩子引用它的父级,但引用计数在这种情况下不起作用.如果我创建一个ParentClass实例,并添加一个子类,那么父类永远不会被释放.我明白为什么.我怎么绕圈呢?

delphi oop interface

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

访客模式+开放/封闭原则

是否可以实现尊重开放/封闭原则访客模式,但仍然能够添加新的可访问类?

开放/封闭原则规定"软件实体(类,模块,功能等)应该开放以进行扩展,但是关闭以进行修改".

struct ConcreteVisitable1;
struct ConcreteVisitable2;

struct AbstractVisitor
{
   virtual void visit(ConcreteVisitable1& concrete1) = 0;
   virtual void visit(ConcreteVisitable2& concrete2) = 0;
};

struct AbstractVisitable
{
   virtual void accept(AbstractVisitor& visitor) = 0;
};

struct ConcreteVisitable1 : AbstractVisitable
{
   virtual void accept(AbstractVisitor& visitor)
   {
      visitor.visit(*this);
   }
};

struct ConcreteVisitable2 : AbstractVisitable
{
   virtual void accept(AbstractVisitor& visitor)
   {
      visitor.visit(*this);
   }
};
Run Code Online (Sandbox Code Playgroud)

您可以实现任意数量的派生自AbstractVisitor的类:它是可以扩展的.您无法添加新的可访问类,因为从AbstractVisitor派生的类将无法编译:它已关闭以进行修改.

AbstractVisitor类树遵循开放/封闭原则.AbstractVisitable类树不遵循开放/封闭原则,因为它无法扩展.

除了扩展AbstractVisitor和AbstractVisitable之外还有其他解决方案吗?

struct ConcreteVisitable3;

struct AbstractVisitor2 : AbstractVisitor
{
   virtual void visit(ConcreteVisitable3& concrete3) = 0;
};

struct …
Run Code Online (Sandbox Code Playgroud)

c++ oop design-patterns visitor-pattern open-closed-principle

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

获得所有除数的最佳方法是什么?

这是非常愚蠢的方式:

def divisorGenerator(n):
    for i in xrange(1,n/2+1):
        if n%i == 0: yield i
    yield n
Run Code Online (Sandbox Code Playgroud)

我想得到的结果类似于这个,但我想要一个更聪明的算法(这个太慢和愚蠢了:-)

我可以足够快地找到素数因子及其多样性.我有一个以这种方式生成因子的生成器:

(factor1,multiplicity1)(factor2,multiplicity2)
(
factor3,multiplicity3)
等......

即输出

for i in factorGenerator(100):
    print i
Run Code Online (Sandbox Code Playgroud)

是:

(2, 2)
(5, 2)
Run Code Online (Sandbox Code Playgroud)

我不知道这对我想做什么有用多少(我将其编码用于其他问题),无论如何我想要一个更聪明的方法来制作

for i in divisorGen(100):
    print i
Run Code Online (Sandbox Code Playgroud)

输出这个:

1
2
4
5
10
20
25
50
100
Run Code Online (Sandbox Code Playgroud)

更新:非常感谢Greg Hewgill和他的"智能方式":)计算所有100,00000的除数用他的方式对着我的机器上的愚蠢方式的39s,非常酷:D

更新2:停止说这是这篇文章的副本.计算给定数的除数数不需要计算所有除数.这是一个不同的问题,如果你认为它不是在维基百科上寻找"除数函数".在发布之前阅读问题和答案,如果你不明白什么是主题,只是不添加没有用的已经给出的答案.

python algorithm math

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

如何在Entity Framework中强制完成导航关系的加载?

好的,所以我第一次尝试使用ADO.NET实体框架.

我的测试用例现在包括一个SQL Server 2008数据库,其中包含2个表,Member和Profile,关系为1:1.

然后,我使用Entity Data Model向导从数据库中自动生成EDM.它生成了一个具有正确关联的模型.现在我想这样做:

ObjectQuery<Member> members = entities.Member;
IQueryable<Member> membersQuery = from m in members select m;
foreach (Member m in membersQuery)
{
   Profile p = m.Profile;
   ...
}
Run Code Online (Sandbox Code Playgroud)

中途工作.我可以遍历所有成员.但我遇到的问题是m.Profile始终为null.MSDN库上LINQ to Entities的示例似乎表明我将能够无缝地遵循这样的导航关系,但它似乎不会那样工作.我发现如果我首先在某个单独的调用中加载配置文件,例如使用entities.Profile.ToList,那么m.Profile将指向一个有效的配置文件.

所以我的问题是,是否有一种优雅的方式来强制框架自动加载导航关系中的数据,或者我是否需要通过连接或其他方式明确地执行此操作?

谢谢

linq ado.net entity-framework

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