Tag: devise模式

我可以在Node中同时安排多less个Job

在我正在使用的这个Node应用程序中,用户可以预约约会。 当预约被预约时,用户将在实际约会前X小时通过邮件得到提醒。 我正在考虑使用Node-schedule来完成这个任务。 对于每个约会:设置未来date,发送提醒邮件一次,删除这个特定的计划工作 但是…应用程序增长时可能会有很多预约,这意味着会有很多节点时间表进程同时睡眠和等待着火… 在正常的一天,假设我们有180个约会为每个客户的未来预订,并假装现在有50个客户的应用程序。 这给了我们大约9000个计划任务睡觉和等待着火。 问:这完全好吗? …还是所有这些同时计划的任务是多less?

Node.JS中共享数据库句柄的devise模式

如何通过各种NodeJS模块共享数据库连接? 我发现的例子都有一个单一的结构,整个代码在一个单一的app.js文件。 /* main.js */ var foo = require("./foo"); /* express stuff …*/ mysql = /* establish mysql connection */ app.get("/foo", foo.hello ); /* foo.js */ exports.hello = function(req, res) { res.send("Hello from the foo module!"); } 我如何从我的模块“foo”访问“mysql”? 什么是这个build议的devise模式?

包含函数反模式的对象中的参数太多?

在我的程序中,用户提供了一个数组,用于定义哪些函数在循环中运行。 我有一堆必须传递给每个函数的variables。 由于参数列表出现在很多地方,名单似乎一直在增长,并且变得难以维护。 这里是一些伪代码: var fn_defs = { test_fn_1: function(test_var_1, test_var_2, test_var_3, test_var_4, test_var_5, cb){ //…do stuff }, test_fn_2: function(test_var_1, test_var_2, test_var_3, test_var_4, test_var_5, cb){ //…do stuff }, etc… }; async.eachSeries(user_defined_list_of_function_names, function(fn, async_cb){ var test_var_1, test_var_2, test_var_3, test_var_4, test_var_5; fn_defs[user_defined_list_of_function_names](test_var_1, test_var_2, test_var_3, test_var_4, test_var_5, function(result){ async_cb(); }, function(err){ //end }); }); 寻找更好的方法来做到这一点。 我想我可以做全局variables,但我想这也是一个反模式。

在angular度2中设置material-datepicker的date格式

我是'angular2'和'angular js material'中的新成员。 我在我的项目中使用material-datepicker。 这是我的dateselect器代码 <material-datepicker placeholder="Select Date" [(date)]="currentDate" name="currentDate" required></material-datepicker> 它将显示在浏览器中,如下所示。 我关心的是date格式问题。 如何设置2017/04/27至2017年4月27日的date格式。

模型中的骨干集合+使用Node.js的宁静服务器devise

我试图开发一个简单的文件浏览器使用Backbone的客户端和Node.js的服务器。 目前我很困扰如何devise模型,当涉及到子文件夹 客户端代码看起来像 app.MyFile = Backbone.Model.extend({ defaults: { path: '', // id of the model will be the path + filename content: '', // content of the file isDir: false // if file is a directory } }); var MyFileList = Backbone.Collection.extend({ model: app.MyFile, url: '/api/files' }); // create global collection of files app.MyFiles = […]

rails和node.js与redis存储之间的共享authentication

我有一个rails应用程序和一个node.js应用程序,我使用Devise来validation用户。 我将会话存储在Redis中。 现在,当用户转到节点应用程序时,应用程序将通过socket.io检查用户是否已login。 我设法从redis获取会话数据,但我不知道如何解释它们来检查用户是否login。 这里是我的节点应用程序代码,它检查数据库中是否存在_session_id并检索会话数据: io.set('authorization', function (data, accept) { if (data.headers.cookie) { data.cookie = cookie.parse(data.headers.cookie); data.sessionID = data.cookie['_session_id']; redis.get(data.sessionID, function (err, session) { if (err || !session) { accept('Error', false); } else { data.session = session; console.log(session); accept(null, true); } }); } else { return accept('No cookie transmitted.', false); } }); 这是console.log(会话)给我的: {I"_csrf_token:EFI"1HPglfkCCagvb1LLraU1CEEyx7AtDzztqAEPY5G5lNgY=;FI"warden.user.user.key;TI" User;F[iI""$2a$10$IHq2WAhwbaqR4WWajRE/Yu;T […]

如何勾画一个事件驱动的系统?

我试图在Node.js中devise一个系统(试图解决我以前的问题之一 ,使用Node的并发),但是我很难找出如何绘制一个应该如何操作的计划。 我正在用callback而不是返回的值来思考。 stream量不是线性的,我的能力很强。 如何绘制事件驱动系统的操作stream程? 我需要一些我可以看的东西,然后说:“好吧,是的,这就是它的工作原理,我会从这里开始,这会把这些结果带回来。 图片将是非常有用的这一个。 谢谢。 编辑 :我正在寻找比UML更细粒度的东西,具体来说,有些东西可以帮助我从阻塞和面向对象的编程结构转换到非阻塞和事件驱动的结构,不熟悉。

mongoose与节点应用程序中的数据层的最佳实践

用nodejs / express和mongoose查看nodejs服务器堆栈 什么被认为是最佳实践解决scheme? (1)创build一个mongoosedatamodel模块然后使用模型对象 (2)创build一个内部使用mongoose模型的包装器数据层模块 (1) 我真的很喜欢mongoose给我的OOP风格类,添加我自己的方法,我自己的setters和getters,我可以添加validation和事件处理程序,并使用DataModel而不用在另一个模块中重新定义它。 (2) 我应该可以用简单的实现(testing等)来模拟数据层,或者根据需要切换数据库。 你怎么看?

使用Redis + Node.js的数据库体系结构

继其他一些SO问题之后,我正在开发一个网站监控应用程序作为一个宠物项目,目的是更多地了解Node.js + Redis。 我计划的是让用户添加url,并将其添加到Redis SET 。 每一分钟,我都会得到SET结果,做一个HTTP Get请求并打印响应。 这似乎工作正常,但是,我有几个问题: 鉴于Redis SET不允许重复键(这将使我无法再请求到同一个URL),但是如何控制用户从他的帐户中删除URL但其他用户具有相同的URL? 我可以在URL中使用INCR值吗?我知道有多less用户在他们的帐户中有URL? 鉴于我每分钟都会做一个HTTP请求,而且我想使用Redis来保存结果(响应时间,上/下等), 那么在Redis中保存所有数据的最佳方式是什么分钟)? 我应该将每个响应保存在一个独特的Redis密钥中吗? 为了向用户实时显示结果,查询结果并实时parsing结果的最佳方法是什么? 谢谢您的帮助。

跟踪更改的Javascript对象封装

是否有可能创build一个对象容器,可以跟踪更改 所述对象是数据的复杂嵌套对象。 (符合JSON)。 包装允许你获取对象,并保存更改,而不具体说明更改 这种封装是否存在devise模式? 深层克隆不是一种select,因为我试图写这样的包装,以避免这样做。 只有在没有其他解决scheme的情况下,才能考虑序列化的解决scheme。 一个使用的例子是 var foo = state.get(); // change state state.update(); // or state.save(); client.tell(state.recentChange()); 一个jsfiddle片段可能会有所帮助: http : //jsfiddle.net/Raynos/kzKEp/ 看起来像实施内部散列来跟踪更改是最好的select。 [编辑] 为了说明这是在服务器上的Node.js上完成的。 唯一改变的是该解决scheme可以针对V8实现。