问题列表 - 第574页

在Python中缓存已编译的正则表达式对象?

每次导入包含大量静态正则表达式的python文件时,都会花费cpu周期将字符串编译到内存中的代表状态机中.

a = re.compile("a.*b")
b = re.compile("c.*d")
...
Run Code Online (Sandbox Code Playgroud)

问题:是否可以以预编译的方式将这些正则表达式存储在磁盘上的缓存中,以避免在每次导入时执行正则表达式编译?

腌制对象只需执行以下操作,无论如何都会导致编译:

>>> import pickle
>>> import re
>>> x = re.compile(".*")
>>> pickle.dumps(x)
"cre\n_compile\np0\n(S'.*'\np1\nI0\ntp2\nRp3\n."
Run Code Online (Sandbox Code Playgroud)

re对象是unmarshallable:

>>> import marshal
>>> import re
>>> x = re.compile(".*")
>>> marshal.dumps(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: unmarshallable object
Run Code Online (Sandbox Code Playgroud)

python regex caching

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

您如何分析PCM或WAV样本的基频?

我有一个样本保存在DirectX的缓冲区中.这是从乐器演奏和捕捉的音符样本.如何分析样本的频率(如吉他调谐器)?我认为涉及到FFT,但我没有指向HOWTO.

audio signal-processing fft pitch-tracking

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

有没有人仍然相信软件的能力成熟度模型?

十年前,当我第一次遇到软件CMM时,我想像许多人一样,对于在许多企业中描述混乱的"一级"软件开发状态的准确程度感到震惊,特别是在提到依赖英雄时.它似乎也为组织提供了切实可行的指导,以提高其流程水平.

虽然它似乎提供了一个良好的模型和现实的改进指导,但我从未真正目睹过遵守CMM对我曾为之工作过的任何组织产生重大积极影响.我知道一家大型软件咨询公司声称CMM级别5 - 最高级别 - 当我可以看到他们的流程一样混乱,他们的软件产品质量与其他非CMM业务一样多样化.

所以我想知道,根据CMM,是否有人从遵守流程改进中看到了真正的实实在在的好处?

如果您已经看到改进,您是否认为改进特别归功于CMM,或者替代方法(例如6-sigma)是否同样或更有益?

还有人还相信吗?

顺便说一句,对于那些还没有看过它的人来说,看看这个有趣的 - 因为它真实的模仿

cmmi process-management

21
推荐指数
6
解决办法
3440
查看次数

Apache Axis ConfigurationException

我正在使用Apache Axis将我的Java应用程序连接到Web服务器.我使用wsdl2java为我创建存根,但是当我尝试使用存根时,我得到以下异常:

org.apache.axis.ConfigurationException:没有<web service name>可用的命名服务

任何的想法?

java apache axis

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

如何在另一个程序的窗口上发布Cocoa"表"?

使用Apple OS X Cocoa框架,如何在另一个进程的窗口上发布工作(向下滑动模式对话框)?

编辑:澄清一下:

我的应用程序是进行Subversion版本控制的Finder扩展(http://scplugin.tigris.org/).我的应用程序的一部分是插件(Finder的上下文菜单项); 然而,我的应用程序的大部分是在一个单独的守护进程中.出于几个原因,我们选择将几乎所有代码放入守护进程; 插件只定义菜单本身,Apple-Events定义到守护进程.

有时,守护程序需要提示用户提供进一步的信息.它可以在屏幕上为此抛出一个窗口,但这是破坏性的(随机定位),在我看来这里的工作流程是合法的模态,例如"从菜单中选择一个文件,选择'提交',提供提交注释,做手术."

进程间协作(例如传递某种类型的引用)是可以接受的:两个进程都是我的,但我想避免将表单的代码绑定到主进程中.

cocoa daemon interaction modal-dialog interprocess

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

C#中泛型参数的空或默认比较

我有一个像这样定义的泛型方法:

public void MyMethod<T>(T myArgument)
Run Code Online (Sandbox Code Playgroud)

我想要做的第一件事是检查myArgument的值是否是该类型的默认值,如下所示:

if (myArgument == default(T))
Run Code Online (Sandbox Code Playgroud)

但是这不能编译,因为我没有保证T将实现==运算符.所以我把代码改为:

if (myArgument.Equals(default(T)))
Run Code Online (Sandbox Code Playgroud)

现在这个编译,但是如果myArgument为null则会失败,这是我正在测试的一部分.我可以像这样添加一个显式的空检查:

if (myArgument == null || myArgument.Equals(default(T)))
Run Code Online (Sandbox Code Playgroud)

现在这让我感到多余.ReSharper甚至建议我将myArgument == null部分更改为myArgument == default(T),这是我开始的地方.有没有更好的方法来解决这个问题?

我需要支持两种引用类型和值类型.

c# generics

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

如何使用元类添加方法

如何使用元类向类中添加实例方法(是的,我需要使用元类)?以下类型的工作,但func_name仍将是"foo":

def bar(self):
    print "bar"

class MetaFoo(type):
    def __new__(cls, name, bases, dict):
        dict["foobar"] = bar
        return type(name, bases, dict)

class Foo(object):
    __metaclass__ = MetaFoo

>>> f = Foo()
>>> f.foobar()
bar
>>> f.foobar.func_name
'bar'
Run Code Online (Sandbox Code Playgroud)

我的问题是某些库代码实际上使用了func_name,后来无法找到Foo实例的'bar'方法.我可以:

dict["foobar"] = types.FunctionType(bar.func_code, {}, "foobar")
Run Code Online (Sandbox Code Playgroud)

还有types.MethodType,但我需要一个尚未使用的实例.我在这里错过了吗?

python metaclass

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

我如何估计Lucene指数的大小?

是否有一个已知的数学公式可用于估计新Lucene指数的大小?我知道我想要索引多少个字段,以及每个字段的大小.而且,我知道将索引多少项目.那么,一旦这些由Lucene处理,它如何转换成字节?

lucene

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

NSAutoreleasePool自动释放池如何工作?

据我了解,任何使用alloc,newcopy创建的东西都需要手动释放.例如:

int main(void) {
    NSString *string;
    string = [[NSString alloc] init];
    /* use the string */
    [string release];
}
Run Code Online (Sandbox Code Playgroud)

不过,我的问题是,这不是有效吗?:

int main(void) {
    NSAutoreleasePool *pool;
    pool = [[NSAutoreleasePool alloc] init];
    NSString *string;
    string = [[[NSString alloc] init] autorelease];
    /* use the string */
    [pool drain];
}
Run Code Online (Sandbox Code Playgroud)

memory-management foundationkit objective-c nsautoreleasepool

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

在页面DOM加载时(但在window.onload之前)收到通知

我知道有一些方法可以在页面主体加载时通知(在所有图像和第三方资源加载之前触发window.onload事件),但每个浏览器都有所不同.

在所有浏览器上都有明确的方法吗?

到目前为止,我知道:

  • DOMContentLoaded:在Mozilla,Opera 9和最新的WebKits上.这涉及为事件添加一个监听器:

    document.addEventListener("DOMContentLoaded",[init function],false);

  • 延迟脚本:在IE上,您可以发出带有@defer属性的SCRIPT标记,该标记将在BODY标记关闭后可靠地加载.

  • 轮询:在其他浏览器上,您可以继续轮询,但是甚至还有一个标准的东西要进行轮询,或者您是否需要在每个浏览器上执行不同的操作?

我希望能够不使用document.write或外部文件.

这可以通过jQuery简单地完成:

$(document).ready(function() { ... })
Run Code Online (Sandbox Code Playgroud)

但是,我正在编写一个JS库,并且不能指望jQuery始终存在.

javascript dom

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