我正在尝试使用jQuery进行一些事件绑定,并且在我的文档中准备好了这个简单的代码:
$(document).ready(function() {
$("p a").each(function(i, selected){
$(selected).hover(
function(event) { alert('over: ' + event.type); },
function(event) { alert('out: ' + event.type); });
}
)
});
Run Code Online (Sandbox Code Playgroud)
因此,当我将鼠标移动到段落内的链接(选择器为"p a")时,会弹出两次警报.因此,mouseenter和mouseleave被激发两次.
这只发生在Google Chrome中.在Internet Explorer 7,Firefox 3,Opera和Safari中,这两个事件仅触发一次.
为什么会这样?
我注意到,只要我在一些查询中添加了连接,执行这些操作所花费的时间就不仅仅是完成多个查询.
时间包括页面加载和平均超过20页的加载.
7-9查询没有连接
159ms
3个查询,2个连接
235毫秒
我是否应该继续使用多个查询而不是连接,因为它们似乎对性能有如此重大的影响?我甚至可以优化多重查询方法,因为我在这些测试期间甚至是懒加载.
编辑
为了这个问题,我会创建一些虚假信息.
表对象
ID(int,identity,PK,聚集索引)
UserID(int,nonclustered index)
CategoryID(int,nonclustered index)
表用户
ID(int,identity,PK,聚集索引)
表类别
ID(int,identity,PK,聚集索引)
很简单.它是Objects表上的双内连接查询.分别查询所有3个似乎比连接更快.
连接的查询计划显示42%完成了2次聚簇索引搜索,23%是聚簇索引扫描,其余是前N排序.
我有一个ASP.NET MVC应用程序到目前为止非常简单,但我想在客户端位置添加行车路线页面.我看到很多使用传统代码模型的例子,但没有使用ASP.NET MVC.该应用程序使用母版页和内容页.
我是ASP.NET MVC的新手,所以请耐心等待.任何这样做的例子都将非常感激.
PS:如果需要的话,我并不完全反对在应用程序中集成类型页面后面的标准代码.
void foo(void) {
#pragma omp parallel
{
#pragma omp single
{fprintf(stderr, "first part\n"); }
#pragma omp barrier
#pragma omp single
{ fprintf(stderr, "second part\n"); }
}
}
void bar (void) {
#pragma omp parallel
{
#pragma omp sections
{
fprintf(stderr, "first part\n");
#pragma omp section
fprintf(stderr, "second part\n");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Q1-是foo()和bar()等价吗?
摘要
我最近与我的应用程序所依赖的框架的创建者进行了对话.在那次谈话中,他提到了一种说法,如果我将他的框架与我的应用程序捆绑在一起并将最终用户提供给我认为与我的代码一致的版本,那么它将使我的生活变得更简单.直觉上我一直试图避免这样做,事实上,我已经花了很多精力来分割我自己的代码,以便可以在不占用整个项目的情况下重新分配部分代码(即使很少有机会重复使用任何代码.它).然而,经过一段时间的考虑,我无法想出一个特别好的理由为什么我这样做.事实上,现在我已经考虑过了,我看到了一个非常引人注目的案例我所有较小的依赖项.我已经提出了一系列利弊,我希望有人可以指出我所遗漏的任何东西.
优点
缺点
笔记
作为参考,我的应用程序是用Python编写的,我所引用的依赖项是"轻量级",我的意思是小而不常用.(所以它们并不存在于所有机器上,甚至不存在于所有存储库中.)当我说"package with"我的应用程序时,我的意思是在我自己的源代码树下分发,而不是使用驻留在我的包中的脚本安装,所以会没有冲突版本的机会.我也只是在Linux上开发,所以不用担心Windows安装问题.
所有这些,我有兴趣听到有关包装依赖性更广泛(语言无关)问题的任何想法.有什么我想念的,或者这是一个简单的决定,我只是过度思考?
附录1
值得一提的是,我对下游包装商的需求也非常敏感.我希望尽可能简单地将应用程序包装在特定于发行版的Deb或RPM中.
我发现xcode-builtin-documentation阅读器很难使用.我希望看到所有指南的根源,以便了解在我开始之前我必须继续阅读多长时间.一直有一些新指南出现在我面前,我想知道它们有多少.
某处有概述吗?
在"语言X只有太多魔法"或"平台Y通常避免魔法"等语境中,"魔法"这个词在这里被抛出很多.然而,似乎这个术语的定义很差,人们在看到它时就会知道.例如,Java被认为包含很少的魔力,但它的垃圾收集器隐藏了很多程序员.如果魔术只是意味着隐藏细节的抽象,那么为什么它被认为是一件坏事,因为没有人再用汇编语言编写大型程序了?如果魔法意味着什么更多,那么它意味着什么?
我有一个'文件夹'表.我想返回userId为16的所有记录.
SELECT * FROM `folders` WHERE userId = 16;
Run Code Online (Sandbox Code Playgroud)
我有一张'文件'表.对于上面返回的每个"文件夹",我想返回该"文件夹"中的"文件"计数.
SELECT COUNT(*) as "Files" FROM files WHERE Folder = n;
Run Code Online (Sandbox Code Playgroud)
我如何结合这些?我迷路了.谢谢!
实际上我并不太关心Mac OS X的开发.我只想做iPod Touch和iPhone开发.但无论如何,我开始学习Cocoa和Objective-C.但似乎Cocoa和Cocoa Touch之间存在很多差异,所以我想知道我是否真的在浪费时间.我应该直接跳到iPhone主题吗?
我正在编写一个代码生成器,实际上是一个数据生成器,它将生成这种形式的数据结构(显然,实际的数据结构更精细):
typedef struct Foo {
int a;
struct Foo* foo;
} Foo;
extern Foo f1;
extern Foo f2;
Foo f1 = {1, &f2};
Foo f2 = {2, &f1};
Run Code Online (Sandbox Code Playgroud)
这对于我尝试过的所有C和C++编译器都是可移植的.
我想将这些struct实例声明为static,以免污染全局变量空间,如:
typedef struct Foo {
int a;
struct Foo* foo;
} Foo;
static Foo f1;
static Foo f2;
static Foo f1 = {1, &f2};
static Foo f2 = {2, &f1};
Run Code Online (Sandbox Code Playgroud)
虽然这适用于gcc和可能所有C编译器,但上面的代码不适用于C++编译器并导致编译错误:
error: redefinition of ‘Foo f1’
error: ‘Foo f1’ previously declared
Run Code Online (Sandbox Code Playgroud)
我理解为什么会在C++中发生这种情况.是否有一个简单的解决方法,不涉及在运行时使用代码来实现可移植到所有C++编译器的相同效果,而无需使用C编译器来编译某些文件?
cocoa ×2
objective-c ×2
sql ×2
.net-3.5 ×1
asp.net-mvc ×1
c ×1
c++ ×1
cocoa-touch ×1
count ×1
dependencies ×1
distribution ×1
events ×1
google-maps ×1
import ×1
iphone ×1
javascript ×1
join ×1
jquery ×1
linq-to-sql ×1
openmp ×1
packaging ×1
python ×1