小编Dan*_*gby的帖子

您认为最滥用的设计模式是什么?

使用Java和Java框架当我遇到抽象工厂模式时,我已经开始颤抖了.在我看来,这是最滥用的设计模式.并非所有框架都滥用它,但有很多框架滥用它.它不适合所有模型,几乎100%的时间你都会做同样的事情为什么抽象它?

您认为哪种设计模式是最滥用的设计模式?一个开发人员使用它但它不能很好地适应问题的地方.一个金锤子和一切看起来像钉子的情况.那么,当你在野外遇到它时,哪种设计模式会让你不寒而栗?

编辑:想到了Singleton.但是在最过度使用的问题上出现了这种情况.我要求最受虐待的人.(或者使用不当).

design-patterns

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

SunSpider JavaScript基准测试运行的个别测试是什么?

有人可以向我解释每个SunSpider子测试实际检查的内容,并给出真实等效的重要性和用途吗?哪种结果(即时间)被认为是现代系统可接受的?

到目前为止,我发现的唯一信息是每个小节的通用信息,在Coding Horror.

3d 纯JavaScript计算,可用于进行3d渲染,但不进行渲染.这最终主要是击中浮点数学和数组访问.

访问 数组,对象属性和变量访问.

bitops 按位运算,这些可用于各种事物,包括游戏,数学计算和各种编码/解码.它也是JavaScript中唯一一种以整数而非浮点形式完成的数学运算.

controlflow 控制流构造(循环,递归,条件).现在它主要涵盖递归,因为其他测试很好地涵盖了其他测试.

crypto Real加密代码,主要包括按位运算和字符串运算.

date JavaScript的"日期"对象的性能.

数学 各种数学类型的计算.

regexp 正则表达式.非常不言自明.

string 字符串处理,包括生成巨型"tagcloud"的代码,提取压缩的JS代码等.

但是每个小节的个别测试呢?

例如,"访问"子部分有4个测试(binary-trees, fannkuch, nbody, nsieve).在使用JavaScript的真实Web应用程序中,每个计算什么以及为什么/何时应该是重要的?

javascript benchmarking

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

如何在更改git存储库的autoclrf设置后修复签出文件中的行结尾?

我在Windows上克隆了一个git存储库,注意到行结尾设置为UNIX样式(LF).

为了解决这个问题,我将存储库的autocrlf值更改为true(core.autocrlf=true).

但是,我在磁盘上的所有签出文件仍然具有UNIX样式(LF)行返回.我该如何解决这些问题?

git line-endings msysgit

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

示例C使用volatile变量的函数

对于一篇论文,我正在寻找一个使用volatile变量的真实 C函数.这本身并不难找,但我正在寻找一个函数,其中volatile函数的值必须函数执行过程中改变,以便达到函数的特定分支.像这样的东西:

typedef struct {
    unsigned       :6;
    unsigned FLAG1 :1;
    unsigned FLAG2 :1;
} __attribute__ ((packed)) REGISTER;

volatile REGISTER * io_ = 0x1234;

int write_to_io()
{
    while (io_->FLAG1) {};
    //io_->FLAG1 is now 0

    io_->FLAG2 = 1;

    sleep(10);

    if (io->FLAG1)  
        return 1;  //io->FLAG1 has changed from 0 to 1
    else
        return 0;  //io->FLAG1 has not changed
 }
Run Code Online (Sandbox Code Playgroud)

如果在执行函数期间结构的不同位改变就足够了,但我的主要标准是,对于要到达的某个分支,易失性变量的值执行函数期间改变.

我会非常感谢任何现实生活中的例子.我无法在网上找到很多使用volatile的例子.

c volatile

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

更新后,Clickonce winforms启动缓慢启动

我们有一个winforms应用程序,通过clickonce部署到用户并使用自动更新功能.

我们注意到,对于我们的用户,在发生clickonce更新后,应用程序需要几分钟才能显示.应用程序可执行文件在此期间运行,CPU使用率相当高,但不显示任何窗口.

这在开发人员的机器上是不可重现的.用户和开发者的机器之间有两个主要区别:

  1. 用户正在运行windows xp,开发人员正在运行windows vista.
  2. 开发人员与clickonce服务器位于同一个域中,而用户位于与clickonce服务器所属的域具有双向信任关系的不同域上.

