Tag: javascript

NodeJ比Clojure更快吗?

我刚开始学习Clojure。 我注意到的第一件事就是没有循环。 没关系,我可以复发。 那么让我们来看看这个函数(来自Practical Clojure): (defn add-up "Adds up numbers from 1 to n" ([n] (add-up n 0 0)) ([ni sum] (if (< ni) sum (recur n (+ 1 i) (+ i sum))))) 为了在Javascript中实现相同的function,我们使用如下循环: function addup (n) { var sum = 0; for(var i = n; i > 0; i–) { sum += i; } […]

mongoose:find,修改,保存

我有一个mongooseUser模型: var User = mongoose.model('Users', mongoose.Schema({ username: 'string', password: 'string', rights: 'string' }) ); 我想findUser模型的一个实例,修改它的属性,并保存更改。 这是我试过的(这是错的!): User.find({username: oldUsername}, function (err, user) { user.username = newUser.username; user.password = newUser.password; user.rights = newUser.rights; user.save(function (err) { if(err) { console.error('ERROR!'); } }); }); 什么是查找,修改和保存User模型的实例的语法?

在setinterval中使用长时间间隔时,Node.js会崩溃

function createSasTokenTimer() { console.log("Hello"); } setInterval(createSasTokenTimer, 3000000); 我运行这个代码,50分钟后,我得到以下错误: Hello timers.js:265 callback.apply(this, args); ^ TypeError: Cannot read property 'apply' of undefined at wrapper [as _onTimeout] (timers.js:265:13) at Timer.listOnTimeout (timers.js:110:15) 间隔时间较短(例如2000000 ),一切正常。 这是Node.js中的错误吗? 更新: 操作系统: Windows ,Node.js版本: 0.12.4 当我只运行上面的代码时,它可以正常工作,但是当它在我的应用程序中时,它会中断,我不能指出我的代码中的哪一部分会破坏它,因为它非常冗长,没有看起来“可疑”。 无论如何,当间隔时间较短,它的工作,因为我写了。

在服务器端使用Node.js和Websockets重新使用Backbone.js模型

我一直在努力通过: http://blog.andyet.com/2011/02/15/re-using-backbonejs-models-on-the-server-with-node 我有几个有关共享模型服务器端的问题和关于重写同步的几个问题。 实时模型同步架构ftw。 楷模 所以在这个例子中,他同步他的整个应用程序状态。 我的应用程序状态的一部分是用户模型,它处理像login,寻找他们正在使用的平台types等等我使用这个错误? 我有这个模型中的客户端会话数据,真的不需要在服务器上,我应该把它放在服务器呢? 对于应该与服务器同步的严格应用程序数据的其他模型,如何在服务器上pipe理这些模型? 是否有一个“视图”types的组件可以修改模型,并在模型上扮演服务器需要的angular色? 同步 我想覆盖同步方法与服务器和需要更新的数据的任何其他客户端同步。 你怎么能写一个工作客户端 – >服务器和服务器 – >客户端的同步方法,以便不pipe它被称为每个人都得到更新?

多个package.json文件在一个包中

我有一个运行在PHP上的网站,使用Node进行一些开发任务。 目前,我们的团队依赖puppet来安装我们用于这些开发任务的节点模块,但是,我正考虑转而在站点的根目录中使用package.json文件。 我的问题是这样的: 我的PHP应用程序实际上是3个独立的站点,我们已经混合成一个(1个面向公众的站点,1个内部站点,1个面向站点的客户端),并且其应用程序的一些安装依赖于不同的节点包(或不同版本的同样的pacakge)。 虽然我知道将这些应用程序分开并让每个应用程序都pipe理自己的依赖关系是很好的,但是,有一种方法可以在一个站点中使用多个package.json文件? 换一种说法: /package.json /site1/package.json /site2/package.json /site3/package.json 或者,有没有办法让一个package.json处理多个应用程序的依赖关系? 我不知道这是否有意义,让我知道,如果我只是在左边的领域出路。 谢谢!

(Angularjs)Web应用程序的集成testing

我正在开发一个Web应用程序。 它由2部分组成。 一个节点rest服务器和一个angularjs客户端。 该应用程序的结构如下:Rest Server < – > Api Module < – > Angular App 服务器目前正在testing中。 我有unit testing和集成testing。 集成testing正在访问一个真实的数据库,并通过http调用其余的api。 我认为这是服务器testing所能达到的最高水平。 集成testing也运行得很快。 我非常有信心,我testing服务器的方式足以满足我的使用情况,我对结果感到满意。 不过,我正在努力如何testingangularjs应用程序。 我有相关指令和模块的unit testing。 写这些不是一个问题。 我想编写涵盖用户场景的集成testing。 类似注册场景:用户访问网站,进入registry单,并提交表单与数据。 angularjs团队正在从ng场景转移到量angular器 。 量angular器使用Selenium来运行testing。 因此有两个范围:应用范围和testing范围。 现在我可以想到我可以使用的三种不同的抽象。 而我不确定哪一个最适合我。 模拟Api模块 嘲笑其余的服务器 使用完整的服务器 模拟Api模块 在这种情况下,我不需要设置服务器。 所有的交互都在浏览器中运行 优点: 没有服务器是必要的 坏处: API是在浏览器范围内,我不得不篡改这一点。 我真的很喜欢这个解决scheme,但是我觉得很难嘲笑Api。 Api需要在浏览器范围内修改。 因此我需要将testing的修改发送到浏览器。 这可以做到 ,但是我没有看到如何在testing范围内运行断言如mockedApi.method.wasCalledOnce() 嘲笑其余的服务器 优点: 客户将保持不变 只有一个范围来处理 坏处: 一个必须build立rest路线 […]

Node.jsasynchronous库比较 – Q vsasynchronous

我已经使用kriskowal的Q库作为一个项目(网页刮板/人类活动模拟器),并已经熟悉了承诺,返回并解决/拒绝了它们,图书馆的基本asynchronous控制stream方法和错误捕获/捕获机制已经被证实必要。 我遇到了一些问题。 我的promise.then电话和我的callback有形成金字塔的不可思议的倾向。 有时候是为了确定范围的原因,有时是为了保证一定的事件顺序。 (我想我可以通过重构来解决其中的一些问题,但是我希望完全避免“callback地狱”)。 另外,debugging非常令人沮丧。 我花了很多时间console.log我的方式来错误和错误的来源; 在我终于find它们之后,我将开始在那里抛出错误,并以最终的promise.finally将它们捕捉到别的地方,但把错误定位在首位的过程是艰巨的。 另外,在我的项目中, 订单很重要 。 我需要按顺序做很多事情。 通常我会发现自己生成的函数数组返回promise,然后使用Array.prototype.reduce将它们链接到彼此,我不认为我应该这样做。 这里是我使用这种缩减技术的一个方法的例子: removeItem: function (itemId) { var removeRegexp = new RegExp('\\/stock\\.php\\?remove=' + itemId); return this.getPage('/stock.php') .then(function (webpage) { var pageCount = 5, promiseFunctions = [], promiseSequence; // Create an array of promise-yielding functions that can run sequentially. _.times(pageCount, function (i) { var promiseFunction […]

Node.js,PHP,Javascript混淆

我完全失去了什么Node.js是所有关于这里是我的问题: node.js是一种可以代替PHP的新语言吗?它是一种能够/只能补充/补充PHP和其他Web语言来完成复杂任务的语言吗?

什么时候应该将一个函数存储到variables中?

我现在正在学JavaScript,而且我不太明白什么时候写一个函数到variables中。 例如,以下两个代码块在Node.js中完全相同: var onReq = function(req, res) { res.write('Hello'); }; http.createServer(onReq).listen(3000); 和 function onReq(req, res) { res.write('Hello'); } http.createServer(onReq).listen(3000); 根据最佳实践,最好的方法是什么?为什么?

蓝鸟Promise.all – 多个承诺完成聚合成功和拒绝

今天有人用蓝鸟提出一个有趣的案例,处理多重承诺的最佳方式是什么,我们不想停止某个履行或拒绝,而是对检查最终结果感兴趣。 一个例子: var p1 = new Promise(function(f,r){ setTimeout(function(){ console.log("p1"); f("yay"); }, 100); }); var p2 = new Promise(function(f,r){ setTimeout(function(){ console.log("p2"); r(new Error("boo")); }, 200); }) var p3 = new Promise(function(f,r){ setTimeout(function(){ console.log("p3"); r(new Error("yay")); }, 300); }); var p4 = new Promise(function(f,r){ setTimeout(function(){ console.log("p4"); f("yay"); }, 400); }); //Promise.all([p1,p2, p3, p4]).then(function(p){ // console.log("Results:",p); //}).error(function(e){ // […]