小编Chr*_*ris的帖子

使用cluster.fork()调试Node.js进程

我有一些代码看起来非常像http://nodejs.org/docs/v0.6.0/api/cluster.html上的集群文档中的示例,即:

var cluster = require('cluster');
var server = require('./mycustomserver');
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  var i;
  // Master process
  for (i = 0; i < numCPUs; i++) {
    cluster.fork();
  }
  cluster.on('death', function (worker) {
    console.log('Worker ' + worker.pid + ' died');
  });
} else {
  // Worker process
  server.createServer({port: 80}, function(err, result) {
    if (err) {
      throw err;
    } else {
      console.log('Thread listening on port ' + result.port);
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

我安装了node-inspector并尝试使用它和https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger中详细介绍的Eclipse V8插件来调试我的应用程序,但是看起来我无法将调试器挂钩到分叉集群实例以将断点放在有趣的服务器逻辑上 - …

debugging fork cluster-computing node.js

19
推荐指数
3
解决办法
6767
查看次数

带有iframe的跨域localStorage(Chrome)

我正在尝试使用iframe将值存储在另一个域上(实际上,我正在使用http://xauth.org/info/上的xauth库).但是,当我尝试使用Chrome存储任何内容时,它会返回"QUOTA_EXCEEDED_ERR:DOM Exception 22",我将其视为访问错误.我在下面嘲笑了几个非常简单的页面来复制效果:

文件1.html:

<html>
<head/>
<iframe src='http://127.0.0.1/2.html' />
</html>
Run Code Online (Sandbox Code Playgroud)

文件2.html:

<html>
<head/>
<script>
console.log(localStorage);
localStorage.setItem('test', '123');
</script>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我将这两个放在我的本地服务器上并访问localhost/1.html,它会嵌入127.0.0.1(Chrome认为是一个单独的域)的帧,并且我得到与上面相同的访问错误.猜测,看起来即使我从另一个域嵌入iframe,并且iframe中的脚本正确引用该域的localStorage(我可以通过console.log(localStorage)行看到),权限写入localStorage的内容来自首页的域名.

简而言之,似乎没有iframe可以在Chrome中写入localStorage.有没有人知道是否有办法绕过这个特定的安全"功能"?或者我做错了什么?

javascript iframe google-chrome local-storage

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

SQL筛选同一列中的多个项目

我在SQL中有两个表,一个有项目,另一个有项目所属的类,即JOIN看起来大致如下:

Project | Category
--------+---------
  Foo   | Apple
  Foo   | Banana
  Foo   | Carrot
  Bar   | Apple
  Bar   | Carrot
  Qux   | Apple
  Qux   | Banana
Run Code Online (Sandbox Code Playgroud)

(显然,字符串替换为更高正常形式的ID,但你明白了这一点.)

我想要做的是允许过滤,以便用户可以选择任意数量的类别,结果将被过滤到属于所有选定类别的成员的项目.例如,如果用户选择类别"Apple"和"Banana",则显示项目"Foo"和"Qux".如果用户选择类别"Apple","Banana"和"Carrot",则只显示"Foo"项目.

我尝试的第一件事是一个简单的SELECT DISTINCT项目FROM ... WHERE Category ='Apple'和Category ='Banana',但当然这不起作用,因为Apple和Banana在两个不同的行中显示在同一列中对于任何共同的项目.

GROUP BY和HAVING对我没有任何好处,所以告诉我:有没有一种明显的方法可以做到这一点,我错过了,或者它是否真的如此复杂以至于我不得不求助于递归连接?

顺便说一句,这是在PostgreSQL中,但当然,标准SQL代码在可能的情况下总是更好.

sql postgresql filter

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