在Openshift上定制node.js版本

我无法在open shift上运行node0.10盒式磁带上的自定义节点版本,您可以在这里find它。 我开始安装新的节点版本,但是开放式的转换继续使用旧的节点10.25 。 Deoploy日志: remote: Activating deployment remote: – Checking to see if Node.js version 0.10.33 is installed … remote: – Node.js version 0.10.33 is already installed remote: remote: – pre_start_nodejs: Adding Node.js version 0.10.33 binaries to path remote: -this is the path: /var/lib/openshift/54b6ea6e4382ece151000039/app-root/data/node-v0.10.33-linux-x64/bin:/var/lib/openshift/54b6ea6e4382ece151000039/app-root/runtime/repo/node_modules/.bin:/var/lib/openshift/54b6ea6e4382ece151000039//.node_modules/.bin:/opt/rh/nodejs010/root/usr/bin:/bin:/usr/bin:/usr/sbin remote: – PATH set to include custom node version (0.10.33) […]

NodeJS停留在上传图像

我有一个节点代码来上传图片。 图像大小为10〜200K。 正如你所看到的你一点都不大。问题是,看起来Node在长时间(可能是10分钟)上传时很忙,并且不会响应新的请求 。 该代码是Android应用程序使用的JSON API的一部分。 var fs = require('fs'); exports.upload = function(req, res){ …. var rawBody = new Buffer(''); req.on('data', function(chunk){ rawBody = Buffer.concat([rawBody, chunk]); }); req.on('end', function(){ winston.info('on end of uploading moment'); fs.writeFile(filepath, rawBody, 'binary', function(err){ if(err) winston.error(err); else{ db.updatesomething(); } }); });

parsingDynamoDB请求

我的目标是recursion地从dynamo.getItem方法parsingDynamoDB请求。 不幸的是,我在DynamoDB SDK for Node.js中找不到类似的方法。 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html 我正在寻找从结果中删除types的有效方法。 在DynamoDB中,键是属性的单字母名称,如“N”,“S”,“M”。 这些types的描述: N means DynamoDB Number type S means dynamoDB String type M means DynamoDB Map type (object with properties) 目前的JSON结构是: { "id":{ "N":"4" }, "number":{ "N":"1" }, "data":{ "M":{ "aaa":{ "S":"AAA" }, "lv2":{ "M":{ "lv3":{ "M":{ "ccc":{ "N":"111" } } }, "bbb":{ "S":"BBB" } } } } […]

Mongoose – 如何使用多个更新语句进行单个更新

我在mongodb文档中看到可以在单个更新命令中发送多个更新语句。 你将如何用Node.js和Mongoose来做到这一点? db.runCommand({ update: <collection>, updates: [ { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, { q: <query>, u: <update>, upsert: <boolean>, multi: <boolean> }, … ], ordered: <boolean>, writeConcern: { <write concern> } }) 看来我们可以像这样访问驱动程序的数据库对象。 YourModel.db.db 有兴趣知道是否有更多的mongoose友好的方式去呢?

使用stream浏览器应用程序

我想为浏览器应用程序使用Flow(Facebook的静态types检查器)。 如何让Flow跟随给定的.js文件正在使用的其他.js文件? 在Node.js中,使用require函数使Flow跟随其他模块并检查types错误,并且我也希望为浏览器应用程序提供类似的function。 假设我有一个使用模块Student.js的Classroom.js文件。 当我运行Flow时,它会抛出错误identifier Student Unknown global name 。

如何在不覆盖整个蓝图的情况下扩展Sails.js中的蓝图function?

我有一个问题,我一直没能find答案,即使我觉得这种function在Web应用程序中非常普遍。 我对sails.js和一般的web开发相当陌生,所以如果我使用错误的术语或其他东西,请随时纠正我。 我试图改变sails.js蓝图的默认function,特别是对于初学者来说“查找”。 我有一个模型,我们称之为Book,它有一个属性'user',这当然涉及到一个用户。 我想过滤来自localhost:[port] / book的结果,以便它只显示拥有者是当前login用户的书籍,而不是显示数据库中的所有书籍。 到目前为止,我已经试过检查策略是否会成为答案,但是看起来他们似乎产生了非常好的二进制“是/否”结果,不能用于过滤。 然后我试着从BookController中重写默认的查找操作,但是我害怕我重写了一些有用的function,因为我没有完全理解蓝图的源代码。 然后,我检查了在Sails.JS中持久化之前添加缺less的请求参数的答案,并尝试添加所有者作为URL查询参数,但发现我无法从routes.js访问当前login的用户,这个想法是可能从一开始就注定了。 无论如何,我想知道是否有一个聪明的方式来处理这个问题。

通过非阻塞代码阻止代码有什么优势?

我正在学习JavaScript和Node。 我明白asynchronous的东西如何工作。 我明白为什么它可以显着加快速度。 我发现其他语言(如Ruby和Java?)被devise为阻塞。 为什么? 我有一个模糊的想法,你可以使用线程来处理事情需要很长时间的情况。 这是asynchronous做事的优点和缺点?

maven:检测依赖关系

关于maven和java的新手问题! 我有一个简单的项目取决于itextpdf(com.itextpdf)版本5.5.4。 我想Maven识别该库的所有依赖项,并“自动”下载依赖库或至less指出依赖库和它们的版本。 这可能吗? 例如:在node.js中,我只需要说“npm install [@version]”,它负责安装该模块以及所有相关的模块。 我不必做任何事情。 选项“–save”会自动更新我的packages.json。

~~运营商的Javascript

我在一些Node.js Harmony代码中遇到了一个“this”关键字之前的运算符,特别是与Koa web框架一起工作。 示例代码如下: app.use(function *(){ var n = ~~this.cookies.get('view') + 1; this.cookies.set('view', n); this.body = n + ' views'; }); 一个常规的谷歌search没有出现,所以我很困惑。 我唯一可以肯定的是,它是该代码片段的function所必需的,因为代码在被移除时停止工作。 任何洞察力将赞赏与确定这个外星人运营商的目的。

testingTravis上的树莓派代码

我正在使用pi-gpio节点模块来编程我的Raspberry Pi。 我想在Travis上testing我的代码。 我发现这篇文章解释了如何在Travis上build立一个虚拟ARM机器: http : //www.tomaz.me/2013/12/02/running-travis-ci-tests-on-arm.html (I仍然没有得到它的工作:它加载pi-gpio失败,但这可能是我的错。) 自2013年以来有所改变? 有没有更简单的方法来testing我的NodeJS代码在Travis-ci上?