使用来自Google托管代码的jQuery 1.4.2.
有没有理由为什么当文档准备好后,以下javascript不会触发所有3 document.ready函数?
第一个$(document).ready()函数,它呈现标题,第二个函数,它会触发"Foo"警报框,但<script>不会触发新块中的后续函数,
<script type="text/javascript">
$(document).ready(function () {
Cufon.replace('h1'); // Works without a selector engine
Cufon.replace('h2'); // Works without a selector engine
Cufon.replace('h3'); // Works without a selector engine
Cufon.now();
});
$(document).ready(function () { alert("Number Foo"); });
</script>
// html tags
<script type="text/javascript">
$(document).ready(function () { alert("Number One"); });
$(document).ready(function () { alert("Number Two"); });
</script>
Run Code Online (Sandbox Code Playgroud)
它们位于独立的Web部件中,托管在Sharepoint2010的同一页面上
我正在尝试从SQL查询中设置变量:
declare @ModelID uniqueidentifer
Select @ModelID = select modelid from models
where areaid = 'South Coast'
Run Code Online (Sandbox Code Playgroud)
显然我没有这样做,因为它不起作用.有人可以提出解决方案吗?
谢谢!
我在我的应用程序上使用MKMapView.我需要在模拟器上显示当前位置.
可能吗.在模拟器上显示当前位置.
我已经安装了libssl-dev和openssl,但是当我安装node.js时我得到了这个:
> ./configure && make && make install
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for program gcc or cc : /usr/bin/gcc
Checking for gcc : ok
Checking for library dl : yes
Checking for openssl : not found
Checking for function SSL_library_init : yes
Checking for header openssl/crypto.h : yes
Checking for library rt …Run Code Online (Sandbox Code Playgroud) 假设我有一个图表,其中节点是各种工作负载,边缘是工作负载之间的依赖关系.(这是DAG,因为不能存在循环依赖.)
我还有一组可以执行工作的多个代理.
一些工作负载变种可以给予任何代理,其他工作量必须给予特定代理,而其他工作量必须给予特定代理组中的一个代理.
如何分配工作负载,以便:
在完成所有阻塞工作负载之前,不会向代理提供任何工作负载
完成总工作负载图需要最短的时间.(请注意,最小化代理程序空闲时间通常是好的,但不是基本要求 - 可能存在一个特定代理程序闲置的时间更长但是完成所有代理程序中所有作业的总时间最少.)
工作负载具有持续时间估计值,但为简单起见假设每个工作负载需要相同的计算时间.(只需将每个工作负载分解为多个依赖于串行的工作负载,直到每个工作负载实际上都是一个恒定时间操作.)
我知道拓扑DAG排序,但它产生一个单一的序列节点排序.我有多个并行运行的代理,并且这种关系可以通过非显而易见的任务重新排序来实现潜在的大时序优化.
这样的结果将作为最小总持续时间的甘特图得到最佳结果.实际上,如果您将问题视为在团队中的工程师的里程碑中分配错误票据,目标是尽快完成里程碑,那么您就会明白这一点.(不......请不要告诉我将我的图表导入MS Project然后将其导出:) - 我对它背后的算法感兴趣!)
非常感谢知名算法,软件库或一般问题和原则的指针!
标签可以有多个属性.属性在代码中出现的顺序无关紧要.例如:
<a href="#" title="#">
<a title="#" href="#">
Run Code Online (Sandbox Code Playgroud)
如何在Javascript中"规范化"HTML,因此属性的顺序始终相同?我不关心选择哪个顺序,只要它总是相同的.
更新:我最初的目标是更容易区分(在JavaScript中)2个HTML页面,略有不同.由于用户可以使用不同的软件来编辑代码,因此属性的顺序可能会发生变化.这使得差异太冗长.
答案:嗯,首先要感谢所有答案.是的,这是可能的.这就是我成功的方法.这是一个概念证明,它当然可以优化:
function sort_attributes(a, b) {
if( a.name == b.name) {
return 0;
}
return (a.name < b.name) ? -1 : 1;
}
$("#original").find('*').each(function() {
if (this.attributes.length > 1) {
var attributes = this.attributes;
var list = [];
for(var i =0; i < attributes.length; i++) {
list.push(attributes[i]);
}
list.sort(sort_attributes);
for(var i = 0; i < list.length; i++) {
this.removeAttribute(list[i].name, list[i].value);
}
for(var i = 0; i < list.length; i++) { …Run Code Online (Sandbox Code Playgroud) 我有一个程序,它执行有限形式的多线程.它是用Delphi编写的,使用libmysql.dll(C API)来访问MySQL服务器.该程序必须处理一长串记录,每条记录约0.1秒.把它想象成一个大循环.所有数据库访问都由工作线程完成,工作线程预取下一条记录或写入结果,因此主线程不必等待.
在这个循环的顶部,我们首先等待预取线程,获取结果,然后让预取线程执行下一条记录的查询.想法是预取线程将立即发送查询,并在主线程完成循环时等待结果.
它通常以这种方式工作.但请注意,没有什么可以确保预取线程立即运行.我发现在主线程循环并开始等待预取之前,通常不会发送查询.
我通过在启动预取线程后立即调用sleep(0)来解决这个问题.这样主线程就会放弃它的剩余时间片,希望预取线程现在可以运行,发送查询.然后该线程将在等待时休眠,这允许主线程再次运行.
当然,在操作系统中运行了更多的线程,但这确实在某种程度上起作用.
我真正想要发生的是主线程发送查询,然后让工作线程等待结果.使用libmysql.dll我打电话
result := mysql_query(p.SqlCon,pChar(p.query));
Run Code Online (Sandbox Code Playgroud)
在工作线程中.相反,我想让主线程调用类似的东西
mysql_threadedquery(p.SqlCon,pChar(p.query),thread);
Run Code Online (Sandbox Code Playgroud)
一旦数据消失,它将立即切换任务.
有谁知道这样的事吗?
这实际上是一个调度问题,所以我可以尝试以更高的优先级启动预取线程,然后在发送查询后降低其优先级.但同样,我没有任何mysql调用将发送查询与接收结果分开.
也许它在那里,我只是不知道它.请赐教.
补充问题:
有没有人认为通过以比主线程更高的优先级运行预取线程来解决这个问题?这个想法是预取将立即抢占主线程并发送查询.然后它会等待服务器回复.同时主线程将运行.
补充:当前实施的细节
该程序对MySQL DB中包含的数据执行计算.每秒有33M项目添加更多.该程序持续运行,处理新项目,有时重新分析旧项目.它从表中获取要分析的项目列表,因此在传递开始时(当前项目),它知道它将需要的下一个项目ID.
由于每个项目都是独立的,因此这是多处理的完美目标.最简单的方法是在多台计算机上运行多个程序实例.该程序通过分析,重写和算法重新设计进行了高度优化.不过,单个实例在没有数据缺乏的情况下使用100%的CPU核心.我在两个四核工作站上运行4-8份.但按照这个速度,他们必须花时间等待MySQL服务器.(优化服务器/数据库架构是另一个主题.)
我在这个过程中实现了多线程,以避免阻塞SQL调用.这就是我称之为"有限多线程"的原因.工作线程有一个任务:发送命令并等待结果.(好的,两个任务.)
事实证明,有6个阻止任务与6个表相关联.其中两个读取数据,另外四个写入结果.这些类似于足以由公共任务结构定义.指向此Task的指针被传递给线程池管理器,该管理器分配一个线程来完成工作.主线程可以通过Task结构检查任务状态.
这使得主线程代码非常简单.当它需要执行Task1时,它等待Task1不忙,将SQL命令放在Task1中并将其关闭.当Task1不再忙时,它包含结果(如果有的话).
写结果的4个任务是微不足道的.主线程有一个Task写入记录,然后继续下一个项目.完成该项后,它会确保先前的写入在启动另一个之前完成.
2个阅读线程不那么简单.将读取传递给线程然后等待结果将不会获得任何结果.相反,这些任务预取下一个项目的数据.因此,进入此阻塞任务的主线程检查预取是否已完成; 如果需要等待预取完成,则从任务中获取数据.最后,它使用NEXT Item ID重新发出Task.
想法是让预取任务立即发出查询并等待MySQL服务器.然后主线程可以处理当前项目,并且当它在下一个项目上启动时,它需要的数据位于预取任务中.
因此,线程,线程池,同步,数据结构等都已完成.这一切都有效.我剩下的是一个调度问题.
调度问题是这样的:当服务器获取下一个项目时,所有速度增益都在处理当前项目.我们在处理当前项目之前发出预取任务,但我们如何保证它的启动?操作系统调度程序不知道预取任务立即发出查询很重要,然后它只会等待.
OS调度程序正在尝试"公平"并允许每个任务针对指定的时间片运行.我最糟糕的情况是:主线程接收其切片并发出预取,然后完成当前项目并且必须等待下一个项目.等待释放其剩余的时间片,因此调度程序启动预取线程,该线程发出查询然后等待.现在两个线程都在等待.当服务器发出查询信号时,预取线程重新启动,并请求结果(数据集)然后休眠.当服务器提供预取线程唤醒的结果时,标记任务完成并终止.最后,主线程重新启动并从完成的Task获取数据.
为了避免这种最坏情况的调度,我需要一些方法来确保在主线程继续使用当前项之前发出预取查询.到目前为止,我已经想到了三种方法:
发出预取任务后,主线程调用Sleep(0).这应该放弃剩下的时间片.然后我希望调度程序运行预取线程,它将发出查询然后等待.然后调度程序应该重新启动主线程(我希望.)听起来很糟糕,这实际上比没有好.
我可能会以比主线程更高的优先级发出预取线程.这应该导致调度程序立即运行它,即使它必须抢占主线程.它也可能有不良影响.后台工作线程获得更高优先级似乎不自然.
我可以异步发出查询.也就是说,单独发送查询以接收结果.这样我就可以让主线程使用mysql_send_query(非阻塞)发送预取并继续使用当前项.然后,当它需要下一个项目时,它将调用mysql_read_query,它将阻塞直到数据可用.
请注意,解决方案3甚至不使用工作线程.这看起来是最好的答案,但需要重写一些低级代码.我目前正在寻找这种异步客户端 - 服务器访问的示例.
我也喜欢这些方法的任何经验丰富的意见.我错过了什么,或者我做错了什么?请注意,这是所有正常工作的代码.我不是问怎么做,而是如何做得更好/更快.
我正在尝试合并两个地图,但没有用于加入集合的内置方法.你是怎么做到的?
$("#show-sidebar").click(function () {
$(this).fadeOut("fast");
$("#sidebar").animate({
marginLeft: "0"
}, "fast");
$("#content").toggleClass("full");
});
Run Code Online (Sandbox Code Playgroud)
我想要做的是,我想,非常简单:对于每个要执行的操作,我需要它等待直到前一个完成.
如何使用GWT在所有div元素上添加事件处理程序?我尝试了以下代码,但窗口警报未启动(但"etvoila"类已设置):
private NodeList<Element> pageDIVElements;
public void initDiv() {
MyDIVEventHandler handler = new MyDIVEventHandler();
pageDIVElements = Document.get().getElementsByTagName("div");
for (int i = 0; i < pageDIVElements.getLength(); i++) {
Element elem = pageDIVElements.getItem(i);
elem.addClassName("etvoila");
com.google.gwt.user.client.Element castedElem = (com.google.gwt.user.client.Element) elem;
DOM.setEventListener(castedElem, handler);
}
class MyDIVEventHandler implements EventListener {
private Element divElement;
@Override
public void onBrowserEvent(Event event) {
Window.alert("Yeepee");
if (event.equals(Event.ONMOUSEOVER)) {
Window.alert("ONMOUSEOVER");
divElement = Element.as(((NativeEvent) event).getEventTarget());
divElement.setPropertyString("background-color", "#C6D4E6");
} else if (event.equals(Event.ONMOUSEOUT)) {
divElement = Element.as(((NativeEvent) event).getEventTarget());
divElement.setAttribute("background-color", "");
}else if (event.equals(Event.ONCLICK)) {
divElement …Run Code Online (Sandbox Code Playgroud) jquery ×3
javascript ×2
algorithm ×1
asp.net ×1
collections ×1
delphi ×1
f# ×1
graph ×1
gwt ×1
html ×1
html-parsing ×1
iphone ×1
mysql ×1
node.js ×1
openssl ×1
scheduling ×1
sql ×1
sql-server ×1
ssl ×1
t-sql ×1
ubuntu ×1
web-parts ×1