小编Joh*_*olu的帖子

同步AJAX调用如何导致内存泄漏?

我理解这种使用同步ajax调用的一般建议,因为同步调用会阻止UI呈现.

通常给出的另一个原因是具有同步 AJAX的内存泄漏问题.

来自MDN文档 -

注意:您不应该使用同步XMLHttpRequests,因为由于网络固有的异步特性,在使用同步请求时,内存和事件可能会以各种方式泄漏.唯一的例外是同步请求在Workers内部运行良好.

同步调用如何导致内存泄漏?

我正在寻找一个实际的例子.关于这个主题的任何文献的任何指针都会很棒.

javascript ajax jquery

32
推荐指数
1
解决办法
4739
查看次数

如何呈现许可的Web字体?

我正在查看使用myfonts.com的许可字体的项目的源代码.

css文件包含这个 -

  /* @import must be at top of file, otherwise CSS will not work */
    @import url("//hello.myfonts.net/count/123d4d");

   @font-face {
  font-family: 'SoliPx';
  src: url('webfonts/123D4D_1_0.eot');
  src: url('webfonts/123D4D_1_0.eot?#iefix') format('embedded-opentype'),url('webfonts/123D4D_1_0.woff') format('woff'),url('webfonts/123D4D_1_0.ttf') format('truetype');
}
Run Code Online (Sandbox Code Playgroud)

并且如源URL中所述 - 项目的本地webfonts文件夹中有eot,woff,ttf文件.

我知道@ font-face和webfonts一般是如何工作的.

但在上面使用许可/商业字体的情况下,我没有看到在Dev Tools中下载任何字体文件,但文本是使用指定的字体呈现的.

有一个net请求,hello.myfonts.net/count/123d4d状态为200,响应content-type为"text/css",但响应正文中没有任何内容.

内部发生了什么?这是怎么回事?

css webfonts

21
推荐指数
1
解决办法
7368
查看次数

Ant - Java - zipfileset - 不包括目录

我有一个像这样创建zip的蚂蚁目标 -

<zip destfile="${dist}/myzip.zip">
    <zipfileset dir="docs/manual" prefix="docs/userguide"/>    
</zip>
Run Code Online (Sandbox Code Playgroud)

这基本上创建了存档,myzip.zip其中包含存档中以docs/manual docs/userguide为前缀的所有文件和目录.

但我不想包含docs/manual要复制到存档中的所有目录,我有一个目录,olddocs/manual其中我要排除...如何实现这一目标?

java ant zip

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

RequireJS - 优化到多个文件并按需加载

我们有一个大型单页面应用程序,大约有200个模块 -

当我们使用优化器时 - 我们最终会将所有模块放在一个文件中,并使用uglified等.工作得非常好.

但是我们的应用程序是一种多租户应用程序,每个用户都不需要所有200个模块.

我们可以将模块大致划分为50个通用模块,如果用户类型为"A",则需要100个模块,对于用户类型"B"等,需要50个模块.

现在,如果用户类型为"B",则下载的单个优化文件包含100个从不使用的模块.不知何故,如果我们可以避免这些,文件大小将会小得多,这将真正提高性能.

总之,我正在寻找这个 - 我们有模块组 - 将模块组优化到它自己的文件中 - 根据用户的需要下载相应的文件.

是否可以使用requireJS进行这种优化?

谢谢,J.

requirejs js-amd

6
推荐指数
1
解决办法
364
查看次数

Chrome Bookmarks API - 使用“移动”在同一文件夹中重新排序书签

文档

chrome.bookmarks.move(string id, object destination, function callback)
Moves the specified BookmarkTreeNode to the provided location

id ( string )
destination ( object )
    index ( optional integer )
    parentId ( optional string )
callback ( optional function )
chrome.bookmarks.move(string id, object destination, function callback)
Parameters
Run Code Online (Sandbox Code Playgroud)

API 在以下情况下按预期工作,

如果我将书签移动到不同的文件夹,到任何位置(索引) - 如果我在文件夹内移动书签并将书签向上移动 - 即到新索引小于当前索引的位置 -

API 不起作用 - 当 -

如果我在文件夹中移动书签(即 parentId 相同)并将书签向上移动 - 即到新索引大于当前索引的位置

书签的最终位置是上面的一个位置,而不是我想要的位置。

例如 -

api 没有问题如果我将书签移到上方(新索引 < 当前索引),即 - 如果我在索引 3 处有一个书签并且想要将它移到上面,即索引 1,这可以正常工作。

但是,如果我将书签移动到下方(新索引 > 当前索引),即 - …

bookmarks google-chrome google-chrome-extension

5
推荐指数
1
解决办法
658
查看次数

使单个线程执行完成

我在接受采访时被问到这个问题 - 不确定它是否有意义.

您有多个具有相同优先级的线程已启动并运行,如何确保其中的特定线程首先运行完成?

不能在其他线程上使用wait()和sleep()技巧..

编辑:不允许修改其他线程.

java multithreading

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

琴键拉伸 VS 琴键强化

引用这篇维基文章 -

另一种方法称为密钥强化,它使用随机盐来扩展密钥,但随后(与密钥拉伸不同)安全地删除盐。这迫使攻击者和合法用户对盐值进行暴力搜索。

我对关键拉伸的作用感到满意,但我对如何实现关键强化感到困惑。如果删除了salt,如何再次验证密钥?

security

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