这样的事情会严重影响性能吗?
var myQuery = from c in Customers select c;
var filter1 = from c in myQuery where c.ID > 2 select c;
myQuery = filter1;
var filter2 = from c in myQuery where c.Name.Contains("r") select c;
myQuery = filter2;
Run Code Online (Sandbox Code Playgroud)
当我这样做时,它似乎只在最后进行实际查询,而不是每个"var ...".到目前为止的所有内容似乎只是构造一个查询,所以看起来这样可以,并且与将所有过滤器放在1个查询中的性能差别不大.我错了,它实际上是在对数据库运行多个查询?
我正在尝试找出一种基于用户输入创建查询的好方法,以便他们可以根据不同的标准进行过滤.只要这样做不会占用大量时间,我就不会太担心性能.
我还发现了关于Dynamic Linq库的帖子,但使用它看起来很笨拙,我没有看到这样做的差别太大.
我有一些使用Eval生成对javascript函数调用的aspx代码:
ASP.NET(为便于阅读而包装):
<asp:LinkButton runat="server"
OnClientClick='<%# Eval(
"NodeGUID",
"return DoStuff(this, \"{0}\");") %>'
Text="Do stuff" />
Run Code Online (Sandbox Code Playgroud)
这会生成类似于的javascript:
Javascript(为便于阅读而包装):
return DoStuff(this,
"3F2504E0-4F89-11D3-9A0C-0305E82C3301"
);
Run Code Online (Sandbox Code Playgroud)
注意: 我已经转换了生成的" 实体引用引号以便于阅读.
我现在需要在javascript函数调用中添加一个第三个参数,一个标题:
Javascript(为便于阅读而包装)
return DoStuff(this,
"3F2504E0-4F89-11D3-9A0C-0305E82C3301",
"AllisonAngel.jpg"
);
Run Code Online (Sandbox Code Playgroud)
注意: 我已经转换了生成的" 实体引用引号以便于阅读.
代码隐藏文件中已存在一个用于返回项目标题的函数:
C#(为了便于阅读,省略了代码):
protected string GetItemText(MySomething item)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我知道可以使用类似于以下语法从aspx文件调用上述函数:
ASP.NET(包装,代码省略,为了便于阅读):
<asp:LinkButton ... runat="server"
Text="<%# GetItemText((MySomething)Container.DataItem) %>"
... />
Run Code Online (Sandbox Code Playgroud)
所以现在我想使用这个函数将第三个参数包含到javascript函数中.
从...开始:
<asp:LinkButton runat="server"
OnClientClick='<%# Eval(
"NodeGUID",
"return DoStuff(this, \"{0}\", \"Todo - Insert caption here\");") %>'
Text="Do stuff" />
Run Code Online (Sandbox Code Playgroud)
我需要改变:" Todo - Insert caption here" …
如果你有一个中心(center_x, center_y)和半径的圆radius,你如何测试一个带坐标的给定点(x, y)是否在圆内?
假设您希望在SSL加密的登录/密码之上添加额外的凭据层,但您不希望增加用户的复杂性.有没有办法将拥有加密狗的要求添加到具有现有跨平台浏览器功能的Web服务器身份验证方案中?
换句话说,要访问网站,您需要一个用户名,密码和已插入客户端计算机的USB加密狗.加密狗可能会做出某种挑战/回应.
如果这个加密狗解决方案能够自动或与简单的插件一起使用,那将是理想的选择.
感谢您的意见和建议.
我正在用PHP开发一个网站,我有大量的JS文件,我想压缩.所以,我在.htaccess文件中添加了这个:
<FilesMatch "\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
它在我的本地wamp服务器安装上运行良好,但是一旦我在共享服务器上移动文件,DEFLATE命令就不起作用了.我不知道为什么...在web服务器上启用了mod_deflate,以及bz2,gzip.我被允许使用htaccess,我已经把...加上我在htaccess中运行其他规则和命令.所以DEFLATE是唯一不起作用的......有谁知道它为什么在我的本地主机上运行而不在我的网络服务器上呢?我需要在我的网络服务器上启用任何我不知道的模块/扩展吗?
有任何想法吗 ?
谢谢!
我已经读过,在对密码进行散列时,许多程序员建议使用BCrypt算法.
我正在使用C#进行编程,并且想知道是否有人知道BCrypt的良好实现?我找到了这个页面,但我真的不知道它是不是假的.
选择密码哈希方案时应该注意什么?BCrypt是一个"好"的实现吗?
我个人厌恶网站上的背景音乐.我的客户对这个问题有不同的看法.我添加音乐是因为客户永远是对的,尽管我想用它们重新审视这个主题.
几乎每个人都会同意它很烦人并浪费宝贵的带宽,但是有没有可用性研究或推荐专业人士可以提供有效的背景音乐论据?
我已经为网络编程已经很长一段时间了,但是最近才发现了一些关于函数使用的新复杂性以及你可以用它们做的奇怪的事情(或者我认为它们都是如此).但是,它们在这一点上似乎只是语法上很漂亮的东西.我希望有人可以告诉我这些新发现的方面如何证明是有用的.
例如,我第一次运行它时,我认为它不会起作用:
<script>
function x(q)
{
q(x);
}
x(function(a)
{
alert(a);
}
);
</script>
Run Code Online (Sandbox Code Playgroud)
但它确实做到了!不知何故,创建一个命名函数,它接收一个不同的匿名函数作为它的唯一参数,然后运行传递给它的函数,并将其作为参数传递给它就可以了.这让我大吃一惊,我几乎可以肯定它有很大的实用性,但我还是不能完全放下它.
啊,还有另外一件事我很高兴发现:使用全局范围的变量来存储函数,可以在执行后使用JavaScript的eval()函数来修改该变量,从而动态地改变函数的内部工作.一个例子:
<script>
var f = function()
{
alert('old text');
}
eval('f = ' + f.toString().replace('old text', 'new text'));
f();
</script>
Run Code Online (Sandbox Code Playgroud)
果然,该代码警告"新文本"字符串; 当我看到这一点时,我的思绪再一次被吹嘘,但也立即对创造出令人难以置信的东西的潜力感兴趣.
所以...我对Stack Overflow的问题:如何以任何积极的方式使用这些看似抽象的编码原则?
作为数值库测试的一部分,我需要选择可以在基数2中精确表示的10位十进制数.如何在C++中检测基数为10的十进制数是否可以在基数2中精确表示?
我的第一个猜测如下:
bool canBeRepresentedInBase2(const double &pNumberInBase10)
{
//check if a number in base 10 can be represented exactly in base 2
//reference: http://en.wikipedia.org/wiki/Binary_numeral_system
bool funcResult = false;
int nbOfDoublings = 16*3;
double doubledNumber = pNumberInBase10;
for (int i = 0; i < nbOfDoublings ; i++)
{
doubledNumber = 2*doubledNumber;
double intPart;
double fracPart = modf(doubledNumber/2, &intPart);
if (fracPart == 0) //number can be represented exactly in base 2
{
funcResult = true;
break;
}
}
return funcResult;
}
Run Code Online (Sandbox Code Playgroud)
我用以下值测试了这个函数:-1.0/4.0,0.0,0.1,0.2,0.205,1.0/3.0,7.0/8.0,1.0,256.0/255.0,1.02,99.005.对于-1.0/4.0,0.0,7.0/8.0,1.0,99.005,它返回true,这是正确的.
有更好的想法吗?