问题列表 - 第5188页

组织标识字段作为复合主键

我们目前有一个系统,每个客户在注册时都会获得自己的数据库.毫不奇怪,这是失控的.

我们正准备将所有这些数据库合并到一个数据库中.为此,我们需要注意该行所属的组织.如何在数据库上处理这个以及下面的方法有哪些优点/缺点(速度,可维护性等)?

选项1:将组织ID分配给所有表并使其成为主键的一部分(使所有键复合).

选项2:将组织ID添加到所有表中,作为具有组织表外键的列.

选项3:其他东西.

我们正在考虑通过这一举措转移到NHibernate,如果这对所做的事情有影响的话.

sql sql-server nhibernate performance database-design

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

如何在不冻结PyQt GUI的情况下跟踪Python中的线程进度?

问题:

  1. 在不锁定GUI的情况下跟踪踏板进度的最佳实践是什么("无响应")?
  2. 一般来说,适用于GUI开发的线程最佳实践是什么?

问题背景:

  • 我有一个适用于Windows的PyQt GUI.
  • 它用于处理HTML文档集.
  • 处理一组文档需要三到几个小时.
  • 我希望能够同时处理多个集合.
  • 我不希望GUI锁定.
  • 我正在寻找线程模块来实现这一目标.
  • 我对线程比较陌生.
  • GUI有一个进度条.
  • 我希望它显示所选线程的进度.
  • 如果已完成,则显示所选线程的结果.
  • 我正在使用Python 2.5.

我的想法:让线程在更新进度时发出QtSignal,触发一些更新进度条的功能.完成处理时也会发出信号,以便显示结果.

#NOTE: this is example code for my idea, you do not have
#      to read this to answer the question(s).

import threading
from PyQt4 import QtCore, QtGui
import re
import copy

class ProcessingThread(threading.Thread, QtCore.QObject):

    __pyqtSignals__ = ( "progressUpdated(str)",
                        "resultsReady(str)")

    def __init__(self, docs):
        self.docs = docs
        self.progress = 0   #int between 0 and 100
        self.results = []
        threading.Thread.__init__(self)

    def getResults(self):
        return copy.deepcopy(self.results) …
Run Code Online (Sandbox Code Playgroud)

python user-interface multithreading pyqt

19
推荐指数
2
解决办法
9935
查看次数

C#,Linq2Sql:是否可以将两个可查询连接成一个?

我有一个可查询的,我已经使用各种WhereWhereBetween语句来缩小收集到一组特定的.现在我需要添加一种Where || WhereBetween.换句话说,我不能像现在一样把它们连在一起,因为它可以作为一个And.那么,我该怎么做呢?

我看到两种可能性:

  1. 从我拥有的一个查询中创建两个查询,一个使用Where,一个使用WhereBetween.然后将它们连接起来.不知道这是否可能?此外,虽然不是在我的特定情况下,你很可能最终会重复...
  2. 以某种方式合并Where表达式和在WhereBetween某种Or中创建的表达式.

首先,如上所述,我不确定是否可能.如果是的话,我不太确定这是一个很好的方法.

