小编NiC*_*man的帖子

为什么JSON比BSON快?

阅读本文之后,有一个引人注目的引用:

BSON还可以快速编码和解码.例如,整数存储为32(或64)位整数,因此不需要对文本进行解析.对于小整数,这使用比JSON更多的空间,但解析起来要快得多.

从我正在阅读的内容来看,使用BSON的全部意义在于它对CPU的负担更少,编码/处理速度更快.

但是,我使用Node.js进行了一些测试,并使用原生的JSON方法将BSON从水中吹走.一些测试显示JSON快3到5倍.(当使用更多数据类型时,大约6到8个.)

基准代码:

var bson = require('bson');
var BSON = new bson.BSONPure.BSON();

var os = require('os');

console.log(" OS: " + os.type() + " " + os.release() + " (" + os.arch() + ")");
console.log("RAM: " + os.totalmem() / 1048576 + " MB (total), " + os.freemem() / 1048576 + " MB (free)");
console.log("CPU: " + os.cpus()[0].speed + " MHz " + os.cpus()[0].model);

for (var r = 1; r < 4; r++) { …
Run Code Online (Sandbox Code Playgroud)

json websocket node.js bson

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

有没有办法限制字符串的最大大小?

我有一个应用程序,我希望限制连接客户端通过线路发送的消息的最大大小.由于Node.js中消息的理论最大值约为1.9 GB,因此,如果某些恶意客户端尝试发送超大数据包,我实际上从不希望我的应用程序分配大量内存.

如何限制传入的邮件大小,比如1024字节?

websocket node.js

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

如何使用getBoundingClientRect获得学位的轮换?

在我的游戏中,你可以点击橙色框(它应该代表一个怪物).单击后,绿色线将附加到字符div.例如,为了更好的解释:

http://i.gyazo.com/537c8acb9881a3bfaa6f19259de37618.gif

这是我用来生成行的代码:

l = document.createElement('div');
l.innerHTML='<div id="oLineBar" style="  transform: rotate(' + RANDOM + 'deg);" class="fadeIn2"><div id="lineBar" class="lineBarCharacter"></div></div>';
character.appendChild(l);
Run Code Online (Sandbox Code Playgroud)

那个CSS就是:

.lineBarCharacter{
    height: 321px;
    width: 2px;
    background: rgba(39, 182, 0, 0.46)
}

#oLineBar {
    position: absolute;
    top: 20px;
    left: 37px;
    opacity: 1;
    transition: transform 1s linear;
    transform-origin: top left;
    transform-style: preserve-3D;
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
    -ms-transition-property: opacity, -ms-transform;
}
Run Code Online (Sandbox Code Playgroud)

现在,我在这里得到了橙色框getboundingClientRect:

ClientRect {height: 95, width: 88, left: 1250.5, bottom: 471, right: 1338.5…}bottom: 471height: 95left: 1250.5right: 1338.5top: 376width: 88
Run Code Online (Sandbox Code Playgroud)

如何根据橙色框所在的位置(来自getboundingClientRect数据)确定正确的旋转度? …

javascript css

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

为什么Node.js有增量内存使用?

我有一个大于100 KB的gameserver.js文件.每次刷新浏览器后我都会检查我的任务管理器,并且每次刷新时都会看到我的node.exe内存使用率不断上升.我在ws这里使用这个模块:https://github.com/websockets/ws并想通了,你知道吗,我的代码中很可能有一些内存泄漏...

因此,要仔细检查并隔离问题,我创建了一个test.js文件并放入默认ws代码块:

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

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });
});
Run Code Online (Sandbox Code Playgroud)

并启动它:

在此输入图像描述

现在,我检查node.exe内存使用情况:

在此输入图像描述

令我困惑的增量部分是:

如果我刷新我的浏览器连接到这个端口9300websocket服务器,然后回头看我的任务管理器..它显示:

在此输入图像描述

现在是:14,500 K.

并且它在每次刷新时都会不断上升,所以从理论上讲,如果我保持清醒它将会通过屋顶.这是有意的吗?ws可能在某个地方的模块中是否存在内存泄漏?我问的全部原因是因为我认为可能在几分钟内或当用户关闭浏览器时它将返回,但事实并非如此.

我想要做这个测试的核心原因是因为我认为我的个人代码中存在内存泄漏问题并且只是想检查它是不是我,反之亦然.现在我很难过.

websocket node.js

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

