小编Mat*_*all的帖子

为什么setTimeout()"中断"大毫秒延迟值?

当传递一个大的毫秒值时,我遇到了一些意想不到的行为setTimeout().例如,

setTimeout(some_callback, Number.MAX_VALUE);
Run Code Online (Sandbox Code Playgroud)

setTimeout(some_callback, Infinity);
Run Code Online (Sandbox Code Playgroud)

两者都导致some_callback几乎立即运行,好像我已经通过0而不是大量的延迟.

为什么会这样?

javascript settimeout

95
推荐指数
4
解决办法
3万
查看次数

使用Javascript数组计算集合差异的最快或最优雅的方法是什么?

让我们AB两套.我正在寻找真正快速或优雅的方法来计算它们之间的集合差异(A - B或者A \B,取决于您的偏好).正如标题所说,这两个集合作为Javascript数组进行存储和操作.

笔记:

  • 壁虎特有的技巧是可以的
  • 我更喜欢坚持本机功能(但如果速度更快,我会对轻量级库开放)
  • 我见过,但没有经过测试,JS.Set(见前一点)

编辑:我注意到有关包含重复元素的集合的注释.当我说"集合"时,我指的是数学定义,这意味着(除其他外)它们不包含重复元素.

javascript arrays set-difference

90
推荐指数
10
解决办法
7万
查看次数

使用group by vs distinct时的巨大性能差异

我正在HSQLDB服务器上执行一些测试,其中包含一个包含500 000个条目的表.该表没有索引.有5000个不同的业务键.我需要一份清单.当然,我开始DISTINCT查询:

SELECT DISTINCT business_key FROM memory WHERE
   concept <> 'case' or 
   attrib <> 'status' or 
   value <> 'closed'
Run Code Online (Sandbox Code Playgroud)

大约需要90秒!

然后我尝试使用GROUP BY:

SELECT business_key FROM memory WHERE
       concept <> 'case' or 
       attrib <> 'status' or 
       value <> 'closed'
GROUP BY business_key
Run Code Online (Sandbox Code Playgroud)

它需要1秒!!!

试图找出我运行的差异,EXLAIN PLAN FOR但它似乎为两个查询提供相同的信息.

EXLAIN PLAN FOR DISTINCT ...

