Tag: 序列化

用于node.js的二进制序列化框架或库

我有兴趣找出node.js有哪些二进制序列化框架/库。 我试图使用Apache Thrift,但文档非常差,并没有提供这方面的任何例子。 有谁知道任何替代品?

使用mysql和node.js的可序列化事务

我在使用node.js和mysql进行事务时遇到问题。 问题是我的事务不会孤立运行,即使我将隔离级别设置为“可序列化”。 我设置了以下最小的例子来说明我的问题。 我正在使用具有两个columns(id,val)的单个表: CREATE TABLE `A` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `val` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `A` (`id`, `val`) VALUES (1,0); 请注意,我正在解除InnoDB表types,因为它支持事务。 我的node.js程序只是读取表A中单行的值,并使用update语句来增加它。 select语句使用FOR UPDATE修饰符来获得该行的locking。 这两个sql语句被封装到一个事务中,并且我在for循环中执行了这些事务中的10个: var orm = require("orm"); orm.connect("mysql://root@localhost/test", function (err, db) { db.driver.execQuery("SET GLOBAL tx_isolation='SERIALIZABLE';", function (err, data) { for (var […]

是否有可能反序列化JavaScript对象的Java对象

为了与传统项目进行通信,我需要在Node应用程序中对Java对象进行反序列化。 是否有可能反序列化JavaScript中的Java对象? 原始的序列化是通过Java接口Externalizable 。

我如何序列化一个简单的数组有效载荷在烬?

我对Ember来说很新。 我有一个服务,返回一个简单的数组 [ "abc", "bcd", "cde", "def", "efg" ] 我的模型有点像这样 import Model from 'ember-data/model'; import attr from 'ember-data/attr'; export default Model.extend({ value: attr() }); 在串行器(我正在尝试与RESTSerializer),我想这个数据被发回到route.js服务调用。 服务调用是一个API,我不能以任何方式改变。 我尝试了很多可能很愚蠢的方法,并且search了很多。 可悲的是我找不到解决scheme,但我相信它可能不是太难。 我在上面粘贴了序列化程序中的有效载荷,并能够logging响应。 从那里返回什么是序列化是我目前的问题。 请问我是否需要进一步的细节来解决这个问题。 我不会张贴太多,以便我可以保持简单和可以理解。 任何帮助表示赞赏。

我如何创build一个txt文件来保存在JavaScript中的数组的内容?

我有几个数组,包含我想要导出的数据,每个数组到一个txt文件,以便使用MATLAB进行分析。 假设我的数组是: var xPosition = []; // some algorithm that adds content to xPosition // TODO: export array into a txt file let's call it x_n.txt 每行存储一个数组的每个元素将是一件好事。

如何正确使用passport.js实现serializeUser?

好的,所以我只是进入了MEAN堆栈,我试图用Passport.js构build一个应用程序。 我只是开始用户序列化来维护会话。 在他们的例子中,Passport使用这个序列化和反序列化: passport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); 所以,我的问题是:这个例子被认为是安全的? 如果我理解了这个权利,那么这不是说客户端可以伪造用户标识以login为具有该标识的用户? 我想我要问的是,他们的例子被认为是“安全的”,是一种正确的做事方式,或者是希望你改变这些function来产生独特的序列化。 如果这被认为是安全的,那么我想我错过了一些关于如何工作的东西,我很乐意填补。 另一方面,如果这是不安全的,我希望自己写一些函数来代替这些函数,那么下面这样做是否有效和安全: 在用户序列化后,生成一个随机散列并将其放入用户的数据库条目中。 随机哈希是代表该用户的序列号。 在反序列化之后,查找数据库中的随机哈希并返回相应的用户。 如果没有发现散列抛出某种错误。 用户注销时,从数据库中的条目中删除其串行散列。 如果直到这里我的逻辑是有效的,那么生成这个随机哈希的正确方法是什么?

node.js和ActionScript通用的序列化格式?

我的一些朋友正在devise一款游戏,我正在通过实现游戏的后端服务器来帮助他们。 这个游戏是用Flash编写的,我打算在node.js中开发服务器,因为(a)它是学习node.js的一个很酷的项目,(b)它很快,这对于游戏很重要。 服务器的架构是基于服务器和客户端之间发送的消息(有点像Minecraft的服务器协议)。 我到目前为止的消息格式是一个字节(数据包types),两个字节(消息长度)和许多字节(消息数据,这是键值对的映射)。 问题是,我真的不想开发自己的序列化格式(因为虽然我可能可以实现,但与使用现有解决scheme相比,这将是一个痛苦)。 不幸的是,我在为消息数据序列化格式find一个好的候选者时遇到了问题。 ActionScript自己的远程格式可能工作,但我不喜欢它太多。 JSON在node.js(很明显)和ActionScript中都有支持,但它也是文本的,我更喜欢二进制来提高速度。 MessagePack看起来很不错,但我找不到ActionScript实现。 (谷歌代码上有一个名为as3-msgpack,但我得到奇怪的错误,无法访问它。) BSON有一个ActionScript实现,除了MongoDB库之外,没有node.js的支持(我打算使用Redis)。 那么,任何人都可以提供我可能错过的其他序列化格式吗? 或者我应该坚持其中的一个(或滚动我自己的)?

在Node.js中反序列化之后,将对象与其类重新关联

我正在为一些特定于应用程序的对象编写一个简单的序列化/反序列化框架。 考虑以下: "use strict"; function Dog(name) { this._name = name; }; Dog.prototype.constructor = Dog; Dog.prototype.getName = function() { return this._name; } var d1 = new Dog('fido'); var d2 = JSON.parse(JSON.stringify(d1)); // serialize / deserialize > d1 Dog { _name: 'fido' } > d1.getName() 'fido' > d2 { _name: 'fido' } > d2.getName() TypeError: d2.getName is […]

在node.js和socket.io中发送数组时发生错误

我使用socket.io版本0.8.4 我把我的问题归结为以下几点。 我有这样的数据: data.prop1 = []; data.prop1.push("man"); data.prop2 = []; data.prop2["hey"] = "man"; 我以这种方式将数据从服务器发送到客户端: socket.emit("data", data); 在客户端,我以这种方式接收数据: socket.on("data", function(data){ console.log(data); }); 奇怪的是: data.prop1 = []; data.prop1.push("man"); // This data exists in the client side data object data.prop2 = []; data.prop2["hey"] = "man"; // This data does not exist. data.prop2只是客户端的一个空数组。 在prop2中的表单中的json序列化数组中有一个已知的错误? 先谢谢你 编辑: 使用此解决方法解决问题: data.prop1 = […]

从nodejs有效地serialise(和读取)int数组

我正在考虑在nodejs中构build一个应用程序,该应用程序需要传输包含整数数组的大型(> GB)文件。 至关重要的是,arrays需要最优化地进行序列化,所以不是基于ascii的,理想地,对于较小的整数(这将是绝大多数数据)使用8位,但仍然能够表示更大的数字。 这个问题可能比nodejs更多,但是如何在nodejs中进行呢? 是否有从磁盘自定义字节编码stream文件的现成解决scheme? 或者更好,整数数组? 理想情况下,应该可以将stream的每个部分解码为磁盘绑定而不是cpu绑定,即使是ssd也是如此。