小编Joã*_*imo的帖子

如何将javascript函数锁定到本地范围?我想阻止它使用全局变量

有没有一种方法,以防止功能使用全局变量,如document,window,navigator,和其他声明的全局函数?

编辑1:如果我可以选择受限制的全局对象,那将是很好的,因为我想允许该函数用作示例Math对象及其函数...

javascript scope global function global-variables

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

在浏览器中测量和基准测试javascript引擎的处理能力

什么是衡量v8或spidermonkey等javascript引擎性能的准确方法?它应该至少与一个评估和另一个评估没有很大的偏差,可能允许在不同操作系统和不同硬件配置上的不同javascript引擎之间进行排名.

我的第一次尝试是在一个没有任何内容的网页上,我在网页浏览器中加载了该页面.然后我尝试在Google Chrome的javascript控制台中执行此代码,结果非常不同,您将在结果中看到:

mean = function (distr) {
    var sum = 0;
    for (obs in distr) {
        sum += distr[obs];
    };
    return sum / distr.length;
};

stdev = function (distr,mean) {
    var diffsquares = 0;
    for (obs in distr) {
        diffsquares += Math.pow(distr[obs] - mean , 2);
    };
    return Math.sqrt((diffsquares / distr.length));
};


var OPs = 1000000;

var results = [];
for (var t = 0; t < 60; t++) {
    var start = (new Date()).getTime();
    for(var i = 0.5; …
Run Code Online (Sandbox Code Playgroud)

javascript firefox benchmarking google-chrome node.js

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

我的Twitter Bootstrap的ScrollSpy试图窥探不应该被窥探的元素吗?

我正在使用BackboneJS和Bootstrap,我试图在访问者点击按钮后对某些内容启用滚动间谍.

因此,当用户点击该按钮时,会执行以下操作:

$('#frontPageNav').css('display', 'block'); // It was hidden on load
$('#frontPageNav').scrollspy(); // Activate scrollspy, this is where the error happens
$('[data-spy="scroll"]').each(function () {
  var $spy = $(this).scrollspy('refresh'); // I think this is not needed because nothing was invisible before
});
$('#frontPageNav li').on('activate', function () { // This never gets emitted
  alert('activate!');
});
Run Code Online (Sandbox Code Playgroud)

我想要窥探的内容是这样的:

<div data-spy="scroll" data-target="#frontPageNav">
  <div id="home-top" class="row slide">
  </div>
  <div id="home-how" class="row slide">
  </div>
  <div id="home-join" class="row slide">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

页面上没有其他元素有数据间谍属性,所以我觉得这应该是唯一的内容窥探,但显然不是:在页面加载我得到一个错误,Uncaught TypeError: Cannot read property 'top' of …

jquery scroll backbone.js twitter-bootstrap

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

了解 NodeJS WebSocket 服务器的对象创建和垃圾收集

我将nodejs 中的ws模块用于 Web 套接字服务器,代码的简化版本是这样的:

var WebSocketServer = require('ws').Server
var wss = new WebSocketServer({port: 9001});

wss.on('connection', function (ws) {

    // is the ws object created here ?

  ws.on('message', function (message) {
    if (message[0] === '+') {
        ws.name = message.substring(1);
        console.log(ws.name+' connected');
    }
  });

  ws.on('close', function () {
    console.log(ws.name+' disconnected');
    // Will this ws object be deleted ?
  });
});
Run Code Online (Sandbox Code Playgroud)

我想知道:

  • 在连接的每个事件上,是否创建了 ws 对象?
  • 每个连接的客户端中的一个对象是否会一直保留在 RAM 中,直到它被垃圾收集?

最重要的是:如果大量客户端断开连接并且 ws 对象一直闲置直到它们被垃圾收集,当垃圾收集发生时,我的服务器可能会被锁定很长一段时间,对吗?我是否应该解决将这些 ws 对象存储在另一个对象中的麻烦,以便我可以使用 delete 关键字并在收到关闭事件后立即删除它们?

如果我这样做,我可能会有点像这样:

var WebSocketServer = require('ws').Server …
Run Code Online (Sandbox Code Playgroud)

garbage-collection v8 websocket node.js

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

谷歌闭包编译器搬了?它给出了302错误

我正在使用nodejs 0.4.7来发出请求,这是我的代码:

var post_data = JSON.stringify({  
    'compilation_level' : 'ADVANCED_OPTIMIZATIONS',  
    'output_format': 'json',
      'warning_level' : 'QUIET',
      'js_code' : code
});

var post_options = {  
    host: 'closure-compiler.appspot.com',  
    port: '80',  
    path: 'compile',  
    method: 'POST',  
    headers: {  
        'Content-Type': 'application/x-www-form-urlencoded',  
        'Content-Length': post_data.length  
    }  
}; 

var post_req = http.request(post_options, function(res) {  
    res.setEncoding('utf8');  
    res.on('data', function (chunk) {  
        console.log('Response: ' + chunk);  
    });  
});

post_req.write(post_data);  
post_req.end();
Run Code Online (Sandbox Code Playgroud)

我得到的回应是

Response: <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我究竟做错了什么 ?在教程中它说我很乐意向http://closure-compiler.appspot.com/compile发出POST请求...

google-closure google-closure-compiler node.js

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

在PHP类中,python类中self的等价物是什么?

在PHP中,我如何从Python中实现这样的东西?

class CrowdProcess():
    def __init__(self,variable):
        self.variable = variable

    def otherfunc(self):
        print self.variable
Run Code Online (Sandbox Code Playgroud)

php python class self

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

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

在生产中,在LXC或Docker中运行Cassandra是个好主意吗?

我知道它运行得很好,所以开发很好,但由于AuFS,它不会有更糟糕的磁盘和/或网络IO性能吗?

io virtualization cassandra lxc docker

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

如何使用 RethinkDB 耗尽机器的资源?

我问这个问题是因为我想了解如何更好地运行 RethinkDB,这意味着它应该在什么样的硬件上运行,应该在什么样的文件系统上运行,以及其他系统配置来最大化它的吞吐量。

我正在尝试尽可能快地用{"n": <counter>, "rand": <Math.random()>}. 我在某处读到这对于 200 个文档的批处理速度更快,所以这就是我要插入的内容。我也在使用柔软的耐用性。我开始了一个 nodejs 进程,我可以平均每秒插入 10k 个文档,非常好。

但是在发生这种情况时,rethinkdb 使用了大约 70% 的一个核心(我有 8 个虚拟核心,它是 i7-4770),而 nodejs 进程使用了​​ 5%。所以看起来CPU不是瓶颈。

一旦我开始另一个 nodejs 进程做同样的事情,两个进程上的每秒插入次数就会下降到大约 4k-5k。同样,CPU 负载保持不变。

我解雇了iotop,我确实在那里看到了很多行动,但不是我所期望的。我在 RAID0 中配置了两个 SSD,快速dd测试表明我可以以大约 800MBps 的速度写入和读取。这远高于 iotop 报告的实际读取和实际写入速度(平均读取 ~14MBps 平均写入 ~50MBps)。

那么我怎样才能耗尽我机器的资源呢?rethinkdb 需要什么才能运行得更快?为什么它不花费更多的资源并具有更高的吞吐量?

关于它运行的更多信息:它是Hetzner 的 EX40SSD,软件 RAID0 中的两个 SSD,ext4 文件系统(明天我将尝试安装它,noatime看看它是否更好)。默认情况下,rethinkdb 配置就是一切,插入是对只有一个分片和一个副本的表进行的。请随时询问我可能忘记提及的任何其他相关问题。

提前致谢。

performance resources database-performance node.js rethinkdb

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

为什么("a","b"中的"a")产生错误,([1,2]中的1)产生真实?

可能重复:
运算符中的javascript

为什么("a" in ["a","b"])收益率false(1 in [1,2])收益率true?有没有理由"a"不匹配该数组的第一个元素而1呢?为什么它不能用于字符串?

javascript match

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