isAggregated=[false]
columns=[
  COLUMN: PUBLIC.MEMORY.BUSINESS_KEY
]
[range variable 1
  join type=INNER
  table=MEMORY
  alias=M
  access=FULL SCAN
  condition = [    index=SYS_IDX_SYS_PK_10057_10058
    other condition=[
    OR arg_left=[ …
Run Code Online (Sandbox Code Playgroud)

sql performance group-by distinct hsqldb

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

Google Maps API v3 + jQuery UI标签的问题

当使用Google Maps API在jQuery UI选项卡中呈现地图时,有许多问题似乎都是众所周知的.我已经看到关于类似问题发布的SO问题(例如这里这里),但那里的解决方案似乎只适用于Maps API的v2.我检查过的其他参考文献在这里这里,以及我可以通过谷歌搜索挖掘的几乎所有内容.

我一直在尝试将地图(使用API​​的v3)填充到具有混合结果的jQuery选项卡中.我正在使用最新版本的一切(目前jQuery 1.3.2,jQuery UI 1.7.2,不了解Maps).

这是标记和javascript:

<body>
    <div id="dashtabs">
        <span class="logout">
            <a href="go away">Log out</a>
        </span>
        <!-- tabs -->
        <ul class="dashtabNavigation">
            <li><a href="#first_tab" >First</a></li>
            <li><a href="#second_tab" >Second</a></li>
            <li><a href="#map_tab" >Map</a></li>
        </ul>

        <!--  tab containers -->
        <div id="first_tab">This is my first tab</div>
        <div id="second_tab">This is my second tab</div>
        <div id="map_tab">
             <div id="map_canvas"></div>
        </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

$(document).ready(function() {
    var map = null;
    $('#dashtabs').tabs();
    $('#dashtabs').bind('tabsshow', function(event, ui) { …
Run Code Online (Sandbox Code Playgroud)

jquery google-maps jquery-ui-tabs google-maps-api-3

70
推荐指数
5
解决办法
9万
查看次数

使用node.js获取HTTP标头

是否有通过node.js获取特定地址标头的内置方法?

就像是,

var headers = getUrlHeaders("http://stackoverflow.com");
Run Code Online (Sandbox Code Playgroud)

会回来的

HTTP/1.1 200 OK.
Cache-Control: public, max-age=60.
Content-Type: text/html; charset=utf-8.
Content-Encoding: gzip.
Expires: Sat, 07 May 2011 17:32:38 GMT.
Last-Modified: Sat, 07 May 2011 17:31:38 GMT.
Vary: *.
Date: Sat, 07 May 2011 17:31:37 GMT.
Content-Length: 32516.
Run Code Online (Sandbox Code Playgroud)

node.js

64
推荐指数
6
解决办法
13万
查看次数

我是否达到了浏览器可以处理的JavaScript对象大小的限制?

<script>在我的HTML中嵌入了一个大型数组,就像这样(没什么好惊讶的):

<script>
    var largeArray = [/* lots of stuff in here */];
</script>
Run Code Online (Sandbox Code Playgroud)

在此特定示例中,阵列具有210,000个元素.这远远低于理论最大值2 31 - 4个数量级.这是有趣的部分:如果我将数组的JS源保存到文件中,那么该文件大于44兆字节(确切地说是46,573,399字节).

如果您想亲眼看看,可以从GitHub下载.(那里的所有数据都是罐装的,所以很多都是重复的.生产中不会这样.)

现在,我真的不担心提供那么多数据.我的服务器gzips它的响应,所以它真的不需要花费很长时间才能通过网络获取数据.但是,一旦加载,页面就会出现令人讨厌的趋势,导致浏览器崩溃.我在IE中根本没有测试(这是一个内部工具).我的主要目标是Chrome 8和Firefox 3.6.

在Firefox中,我可以在控制台中看到一个相当有用的错误:

Error: script stack space quota is exhausted

在Chrome中,我只是得到了悲伤标签页:

在此输入图像描述

已经切入了追逐

  • 对于我们现代的"高性能"浏览器来说,这真的太多了吗?
  • 有什么我可以做*优雅地处理这么多的数据?

顺便说一句,我能够在Chrome中启用此功能(阅读:不会崩溃选项卡).我真的认为Chrome至少是由更强硬的东西制成的,但显然我错了......


编辑1

@Crayon:我不想证明我为什么要立即将这么多数据转储到浏览器中.简短版本:要么解决这个问题(当然不是那么容易),要么我必须解决一大堆其他问题.我现在选择更简单的方法.

@various:现在,我并不是特别想找到减少数组中元素数量的方法.我知道我可以实现Ajax分页或者你有什么,但是在其他方面它会为我引入一系列问题.

@Phrogz:每个元素看起来像这样:

{dateTime:new Date(1296176400000),
 terminalId:'terminal999',
 'General___BuildVersion':'10.05a_V110119_Beta',
 'SSM___ExtId':26680,
 'MD_CDMA_NETLOADER_NO_BCAST___Valid':'false',
 'MD_CDMA_NETLOADER_NO_BCAST___PngAttempt':0}
Run Code Online (Sandbox Code Playgroud)

@Will:但是我的计算机配备了4核处理器,6 GB RAM,超过半TB的磁盘空间......我甚至都没有要求浏览器快速完成这项工作 - 我只想问因为它可以工作!


编辑2

任务完成!

通过JuanGuffa的现场建议,我能够让这个工作!似乎问题只是解析源代码,而不是在内存中实际使用它.

总结胡安答案的评论泥潭:我不得不将我的大阵列分成一系列较小的阵列,然后是Array#concat()它们,但这还不够.我还 …

javascript memory arrays

63
推荐指数
4
解决办法
3万
查看次数

在YAML中重用一段代码

我想在YAML中重用哈希:

Defaults: &defaults
  Company: Foo
  Item: 123

Computer: *defaults
  Price: 3000
Run Code Online (Sandbox Code Playgroud)

但是,这会产生错误.

是分别定位每个字段值的唯一途径是这样

Defaults:
  Company: &company Foo
  Item: &item 123

Computer:
  Company: *company
  Item: *item
  Price: 3000
Run Code Online (Sandbox Code Playgroud)

yaml

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

使用JAX-RS保持干爽

我正在尝试最小化许多JAX-RS资源处理程序的重复代码,所有这些都需要一些相同的路径和查询参数.每个资源的基本URL模板如下所示:

/{id}/resourceName
Run Code Online (Sandbox Code Playgroud)

每个资源都有多个子资源:

/{id}/resourceName/subresourceName
Run Code Online (Sandbox Code Playgroud)

因此,资源/子资源路径(包括查询参数)可能看起来像

/12345/foo/bar?xyz=0
/12345/foo/baz?xyz=0
/12345/quux/abc?xyz=0
/12345/quux/def?xyz=0
Run Code Online (Sandbox Code Playgroud)

跨资源的共用部位fooquux@PathParam("id")@QueryParam("xyz").我可以像这样实现资源类:

// FooService.java
@Path("/{id}/foo")
public class FooService
{
    @PathParam("id") String id;
    @QueryParam("xyz") String xyz;

    @GET @Path("bar")
    public Response getBar() { /* snip */ }

    @GET @Path("baz")
    public Response getBaz() { /* snip */ }
}
Run Code Online (Sandbox Code Playgroud)

// QuuxService.java
@Path("/{id}/quux")
public class QuxxService
{
    @PathParam("id") String id;
    @QueryParam("xyz") String xyz;

    @GET @Path("abc")
    public Response getAbc() { /* snip */ }

    @GET @Path("def")
    public …
Run Code Online (Sandbox Code Playgroud)

java jax-rs jersey

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

Eclipse:"'周期性工作区保存.' 遇到了问题."

我在Mac 10.7.4上使用Eclipse Indigo.工作时,我会得到这些定期的,烦人的对话框

'Periodic workspace save.' has encountered a problem.

Could not write metadata for '/.org.eclipse.jdt.core.external.folders'.
/Users/davea/Dropbox/workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.jdt.core.external.folders/.markers.snap (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我似乎能够像往常一样继续,但我想知道如何消除这些错误.

eclipse

60
推荐指数
4
解决办法
10万
查看次数

这个UI模式叫什么?

我试图弄清楚这种事情的调用方式,以及最终我如何在网络浏览器中创建一个.它看起来像这样(想到第一个应用程序的屏幕截图):

在此输入图像描述

我正在寻找的特定组件/模式是两个列表框("Included Gear"和"Excluded Gear"),它们表示从集合中包含/排除项目.我不是真的在寻找WPF名称(如果有的话),但它可能会有所帮助.

正在寻找这个东西的名称,如果有的话,如果你真的想要我的一天,你可以指向我jQuery或YUI的方式在浏览器中制作这些交易之一.

jquery user-interface yui terminology

59
推荐指数
5
解决办法
9318
查看次数