Tag: devise模式

Socket.io – 分享“朋友活动”的devise模式

我正在为某些客户端(手机,单页面应用程序…)编写一些NodeJS应用程序。 应用程序是游戏和相当社交 – 用户可以有朋友和游戏需要实时共享他们之间的事件。 所以我决定使用Socket.io。 如何有效地分享用户朋友的连接套接字之间的事件? 一个用户可以连接多个客户端(所以他有更多的连接套接字)。 使用socket.io“房间”是好主意,每个用户有一个房间,当某个事件发生的时候,这个房间是我朋友的每个房间的空间。 如何有效地处理这个? 为了更好的概念,你可以想象它与Facebook墙(或朋友活动的右侧面板)相同的方式。 你将如何处理?

在编写nodejs模块时,我应该使用模块化模式吗?

现在,在networking上写javascript的时候,有一些习惯使用模块化模式 。 但是,在查看分布在npm上的nodejs模块时,我很less看到这种方法。 有没有办法,nodejs不同于networking上的JavaScript实现,使模块化模式的使用冗余?

Javascriptinheritance使用节点

我想在我的子类中使用父类的方法。 在传统的面向对象中,只需要扩展你的子类就可以利用你父母的function,这是否可以使用原型? 这是我的文件结构: Parent.js var Parent = function(){ this.add = function(num) { return num + 1; }; }; module.exports = Parent; Child.js var Parent = require("./parent.js"), util = require("util"); var Child = function() { this.sum = function(num) { // I want to be able to use Parent.add() without instantiating inside the class // like this: […]

这种MEAN堆栈devise模式适用于1,000-10,000个用户规模吗?

比方说,当一个用户login到一个Web应用程序,他看到一个信息列表。 假设信息列表由两个dynos中的一个(通过heroku)服务,但是信息列表来源于 单个mongo数据库 (即,当他login进入时,nodejs dynos只是将mongo信息传递给用户Web应用程序)。 问题:假设我想让用户既可以修改又可以添加到信息列表中。 在1,000-10,000用户的规模下,以下策略是适合的: 用户修改/添加数据; HTTP POST发送到具有更新数据的两个nodejs dynos中的一个。 Dyno(无论哪一个)都需要修改/添加数据,并直接查询mongo数据库来更新数据。 Dyno向客户端发送更新成功的确认信息。 这个可以吗? 我需要添加更多的dynos(heroku)吗? 我基本上担心,如果一群用户试图一次访问一个数据库,速度会很慢,或者我以某种方式冒着损失1,000-10,000人的整个数据库的风险。 这种恐惧是否合理?

使用node.js和express和socket.iodeviseselect

我想制作一个networking应用程序,每个用户都可以创build一个其他用户可以join的聊天室。 我想有一个主节点服务器pipe理房间,每当用户创build一个新的房间时,一个新的聊天服务器应该由主服务器启动,它应该pipe理房间。 我的问题是,如何使新的服务器在node.js中启动,我该如何pipe理它?

在Mongoose的模式中使用短字段名称是可取的吗?

也许与我昨天在这里问的未答复的问题有关是否build议在Mongoose的模式中使用短字段名称的问题? 根据这里的文章 ,更长的字段名称会在服务器的硬盘中产生更大的数据库,以及内存中使用的任何caching。 真的吗? 为什么Mongoose的devise者没有使用某种字段名称映射机制来节省数据库空间?

我的控制器是否应该采用(res,req)参数或已经提取的参数?

我想知道我应该用expressJS来组织我的路由吗? 在控制器中parsingParams router.get('/users/:id', UserController.get); class UserController { get(res, req) { var id = res.params.id; UserModel.get(id, function(user) { res.send(user); } } } Paramsparsing路由 router.get('/users/:id', function(req, res) { var id = req.params.id; UserController.get(id, function(user) { res.json(user); } }); class UserController { get(id, fn) { UserModel.get(id, fn); } } 我发现第二个版本Paramsparsing路线更容易 unit testing 在URL参数或请求主体发生变化的情况下 但是我发现的大部分例子都使用了第一个版本,为什么呢?

在从UI写入数据库之前进行审阅

这更多的是关于devise方法的问题。 我有一个应用程序具有以下细节: 用户界面在Angular中 UI使用Node / Express中的api 数据库现在只是一个JSON文件。 我想从JSON文件移动到mongoDb。 我想要的是,每当有人使用UI对数据库进行更改时,我想在数据库更新之前查看这些更改。 达到这个目标的最好方法是什么? 这对我来说更容易与JSON文件,因为我在git上创build一个拉请求,我会审查所有的更改,然后更新。 我曾经想过的事情: 让UI写入一个单独的克隆集合(表),然后检查它们并相应地更新主集合。 不知道这是否是正确的做法。

在非Auth Web应用程序中处理和devise会话部分

我正在创build一个非常简单的Web应用程序(Node.js + Express + Mongoose)。 这更像是一次性使用的应用程序,所以没有用户名和密码,需要用户注册或login。 用户A在进入索引页面时可以使用该Web应用程序。 他会得到一个UUID(一些ID看起来像一个UUID :))。 我想设置一个会话模块,以便我的用户A在短时间内返回应用程序时不会得到新的UUID。 而我不想让用户A获得新的UUID的原因是:他可以与其他用户B / C私下交谈。 聊天的东西需要他/他们的UUID来存储和检索。 非常感谢您的帮助!

如何安装一个模块(不在npmregistry)到一个离子项目?

我喜欢将模块AngularDevise( https://github.com/cloudspace/angular_devise )安装到离子项目中。 但该模块不在npmregistry中。 到目前为止,我已经尝试了几个提示,提示在如何安装一个私人的NPM模块没有我自己的registry? 。 以下命令 npm install -S "https://github.com/cloudspace/angular_devise.git" 似乎修改了package.json文件: diff –git a/mobile/package.json b/mobile/package.json @@ -3,11 +3,12 @@ "version": "1.1.1", "description": "mobile: An Ionic project", "dependencies": { + "AngularDevise": "git+https://github.com/cloudspace/angular_devise.git", "gulp": "^3.5.6", 但是,我没有看到从本地项目目录中安装的AngularDevise的任何文件。 在本地安装* .js文件的正确方法是什么? 任何build议,非常感谢。