小编Bes*_*ska的帖子

谷歌Chrome的盔甲在哪里?

在浏览Chrome时,我注意到它在呈现页面方面反应非常快(与我的笔记本电脑上的IE和Firefox相比),包括像gmail这样的JavaScript重量级网站.

这就是Chrome上googlebook所说的内容

  1. 标签在进程中而不是线程中托管.
  2. 使用V8引擎编译javascript而不是解释.
  3. 引入新的虚拟机来支持javascript繁重的应用程序
  4. 引入"隐藏类转换"并应用动态优化来加速事物.
  5. 用更精确的垃圾收集方案替换低效的"保守垃圾收集"方案.
  6. 引入自己的任务调度程序和内存管理器来管理浏览器环境.

所有这些听起来都很熟悉,微软长期以来一直在做这些事情.Windows os,C++,C#等编译器,CLR等等.

那么为什么微软或任何其他浏览器供应商都没有采用Chrome的方法呢?Chrome的方法有缺陷吗?如果没有,是否有其他浏览器供应商社区没有意识到Google的方法?

google-chrome

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

生成的Webresource.axd参数无效

原始问题:

WebResource.axd url生成有一个奇怪的错误.(它似乎与相当常见的"WebRsource.axd Padding无效且无法删除"问题有关).

我们有一个ASP.NET网页,在创建时,会向WebResource.axd添加一个脚本引用.

在这种情况下,我们看到WebResource.axd链接偶尔会变成某个点的垃圾,取而代之的是看似javascript的东西.更糟糕的是,网址生成失败似乎是不一致的.

在我们的例子中,链接应该(而且通常不会像):

/WebResource.axd?d=D-wd7RbHCvSp_p0mHAmE4g2&t=633464867255568315
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,我们收到用户记录的错误...以及他们尝试访问的网址(在一种情况下):

/WebResource.axd?d=D-wd7RbHCvS/../../images/icons/Ico_resize.gif')}}function%20ShowFilter_Manufacturer(){var%20div.......
Run Code Online (Sandbox Code Playgroud)

[该链接中剩余的已编码的javascript已被删除为无关]

更奇怪的是,我们从同一个用户那里快速连续获得了一些这些用户,他们显然正在尝试重新加载页面...每个网址略有不同.

/WebResource.axd?d=D-wd7RbHCvS<garbage>
/WebResource.axd?d=D-wd7RbHCvSp<garbage>
/WebResource.axd?d=D-wd7RbHCvSp_<garbage>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,垃圾是编码的JavaScript,我已经看到了网址的一部分...完全空的参数字符串...我没有看到明显的模式.

顺便说一下,如果它是相关的,应该注意的是,我不相信这个WebResource不是一个除了在页面上包含某些功能时由.NET自动包含的股票WebResource ......在这种情况下,一个字段验证器.查看实际WebResource.axd的内容,可以看到非常标准的Javascript函数集,这些函数似乎是为处理泛型.NET事件而设计的.不是我们创造的任何东西.

有没有人见过这样的东西?(或者更好,是否有人理解为什么会发生这种情况,并提出消除它的方法?)

编辑0:一些其他信息:

第1项:在回答一个答案时,我们确保我们的脚本包含CDATA标签,因为我们的doctype是xhtml transitional:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

不幸的是,尽管我们寄予厚望,但它似乎并没有解决问题.我们已经更多地注意到IE 8作为一个浏览器,这可以让人相信这是与浏览器相关的想法...也许是浏览器解析流的方式......但为什么我们会得到微妙的不同响应随后的尝试让我感到困惑.

第2项:事实证明,省略的部分似乎是相当规则的块.有人报告说他看到丢失了1k或4k的区块,而我(到目前为止......我只看了两个案例)会同意(我的两个数据都丢失了4096字节).

asp.net webresource.axd invalid-url

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

我应该如何将表名传递给存储过程?

我只是遇到了一个奇怪的事情...我们网站上有一些代码正在处理一个巨大的SQL语句,通过执行一些搜索来修改代码并根据某些用户值进行替换,然后将其传递给SQL Server一个问题.

我认为这将作为存储过程的参数化查询更清晰,用户值作为参数,但当我仔细观察时,我明白为什么他们可能会这样做...他们从中选择的表是可变地依赖于那些用户值.

例如,在一种情况下,如果值为("FOO","BAR"),则查询最终会变为"SELECT*FROM FOO_BAR"

有一个简单明了的方法吗?我正在尝试的一切似乎都不优雅.

编辑:当然,我可以动态生成存储过程中的sql,并执行(bleh),但那时我想知道我是否获得了任何东西.

EDIT2:以一种聪明的方式重构表名,比如将它们全部放在一个表中,不同的名称作为新列将是一个很好的方法来解决所有这些,这是几个人直接指出或暗示的.可悲的是,在这种情况下,它不是一种选择.

sql sql-server parameterized

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

有限集中的朴素随机选择的O值是多少?

关于从有限集中获取随机值的这个问题让我思考......

人们想要从一组Y值中检索X个唯一值是相当普遍的.例如,我可能想从一副牌中交出一手牌.我想要5张牌,我希望它们都是独一无二的.