如何从Phaser的Sprite/Background中消除抖动

我设置了一个示例jsfiddle,用适当的资产来说明这一点.

当你的角色移动并且相机开始平移时,你会注意到背景有一个小的"抖动".可以通过设置game.camera.roundPx为true 来禁用此功能.

但是,如果禁用它并移动角色.你的角色开始抖动.我在这次冒险中发现的一些事情:

  • 这种情况只发生body.velocity.x在两者P2Arcade物理学家之间.

  • 如果你移动角色body.x或者只是x它绝对没问题.

  • 如果你移除了瓷砖贴图纹理,你可以从字面上看到在移动时发生的抖动.示例此处 - 确保您移动足够远以使相机平移.

  • 我也尝试game.renderer.renderSession.roundPixels = false;过没有优势.

  • 这在CANVAS和WEBGL渲染模式下发生

javascript phaser-framework

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

为什么要隐藏remoteAddress?

我如何使用Node.js与https://github.com/websockets/ws.

我正在尝试将用户remoteAddress存储在临时套接字变量中.我可以通过以下方式访问此变量 socket.upgradeReq.connection.remoteAddress

问题是,世界上remoteAddress的来源是什么?甚至在lib目录中的任何WS node_plugin文件中都找不到变量'remoteAddress'.(我使用Notepad ++搜索每个文件.)

我找到访问此变量的唯一原因来自于此主题:如何使用node.js中的websocket(einaros/ws)lib获取客户端IP地址?

哎呀,即使console.log(self.upgradeReq.connection);在我的控制台显示我仍然找不到它!

对象控制台列表的图像:

在此输入图像描述

在此输入图像描述

在世界的哪个地方?我错过了什么吗?

javascript websocket node.js

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

如何检查for循环何时完成,在循环内?

这是一个快速的jsfiddle,我提出了一个更好的例子我的问题.

function gi(id){return document.getElementById(id)}

    a= [1,5,1,2,3,5,3,4,3,4,3,1,3,6,7,752,23]


for(i=0; i < a.length; i++){
    /*
    if (WHAT AND WHAT){ What do I add here to know that the last value in the array was used? (For this example, it's the number: 23. Without doing IF==23.

    }
    */

    gi('test').innerHTML+=''+a[i]+' <br>';
}
Run Code Online (Sandbox Code Playgroud)

(该代码也可在https://jsfiddle.net/qffpcxze/1/获得)

所以,该数组中的最后一个值是23,但是我怎么知道最后一个值是循环内部循环的呢?(如果IF X == 23有意义的话,不检查简单但动态).

javascript

5
推荐指数
2
解决办法
6953
查看次数

Object,Object和[1:Object,2:Object]之间有什么区别?

我在删除数组中的对象时偶然发现了这一点.

这是代码:

friends = [];

friends.push(
    {
        a: 'Nexus',
        b: 'Muffin'
    },
    {
        a: 'Turkey',
        b: 'MonkMyster'
    }
    )

console.log(friends);

for(i in friends){
    if(friends[i].a == 'Nexus'){
          delete friends[i];
        friends.push({
            a: 'test',
            b: 'data'
        });
    }
}

console.log(friends);
Run Code Online (Sandbox Code Playgroud)

它也发布在jsfiddle上.

基本上,为什么我的第console.log一个friends输出: [Object, Object]

但是,当在循环中删除该对象然后向该数组添加新对象时,它会记录:

[1: Object, 2: Object]

究竟是什么1:, 2:意思(显然是关联每个对象),但我想知道为什么它在第一次登录后不存在friends?我的朋友阵列中的对象符号是错误的吗?我觉得我正在创建friends错误的初始数组并且JavaScript解析器正在纠正我?

javascript

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

ZeroMQ和IPC之间的区别

问题1:与此处说明的默认进程间通信相比,用于向子进程发送消息的区别到底是什么ZeroMQ

问题2:对于直接进行儿童沟通的过程,哪个更合适?(更快

问题3:文档说:Creates an IPC channel,它使用什么类型IPCTCP?插座?

ipc zeromq inproc node.js nanomsg

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

如何以编程方式切换 Chrome 的 FPS 仪表?

经过搜索,我找到了这个主题,但这就是如何通过用户界面启用/显示仪表。我想知道是否可以通过启用/禁用仪表JavaScript

google-chrome

5
推荐指数
0
解决办法
148
查看次数