问题列表 - 第9170页

以下jQuery代码如何工作?

遇到一个代码,并想知道为什么这个工作?

$.fn.appendVal = function(txt) { return this.each(function(){ this.value += txt; }); }; 
Run Code Online (Sandbox Code Playgroud)

与简单相反:

 $('#sometextboxaspcontrol').value +=txt;
Run Code Online (Sandbox Code Playgroud)

顺便说一句.我知道'简单'没有,但为什么?

jquery

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

您的数据库应用程序应该在存储过程中有多少?

我正在为数据库应用程序编写第二个接口,以解决原始接口的一些缺点.不幸的是,如果我创建新记录,则不会生成预期的审计跟踪记录.如果数据库设计已经将这些细节用于表触发器,那么肯定会很好,或者为诸如将新记录插入这些表之类的操作提供存储过程API.

应用程序应该以这种方式设计吗?存储过程中应该有多少数据库应用程序?

architecture rdbms database-design stored-procedures

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

当用作方法参数的前缀时,"this"是什么意思?

我确定答案是显而易见的,我有点不好意思我已经不知道答案,但考虑一下我在阅读"Professional ASP.NET MVC 1.0"时选择的以下代码示例:

public static class ControllerHelpers
{
    public static void AddRuleViolations(this ModelStateDictionary modelState, IEnumerable<RuleViolation> errors)
    {
        foreach (RuleViolation issue in errors)
            modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解这个静态方法正在做什么,但我不明白的是"this"这个词在方法签名中的用途是什么.任何人都可以开导我吗?

c# extension-methods language-features

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

VM设计:更多操作码或更少的操作码?什么是更好的?

不要被震惊.这是很多文字,但我害怕没有提供一些详细的信息,我无法真正展示这是什么(并可能得到很多答案,并没有真正解决我的问题).而这绝对不是一项任务(正如他的评论中有人可笑地声称的那样).

先决条件

由于除非至少设置了一些先决条件,否则根本无法回答此问题,以下是先决条件:

  • 应解释虚拟机代码.不禁止有JIT编译器,但设计应该以解释器为目标.
  • VM应基于寄存器,而不是基于堆栈.
  • 答案可能既没有假设有一组固定的寄存器,也没有无限数量的寄存器,或者可能是这种情况.

此外,我们需要更好地定义"更好".必须考虑几个属性:

  1. 磁盘上VM代码的存储空间.当然,您可以在此处废弃所有优化并仅压缩代码,但这会对(2)产生负面影响.
  2. 解码速度.如果将代码转换为可以直接执行的东西需要很长时间,那么存储代码的最佳方法是无用的.
  3. 内存中的存储空间.该代码必须可以在有或没有进一步解码的情况下直接执行,但是如果涉及进一步的解码,则在执行期间和每次执行指令时完成该编码(在将代码计数加载到项目2时仅解码一次).
  4. 代码的执行速度(考虑常见的解释器技术).
  5. 虚拟机的复杂性以及为其编写解释器的难度.
  6. VM自身需要的资源量.(如果VM运行的代码大小为2 KB并且执行速度比眨眼快,那么这不是一个好的设计,但它需要150 MB才能完成此操作并且其启动时间远远高于代码的运行时间它执行)

现在通过或多或少的操作码实际意味着我的例子.它可能看起来实际上设置了操作码的数量,因为每个操作需要一个操作码.然而,它并不那么容易.

用于相同操作的多个操作码

你可以进行类似的操作

ADD R1, R2, R3
Run Code Online (Sandbox Code Playgroud)

添加R1和R2的值,将结果写入R3.现在考虑以下特殊情况:

ADD R1, R2, R2
ADD R1, 1, R1
Run Code Online (Sandbox Code Playgroud)

这些是您在许多应用程序中可以找到的常见操作.您可以使用现有的操作码来表达它们(除非您需要不同的操作码,因为最后一个操作码具有int值而不是寄存器).但是,您也可以为这些创建特殊的操作码:

ADD2 R1, R2
INC R1
Run Code Online (Sandbox Code Playgroud)

和之前一样.优势在哪里?ADD2只需要两个参数,而不是3个,INC甚至只需要一个参数.因此,这可以在磁盘和/或内存中更紧凑地编码.由于将任何一种形式转换为另一种形式也很容易,因此解码步骤可以在两种方式之间转换以表达这些语句.不过,我不确定这两种形式会影响执行速度.

将两个操作码组合成一个操作码

现在让我们假设您有一个ADD_RRR(R表示寄存器)和一个LOAD来将数据加载到寄存器中.

LOAD value, R2
ADD_RRR R1, R2, R3
Run Code Online (Sandbox Code Playgroud)

您可以拥有这两个操作码并始终在整个代码中使用这样的构造...或者您可以将它们组合成一个名为ADD_RMR(M代表内存)的新操作码

ADD_RMR R1, value, R3
Run Code Online (Sandbox Code Playgroud)

数据类型与操作码

假设您有16位整数和32位整数作为本机类型.寄存器为32位,因此数据类型适合.现在,当您添加两个寄存器时,可以将数据类型设为参数:

ADD int16, R1, R2, R3
ADD int32, R1, R2, R3
Run Code Online (Sandbox Code Playgroud)

例如,对于有符号和无符号整数也是如此.这样,ADD可以是一个短操作码,一个字节,然后你有另一个字节(或者可能只是4位)告诉VM如何解释寄存器(它们是否保持16位或32位值).或者您可以废弃类型编码,而是有两个操作码:

ADD16 R1, R2, R3
ADD32 R1, R2, R3
Run Code Online (Sandbox Code Playgroud)

有些人可能会说两者完全相同 - 只是解释第一种方式,因为16位操作码可行.是的,但是一个非常幼稚的翻译可能看起来很不一样.例如,如果每个操作码有一个函数并使用switch语句调度(不是最好的方式,函数调用开销,switch语句也许不是最优的,我知道),这两个操作码可能如下所示:

case ADD16: add16(p1, p2, …
Run Code Online (Sandbox Code Playgroud)

performance interpreter opcode vm-implementation

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

我正在丢失所有缓存....(项目从我的缓存中消失)

我目前正在ASP.NET Webforms中开发一个站点.

我正在缓存它所做的事情...使用高/正常/低优先级添加东西..告诉他们留在缓存中2周,1周,4小时可敬

我在每个页面上显示当前缓存项目的数量(出于调试原因).

有时,如果我快速浏览网站,缓存中的项目数量可以达到2000项...但如果我等待5分钟并刷新页面,缓存将减少到20项..(正好在该页面上缓存的内容) )

有什么方法可以找到我们正在发生的事情吗?这是否有原因让我失踪?

我正在运行Win7,4Gb ram,64位,VS10,.net4,

我有4个ram的演出,为什么我的缓存完全空了?

我会说10%的缓存项目大约是4k,其余的将是大约100个字符长的字符串.

编辑:我正在使用Sliding Expiration

编辑:我把它整理出来,有一两件物品非常大而且它们被设置为高优先级..而且其他一些较小的变化解决了我的问题.

.net asp.net caching webforms

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

AS3论点

为什么你认为下面的代码不起作用?你会改变/添加什么使它工作?

任何帮助表示赞赏..

function TraceIt(message:String, num:int)
{
    trace(message, num);
}

function aa(f:Function, ...args):void
{
    bb(f, args);
}

aa(TraceIt, "test", 1);

var func:Function = null;
var argum:Array = null;

function bb(f:Function, ...args):void
{
    func = f;
    argum = args;
    exec();
}

function exec()
{
    func.apply(null, argum);
}
Run Code Online (Sandbox Code Playgroud)

我得到一个ArgumentError(错误#1063):

Argument count mismatch on test_fla::MainTimeline/TraceIt(). Expected 2, got 1.
Run Code Online (Sandbox Code Playgroud)

..因此,传递的参数(argum)无法提供所有传递的参数.

..请保持功能结构(流量)完整.我需要一个使用相同函数的解决方案.我必须将args传递给变量并在上面的exec()方法中使用它们.

问候

arguments function actionscript-3

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

在C中构建窗体

到目前为止,我已经能够在C中创建一个窗口,并在该窗口中添加一个按钮和编辑框.但是,我在哪里可以找到所有表单控件的系统类的详尽列表?我不记得我在哪里找到了BUTTON和EDIT - 是否有标签?列表框?复选框?组合框?等等

然后,我将如何使用内置的Windows函数...我认为它们被称为常用控件?喜欢打开文件,另存为,打印等.

c user-interface winapi controls

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

Perl正则表达式:用双反斜杠替换所有反斜杠

在一组大文件中,我需要\用" \\" 替换所有出现的" ".我想将Perl用于此目的.现在,我有以下内容:

perl -spi.bak -e '/s/\\/\\\\/gm' inputFile
Run Code Online (Sandbox Code Playgroud)

我向你建议了这个命令,但是它导致inputFile没有变化(更新的时间戳除外).考虑到问题可能是\"s"没有被空白包围,我试过了

perl -spi.bak -e '/s/.\\./\\\\/gm' inputFile
Run Code Online (Sandbox Code Playgroud)

同样,这对文件没有影响.最后,我以为我可能会丢失一个分号,所以我尝试了:

perl -spi.bak -e '/s/.\\./\\\\/gm;' inputFile
Run Code Online (Sandbox Code Playgroud)

这也没有效果.我知道我的文件包含" \",例如在以下行中:

(&quot;C:\WINDOWS\system32\iac25_32.ax&quot;,&quot;Indeo audio)
Run Code Online (Sandbox Code Playgroud)

我不确定正则表达式是否存在问题,或者我调用Perl的方式是否有问题.我对正则表达式有基本的了解,但对于Perl来说,我是一个绝对的初学者.

这里有什么明显的错误吗?我注意到的一件事是命令返回得很快,尽管inputFile的大小约为10MB.

regex perl

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

从C#中的基类,得到派生类型?

假设我们有这两个类:

public class Derived : Base
{
    public Derived(string s)
        : base(s)
    { }
}

public class Base
{
    protected Base(string s)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能从内部的构造函数中找出BaseDerived是调用?这就是我想出的:

public class Derived : Base
{
    public Derived(string s)
        : base(typeof(Derived), s)
    { }
}

public class Base
{
    protected Base(Type type, string s)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

还有另一种不需要传递的方法typeof(Derived),例如,某种方式在Base构造函数中使用反射吗?

c# reflection inheritance types

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

C#DataGridView检查是否为空

我有一个datagridview,它填充了linq查询返回的数据.如果查询没有返回任何结果,我想显示一个消息框.有没有办法检查datagridview是否为空?

问候

c# datagridview winforms

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