第二,我可以看到一个选项,但不完全确定所有的细节.以下是WhereBetween我的另一个问题的方法,我现在使用它并且效果很好:

    public static IQueryable<TSource> WhereBetween<TSource, TValue>(
        this IQueryable<TSource> source,
        Expression<Func<TSource, TValue>> selector,
        IEnumerable<Range<TValue>> ranges)
    {
        var param = Expression.Parameter(typeof(TSource), "x");
        var member = Expression.Invoke(selector, param);
        Expression body = null;
        foreach (var range in ranges)
        {
            var filter = Expression.AndAlso(
                Expression.GreaterThanOrEqual(member,
                     Expression.Constant(range.A, typeof(TValue))),
                Expression.LessThanOrEqual(member,
                     Expression.Constant(range.B, typeof(TValue))));
            body = body …
Run Code Online (Sandbox Code Playgroud)

c# lambda iqueryable expression-trees linq-to-sql

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

TreeView重新关注Ctrl + Click

我有一个WinForms TreeView控件,我想根据当前选择的节点打开另一个表单.我在Ctrl +单击节点时打开其他表单.

目前,如果我在DoubleClick处理程序中打开另一个表单(并且显然双击该节点),它的工作方式是我想要的; 但是,如果我使用Click(或MouseClick)处理程序并在按下Control键时打开另一个表单,它会正确打开另一个表单,但会将焦点返回到原始表单.

打开另一个表单后,如何保持焦点不再返回原始表单(我仍然希望保持打开状态)?为什么Click和DoubleClick处理程序之间存在不同的行为?

treeview focus click double-click winforms

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

HMACSHA1.ComputeHash()线程安全问题

我问自己,在asp.net页面的代码隐藏中使用包含HMACSHA1实例的静态(共享)变量是否有危险.问题是当在同一个asp.net页面上处理多个同时请求时,所有asp.net worker-process'线程将使用相同的HMACSHA1实例.all(HMACSHA1)instance-和ComputeHash() - 由ComputeHash()使用/修改的方法变量将被所有线程共享(=可以修改)?这个假设是正确的吗?因此,ComputeHash的返回值不能保证是正确的?!?!因此我不允许在所有的asp.net-threads上使用静态/共享HMACSHA1实例.

我只是想知道你对这个问题的看法.

解决这个问题的唯一方法就是在ComputeHash()方法中使用关键路径等.但那是"我们无法接触到的"..

问候,克里斯

asp.net sha1 hmac

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

gd中的php和true类型集合

我尝试在GD库中使用带有4种字体的真实类型集合"gulim.ttc".

像这样:

$font = "fonts/gulim.ttc";
imagettftext($im, 20, 0, 0, 25, $white, $font, $string);
Run Code Online (Sandbox Code Playgroud)

问题是,PHP/GD只使用ttc文件中的第一个字体,但我需要第三个字体叫做"Dotum".

或者,有没有办法将ttc文件解压缩或转换为ttf文件?

php fonts gd truetype

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

在C++/CLI中传递非托管指针

我正在创建一个依赖于众多C++静态库的C++/CLI包装器DLL.一些函数调用期望传入非托管指针.如何正确传递它们?

此外,其他函数期望"this pointer"作为void*传入.传递"这个"的正确方法是什么?

这是我的班级定义......

public ref class RTPClient
{
    public:
        RTPClient();
        ~RTPClient();

        bool Connect();
        void Disconnect();

    private:
        CIsmaClient* mClient;
};
Run Code Online (Sandbox Code Playgroud)

这是我在使用指针的用法...

RTPClient::RTPClient():
    mClient(NULL)
{
    CIsmaClient::Create(&mClient, NULL, &AllocBuffer, &GetDataPointer, this);
}
Run Code Online (Sandbox Code Playgroud)

&mClient和"this"的使用导致以下编译器错误... 1>.\ VBLoadSimulatorDll.cpp(40):错误C2664:'CIsmaClient :: Create':无法将参数1从'cli :: interior_ptr'转换为' CIsmaClient**'1> 1> [1> Type = CIsmaClient*1>]

1>.\ VBLoadSimulatorDll.cpp(40):错误C2664:'CIsmaClient :: Create':无法将参数5从'VBLoadSimulator :: RTPClient ^ const'转换为'VOID*'

pointers unmanaged c++-cli

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

php文件中的nvl()函数

我只是浏览一个php文件,并遇到以下代码:

switch (nvl($mode))
{
  case "add" :
     print_add_category_form(nvl($id, 0));
     break;

  case "edit" :
     print_edit_category_form($id);
     break;
}
Run Code Online (Sandbox Code Playgroud)

nvl()函数做什么?

php mysql

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

如何计算Ruby数组中的重复元素

我有一个排序数组:

[
  'FATAL <error title="Request timed out.">',
  'FATAL <error title="Request timed out.">',
  'FATAL <error title="There is insufficient system memory to run this query.">'
]
Run Code Online (Sandbox Code Playgroud)

我想得到这样的东西,但它不一定是哈希:

[
  {:error => 'FATAL <error title="Request timed out.">', :count => 2},
  {:error => 'FATAL <error title="There is insufficient system memory to run this query.">', :count => 1}
]
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

Django形式的懒惰选择

我有一个像这样的Django my_forms.py:

class CarSearchForm(forms.Form):  
    # lots of fields like this
    bodystyle = forms.ChoiceField(choices=bodystyle_choices())  
Run Code Online (Sandbox Code Playgroud)

每种选择都是例如("Saloon","Saloon(15辆汽车)").所以选择是由这个函数计算的.

def bodystyle_choices():  
    return [(bodystyle.bodystyle_name, '%s (%s cars)' %  
          (bodystyle.bodystyle_name, bodystyle.car_set.count()))  
          for bodystyle in Bodystyle.objects.all()]
Run Code Online (Sandbox Code Playgroud)

我的问题是,每次我只导入my_forms.py时,选项函数都会被执行.我认为这是由于Django声明其字段的方式:在类中但不在类方法中.哪个没问题,但我的views.py导入了my_forms.py,因此无论使用哪个视图,都会对每个请求进行选择查找.

我认为也许选择= bodystyle_choices没有括号会起作用,但我得到:

'function' object is not iterable

显然我可以使用缓存并将"import my_forms"放在所需的视图函数中,但这并没有改变主要观点:我的选择需要是懒惰的!

python forms django lazy-evaluation

21
推荐指数
2
解决办法
9147
查看次数