应用程序的冷启动性能在更新后运行一次后几乎是即时的.

以下链接适用于msdn论坛上有相同问题的人,但没有发布解决方案:http: //social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/5ec061c4-ec6f-4101- 98a6-dc8bb5acab60

由于开发人员无法在本地重现,我们还没有分析应用程序在此期间正在执行的操作.

有关为什么会出现这种情况的任何想法或有关如何解决问题的建议?

谢谢.

编辑08/24/2009:创建了一个运行XP的32位虚拟机,并将其加入与用户相同的域中.该问题未在虚拟机中显示.这似乎消除了XP和域成员身份作为问题的根源.这似乎使VLAN,系统配置和补丁级别成为潜在的罪魁祸首.

c# clickonce winforms

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

有真实世界的应用程序使用元编程吗?

我们都知道MetaProgramming是一个代码概念==数据(或编写程序的程序).

但是有没有使用它的应用程序以及使用它的优点是什么?

这个问题可以关闭,但我没有看到任何相关的问题.

metaprogramming

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

jQuery 1.3 - 设置属性值的问题

这是我的第一个stackoverflow问题,所以尽量做好.;-D

我的问题是,我正在重构一些现有的javascript代码并使用jQuery来完成它.在几个地方,我遇到类似于以下的javascript代码:

// some js code working with the customAttribute value
javascriptElementObject.customAttribue = void(0);
Run Code Online (Sandbox Code Playgroud)

javascriptElementObject现在是一个jQuery对象,我一直在尝试使用以下代码执行相同的操作:

// some js code working with the customAttribute value
javascriptElementObject.attr("customAttribute", void(0));
Run Code Online (Sandbox Code Playgroud)

但是,这似乎没有做任何事情.但是,以下代码有效:

javascriptElementObject.get(0).customAttribute = void(0);
Run Code Online (Sandbox Code Playgroud)

我知道jQuery的removeAttr()函数,但到目前为止还没有使用它,因为我不知道它是否等同于将属性值设置为void(0).

所以我想这真的意味着我有两个问题:

  1. 为什么第一个jQuery版本不起作用?
  2. 是.get(0).customAttribue = void(0); 和.removeAttr("customAttribute";等效?

谢谢.

javascript jquery attributes

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

.Net,XML和Regex - 如何匹配特定的收藏品?

所以我有一个xml文件,其中包含以下简化的xml文件内容:

<CollectionItems>
    <CollectionItem>
        <Element1>Value1</Element1>
        <Element2>
            <SubElement1>SubValue1</SubElement1>
            <SubElement2>SubValue2</SubElement2>
            <SubElement3>SubValue3</SubElement3>
        </Element2>
        <Element3>Value3</Element3>
    </CollectionItem>
    <CollectionItem>
        <Element1>Value1</Element1>
        <Element2>
            <SubElement1>SubValue1</SubElement1>
            <SubElement2 />
            <SubElement3>SubValue3</SubElement3>
        </Element2>
        <Element3>Value3</Element3>
    </CollectionItem>
    <CollectionItem>
        <Element1>Value1</Element1>
        <Element2>
            <SubElement1>SubValue1</SubElement1>
            <SubElement2>SubValue2</SubElement2>
            <SubElement3>SubValue3</SubElement3>
        </Element2>
        <Element3>Value3</Element3>
    </CollectionItem>
</CollectionItems>
Run Code Online (Sandbox Code Playgroud)

我试图在.Net中编写一个正则表达式,它匹配SubElement2为空的任何CollectionItem(本例中为CollectionItem).

到目前为止,我有以下正则表达式(启用SingleLine模式):

<CollectionItem>.+?<SubElement2 />.+?</CollectionItem>
Run Code Online (Sandbox Code Playgroud)

问题是它通过第二个CollectionItem的关闭匹配第一个CollectionItem的开头.我明白为什么会这样做,但我不知道如何修改正则表达式使它只匹配中心CollectionItem.

编辑:至于为什么正则表达式与其他东西相反:

  1. 为了简单起见,我试图在文本编辑器中修改文件.
  2. 在我无法弄清楚如何在正则表达式中做到这一点后,我想知道是否可以为了学习而完成(以及如何).

谢谢!

.net regex xml

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