小编Joã*_*imo的帖子

如何跟上Ubuntu中最新版本的Node.js?PPA?编译?

哪里可以(我可以?)找到最新版Node.js的.deb包吗?

如果没有,并且因为它是一个进展非常快的项目,那么跟上Node.js发布的最简单方法是什么?

  • 添加一些PPA,当有新包装时会更新吗?
  • ./configure && make && ln -s ./node/usr/bin/node?
  • 你知道的其他方式,我无法想象,但希望你会分享?

ubuntu compilation node.js

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

将对象的所有键变为小写的最佳方法(最有效)是什么?

我想出来了

function keysToLowerCase (obj) {
  var keys = Object.keys(obj);
  var n = keys.length;
  while (n--) {
    var key = keys[n]; // "cache" it, for less lookups to the array
    if (key !== key.toLowerCase()) { // might already be in its lower case version
        obj[key.toLowerCase()] = obj[key] // swap the value to a new lower case key
        delete obj[key] // delete the old key
    }
  }
  return (obj);
}
Run Code Online (Sandbox Code Playgroud)

但我不确定v8将如何表现,例如,它是否真的会删除其他键,还是只会删除引用,垃圾收集器会在以后咬我?

另外,我创建了这些测试,我希望你能在那里添加你的答案,这样我们就能看出它们是如何匹配的.

编辑1: 显然,根据测试,如果我们不检查密钥是否已经是小写,但是速度更快,它会更快,它是否会通过忽略这个而只是创建新的小写密钥来创建更多的混乱?垃圾收集者会对此感到满意吗?

javascript performance garbage-collection object node.js

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

如何在Javascript中匹配空字典?

从节点REPL的事情,

> d = {}
{}
> d === {}
false
> d == {}
false
Run Code Online (Sandbox Code Playgroud)

鉴于我有一个空字典,我如何确保它是一个空字典?

javascript dictionary match

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

缩小NodeJS中使用的代码是否有意义?

我很想知道,因为Clojure Compiler和UglifyJS不仅可以优化代码大小而且还可以优化性能(虽然我认为大小是主要优先级),如果我的node.js应用程序被缩小,我的运行速度会更快吗?我知道它可能取决于应用程序,但我一般都会问这个问题.

javascript minify google-closure-compiler node.js uglifyjs

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

Node.JS中的基本HTTP身份验证?

我正在尝试使用类似于Joyent使用的NodeJS编写REST-API服务器,除了我无法验证普通用户的身份验证之外,一切正常.如果我跳到终端并且这样做curl -u username:password localhost:8000 -X GET,我就无法在NodeJS http服务器上获得值username:password.如果我的NodeJS http服务器是这样的

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

,我不应该在来自回调的req对象中获取值username:password 吗?如何在不使用Connect的基本http auth的情况下获取这些值?

authentication http basic-authentication node.js

45
推荐指数
5
解决办法
6万
查看次数

64位有符号整数有多大?

redis中,

HINCRBY支持的值范围限制为64位有符号整数.

我想知道64位有符号整数有多大.我很抱歉,如果这是常识,我的背景是经济学,没有人告诉我那里的问题的答案.

提前致谢 :)

64-bit integer

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

基于NodeJS的HTTP客户端:如何验证请求?

这是我要做一个简单的GET请求的代码:

var options = {
    host: 'localhost',
    port: 8000,
    path: '/restricted'
};

request = http.get(options, function(res){
    var body = "";
    res.on('data', function(data) {
        body += data;
    });
    res.on('end', function() {
        console.log(body);
    })
    res.on('error', function(e) {
        console.log("Got error: " + e.message);
    });
});
Run Code Online (Sandbox Code Playgroud)

但是该路径"/ restricted"需要简单的基本HTTP身份验证.如何添加凭据进行身份验证?我在NodeJS手册中找不到与基本http认证相关的任何内容.提前致谢.

authentication restful-authentication http basic-authentication node.js

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

WebSocket地址可以携带参数吗?

ws://myserver.com/path?param=1有效的WebSocket地址吗?

地址http://myserver.com/path?param=1(注意它现在http而不是ws)可以正常使用wscat,但是我无法在浏览器上运行它.

javascript html5 websocket node.js

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

PUT和POST请求是否需要/预期有请求正文?

我正在写一个RESTful api,而我正在考虑用户创建密钥的过程.我有以下几种可能性:

  • GET请求/new/<keyname> - 虽然这很容易,但我认为我不会使用它,因为我听说GET用于检索和/或列出信息;
  • POST请求/<keyname> - 这在我看来简单易行,但不会在请求正文中传递任何数据.我可以这样做吗?这有点奇怪吗?
  • POST请求/keys传递请求正文"keyname=SomeKey" - 这是正确的方法吗?

从joyent查看了这个API,在他们所有的PUT和POST请求中,他们在请求体中传递了一些数据.这是预期的吗?在PUT和POST请求中不要求请求正文是否真的错了?

rest post http put httpwebrequest

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

为什么封装的Javascript函数有这么大的性能差异?

所以我有这个简单的代码:

function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
}

var start = Date.now();
Run();
console.log(Date.now() - start);
Run Code Online (Sandbox Code Playgroud)

它会输出大约335毫秒的时间.那很不错.但是,如果我像这样封装Run函数:

var d = Date.now();
(function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
})();
console.log(Date.now() - d);
Run Code Online (Sandbox Code Playgroud)

它将输出18319ms,这比以前的情况要糟糕得多.为什么是这样 ?

此外,如果重要,我在控制台的Chrome 26.0.1410.63上运行它.在node.js上,两个片段在控制台上都表现良好.

javascript compiler-construction optimization performance v8

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