小编pfr*_*ied的帖子

Mongoose密码哈希

我正在寻找一种使用mongoose将帐户保存到MongoDB的好方法.

我的问题是:密码是异步散列的.一个二传手不会在这里工作,因为它只能同步工作.

我想到了两种方式:

  • 创建模型的实例并将其保存在散列函数的回调中.

  • 在'save'上创建一个预挂钩

这个问题有什么好的解决方案吗?

mongoose mongodb node.js

37
推荐指数
3
解决办法
5万
查看次数

从grunt运行java文件,没有为Browserstack打开端口

我正在使用BrowserStackTunnel.jargrunt插件运行grunt-exec

(一直在使用node的child_process.exec,但结果相同)

用命令 java -jar BrowserStackTunnel.jar -force APIKEY localhost,8000,false

Java文件实际上做的是通过ssh连接到Browserstack的Amazon实例并在45691上打开一个端口,browserstack的网站在localhost上轮询该端口,其中Java应用程序提供包含传递的params的小片段.

如果我从CLI运行命令它工作正常,我看到端口在netstat上打开.在browserstack网站上,我获得了成功屏幕.

但是,如果我从grunt-exec运行命令,它只显示SYN请求.

命令行的输出是相同的,都显示成功

我不太确定导致这种情况的原因.我在windows7上运行,节点v0.10.12,grunt-cli v0.1.9,grunt v0.4.1和grunt exec v0.4.2

知道是什么导致这个或如何调试它?我想到了许可问题,但我有点无能为力

gruntjs browserstack

14
推荐指数
1
解决办法
629
查看次数

Laravel数据库模式中的MediumBlob

如何Mediumblob在Laravel架构构建器中创建?

在文档中它说:

$table->binary('data'); // BLOB equivalent to the table
Run Code Online (Sandbox Code Playgroud)

但我需要一个MediumBlob,否则图像会被截断为64K; 我们正在运行MySQL.

我知道Laravel的架构生成器与数据库无关,但有没有办法避免"本机方式",如果不能,我怎么能创建一个Mediumblob列?

mysql laravel-4

11
推荐指数
1
解决办法
1万
查看次数

Google App Engine模块间通信授权

谷歌文档中

您可以将任何手动或基本扩展模块配置为接受来自应用程序中其他模块的请求,方法是将其处理程序限制为仅允许管理员帐户,为模块配置文件中的相应处理程序指定login:admin.有了这个限制,App Engine中的任何其他模块的任何URLFetch都将由App Engine自动进行身份验证,并且任何非来自应用程序的请求都将被拒绝.

所以我这样做了,但不幸的是它不起作用.我在模块B上请求模块A的URL,该模块受到login: admin属性的保护

我可以在浏览器中获取该URL,向我显示登录页面,然后我继续作为管理员,我可以获取我的路线.

它应该如何工作?据我所知,它应该为请求添加一个标头,其中包括某种授权令牌.

如果我在模块A的请求中获取相同的URL,则获得相同的重定向.默认情况下urllib2遵循302状态代码,结果是登录页面.

我正在使用该gcloud preview app run命令运行环境.模块A是默认模块,模块B是托管VM容器,这可能是问题吗?

python google-app-engine

11
推荐指数
1
解决办法
627
查看次数

Mongoose模型测试需要模型

我在测试我的猫鼬模型时遇到了问题

我有一个像这样的结构

  • 应用
    • 楷模
      • 地址
      • 用户
      • 组织
    • 测试

用户和组织两种模型都需要知道模型地址.我的模型结构如下:

module.exports = function (mongoose, config) {

    var organizationSchema = new mongoose.Schema({

        name : {
            type : String
        },
        addresses : {
            type : [mongoose.model('Address')]
        }

    });

    var Organization = mongoose.model('Organization', organizationSchema);

    return Organization;
};
Run Code Online (Sandbox Code Playgroud)

在我的普通应用程序中,我需要地址才能要求用户和组织,一切都很好.我现在为用户和组织编写测试.为了让地址模型注册我调用require('../models/Address.js')如果我运行一个测试,这工作正常.但如果我批量运行所有测试我得到一个错误,因为我试图两次注册地址.

OverwriteModelError: Cannot overwrite Address model once compiled.

我该如何解决这个问题?

mocha.js mongoose node.js

6
推荐指数
1
解决办法
6161
查看次数

Node.JS字符串数组排序不起作用

嗨,我是node.js的绝对初学者今天我尝试了以下代码

var fs, arr;
var dir, str;
var cont, item;

fs=require('fs');
cont=fs.readFileSync('unsort.txt').toString();
arr=cont.split('\n');
arr.sort();

for(str=arr.shift();str&&(item=arr.shift());)
    str+='\n'+item;
fs.writeFileSync('sort_by_script.txt', str);
Run Code Online (Sandbox Code Playgroud)

上面的node.js代码从node.exe的目录中读取一个文件作为字符串.通过换行符('\n')拆分字符串以获取数组.对数组进行排序并将排序后的数组打印到文件中.因此,整个脚本读取文件对条目进行排序,并将排序的条目保存在另一个文件中.问题是排序顺序不正确.我尝试使用MS Excel手动排序unsort.txt的内容,通过它我得到了正确的排序顺序.任何人都可以帮助我为什么arr.sort()无法正常工作.你可以在包中下载unsort.txt,sort_by_script.txt,sort_by_ms_excel.txt和node.exe [Sort.rar] [1]