现在,我可以天真地做到这一点,通过挑选一张随机卡5次,每次重复时再试一次,直到我得到5张牌.然而,对于大型集合中的大量值,这并不是那么好.例如,如果我想从一组1,000,000中获得999,999个值,则此方法会变得非常糟糕.

问题是:有多糟糕?我正在找人解释一个O()值.获得第x个数字将需要y次尝试...但有多少?我知道如何解决任何给定的值,但是有一种直接的方法可以推广整个系列并得到一个O()值吗?

(问题不是:"我怎样才能改进这个?"因为它相对容易修复,而且我确信它在其他地方已被多次覆盖.)

random math big-o probability

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

2D XNA游戏鼠标点击

我有一个2D游戏,其中我只使用鼠标作为输入.我怎样才能使鼠标悬停在Texture2D对象上,Texture2D和鼠标光标发生变化,当单击纹理时,它移动到另一个地方.

简单地说,当我将鼠标悬停在纹理2上时,我想知道如何做某事.

c# xna

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

你为什么要用!! 操作者

我在一个例子中遇到了红宝石

def role?(role)
  return !!self.roles.find_by_name(role.to_s.camelize)
end
Run Code Online (Sandbox Code Playgroud)

你为什么要用!!?是不是一样的

 return self.roles.find_by_name(role.to_s.camelize)
Run Code Online (Sandbox Code Playgroud)

添加双重感叹号是否会为评估添加一些内容?

ruby operators

11
推荐指数
3
解决办法
2504
查看次数

是否可以在C#中合并字符串和DBNull?

我正在编写一个C#例程来调用存储过程.在我传入的参数列表中,其中一个值可能合法地为空.所以我以为我会使用这样的一行:

cmd.Parameters.Add(new SqlParameter("@theParam", theParam ?? DBNull.Value));
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会返回以下错误:

CS0019:运营商'??' 不能应用于'string'和'System.DBNull'类型的操作数

现在,这似乎已经足够清楚,但我不明白其背后的基本原理.为什么这不起作用?(通常情况下,当我不明白为什么某些东西不能正常工作时,并不是它无法正常工作......而是我做错了.)

我是否真的需要将其延伸到更长的if-then声明中?

编辑:(顺便说一句,对那些建议只使用"null"的人,它不起作用.我原来认为null也会自动翻译成DBNull,但它显然没有.(谁知道?))

c# null-coalescing-operator

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

我可以在ASP.NET中为单个页面更改网页超时阈值吗?

当用户点击链接时,我们会生成并实时提供报告.

当然,在我们上线之后,我们发现有些用户有足够的数据可以使报告运行得足够慢以至于超时.

从长远来看,我们只需创建一个定期查找已完成报告的页面,然后在准备就绪时加载它即可解决此问题.但就目前而言,如果有可能,我们希望快速解决当前问题.

有没有办法延长正在提供的单个网页的超时时间?

我发现似乎表明它有点可能(但这似乎是一个非常糟糕的主意,因为它在网络呼叫期间改变了整个网站,更糟糕的是,似乎它可能有多个命中同步的问题同样,可能会为整个网站留下更长的超时)

我也在本地找到了这个,但它最终没有回答这个问题(虽然它确实提供了我们将要走向的长期解决方案.)

asp.net timeout

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

从SQL中的无格式文本中解析日期

我试图找出一种优雅的方式从文本列中获取具有类似"YYYYMMDD"的数据的日期...所以我们可能会在列中看到"20060508"作为值,我希望能够从查询返回为日期(2006年5月8日).

我确信如果有足够的时间,我可以一起破解一些东西,但我想到的方法看起来非常糟糕,我怀疑有一种方法可以在一个查询中优雅地完成.

有什么建议?

sql t-sql sql-server

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

如何在我的强类型数据集中包含DBNull作为值?

我在我的.NET应用程序中创建了一个强类型数据集(MyDataSet).为简单起见,我们假设它有一个DataTable(MyDataTable),一列(MyCol).MyCol的DataType属性设置为"System.Int32",其AllowDBNull属性设置为"true".

我想手动创建一个新行,并将其添加到此数据集中.我创建了没有问题的行,例如:

MyDataSet.MyDataTableRow myRow = MySimpleDataSet.MyDataTable.NewItemRow();
Run Code Online (Sandbox Code Playgroud)

精细.但是,当我尝试将值设置为DBNull时:

myRow.MyCol = DBNull.Value;
Run Code Online (Sandbox Code Playgroud)

我被告知我不能这样做......它无法将其转换为int.从某种意义上说,这是有道理的,因为我已经将它定义为一个int ...但是我怎么能在那里获得DBNull呢?我不应该在那里有DBNull吗?这不是AllowDBNull属性的用途吗?

我显然错过了一些有趣的东西.有人可以帮忙解释它是什么吗?

编辑:我也试过输入"int?" 作为DataType,但是当我输入它时,Visual Studio会抛出一个错误,说"Column需要一个有效的DataType".

.net dbnull strongly-typed-dataset

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