注意:unsort.txt没有数字.所有这些都只是字母表.

unsort.txt中的示例:

appjs
gbi
node
frame
require
process
module
WebSocket
webkitAudioContext
webkitRTCPeerConnection
webkitPeerConnection00
webkitMediaStream
MediaController
HTMLSourceElement
TimeRanges
Run Code Online (Sandbox Code Playgroud)

arrays sorting node.js

6
推荐指数
1
解决办法
1万
查看次数

使用angular-ui和angular-ui-router路由到基于Tab的界面

我在ui-router的Github页面上阅读了很多问题,我决定得到一些输入(sry再一个标签示例)

我正在创建一个基于选项卡的界面(基于angular-ui).

我有一些固定的标签(一些列表)应该一直存在,数据或多或少是静态的,速度更重要.

另外我想打开可关闭的选项卡,其中包含列表项的详细视图,重要的是能够在它们之间切换(在其他选项卡中查找内容).他们应该继续修改.

出于这个原因,我创建了一个标签服务,提供固定标签,并能够创建更多标签或删除它们(仅保存ui状态)

我创建了一个TabController来控制整个标签页,我创建了一个加载标签的状态.

到目前为止,这么好,到目前为止.我现在想要创建到ui状态的路由,例如,当您加载页面或直接显示选项卡以创建新内容时,显示第二个选项卡是活动的而不是第一个.

如果我重新加载页面,我不想保存整个状态,只显示某个选项卡,如果不存在则创建它.如果我已经在页面上,我想保留当前标签,只打开一个新标签.

我喜欢https://github.com/angular-ui/ui-router/issues/562问题,因为在我看来这可能是一个用例.我想保留视图,因为它只是根据路线修改它.

基本上问题是如何正确地将路由委托给我的TabController,在那里我可以处理整个事情(查找是否存在tab然后显示它否则创建并显示它).

这个问题很复杂,已经很晚了,但也许你明白了

angularjs angular-ui-router

6
推荐指数
1
解决办法
1123
查看次数

AWS IoT Core 多个环境

假设我想要一个临时环境和一个生产环境。该应用程序通过添加主题规则来工作,并使用 AWS lambda 处理摄取。

在 AWS IoT Core 中拥有多个环境的最佳方式是什么?

我想过这样做:

  1. 设置两个帐户(在我的项目中不可能)
  2. dev/*按主题前缀(例如或 )拆分环境prod/*
    • 意味着设备需要提前知道它属于哪里
  3. 将设备添加到组并执行基于规则的过滤
    • 有任何指导如何执行此操作吗?我知道我可以调用 lambda 函数,但这似乎是一个坏主意。如果有一个基于组的过滤器就好了,但据我所知,现在无法访问设备的组或属性

我强烈喜欢 3.,因为它允许我也使用生产设备进行测试。1.和2.都可以,但是不太灵活。

也许有一些最佳实践?

amazon-web-services aws-lambda aws-iot

6
推荐指数
1
解决办法
1093
查看次数

Marionette Collection View,获取集合不会触发事件

我有一个问题:我CollectionView没有渲染我的ItemViews.我将一个集合从布局传递到集合视图.我正在收集以下内容CollectionView:

在布局中:

    // Create a a collection for the view
    this.articles = new Articles(null, {
        organizationId : this.model.organizationId,
        projectId : this.model.id
    });

    var articlesView = new ArticleCollectionView({ collection : this.articles});
    this.articlesRegion.show(articlesView);
Run Code Online (Sandbox Code Playgroud)

在CollectionView中:

define([
    'marionette',
    'templates',
    'i18n!nls/projectDashboard',
    'views/projectDashboard/ArticleItem'
], function (Marionette, templates, msg, ArticleItemView) {

    return Marionette.CollectionView.extend({

        initialize : function () {
            this.listenTo(this.collection, "reset", this.render);
            this.collection.fetch();
        },

        itemView : ArticleItemView

    });

});
Run Code Online (Sandbox Code Playgroud)

在ItemView中:

define([
    'marionette',
    'templates',
    'models/Article'
],
function (Marionette, templates, Article) {

    return Marionette.ItemView.extend({ …
Run Code Online (Sandbox Code Playgroud)

javascript collections view backbone.js marionette

5
推荐指数
1
解决办法
7894
查看次数

Restangular插入模型后收集

我在一个带有post的restangular集合中插入一个模型

var collectionService = restAngular.all('collection');
var collection = collectionService.getList();

var item = {
   title : "A title"
};

collection.post(item);
Run Code Online (Sandbox Code Playgroud)

现在我可以做而不是最后一个声明:

collection.post(item).then(function(newItem) {
    collection.push(newItem);
});
Run Code Online (Sandbox Code Playgroud)

为什么插入的模型默认不插入集合中?是否有一个原因?我错过了一个电话或什么的?我想在插入模型后再次避免再次获取集合

angularjs restangular

5
推荐指数
1
解决办法
1732
查看次数