小编smi*_*ham的帖子

Sails.js简单的私人消息(pub/sub和models)

我的目标:

使用Sails.js创建一个私有消息传递平台,尽可能使用最简单的代码


最佳实践假设:


我的问题:

  • 我是否可以只使用套接字监视某些新模型(例如查找userid与发件人或收件人ID匹配的位置)或者我是否需要设置房间?选择性观看似乎更容易,但文档似乎并不支持它.
  • 如果我上面的任何假设或问题不是实现我的目标的最佳方式,那么使用Sails实现私人消息传递的最简单方法是什么?

我试过的:

  • 订阅和观看套接字
  • 阅读Sails.js文档
  • 看着sailsChat示例(使用房间)
  • 搜索StackOverflow和Google搜索sails聊天示例

javascript sockets publish-subscribe node.js sails.js

16
推荐指数
1
解决办法
1581
查看次数

C++错误:对`main'的未定义引用

我正在编写一个简单的类List,但是在编译头文件和cpp文件时,我得到了错误:对`main'的未定义引用

我做错了什么,我怎么能解决这个问题?

这是list.h文件,它有简单的标题:

list.h

#ifndef LIST_H
#define LIST_H

#include <string>

const int DEFAULT_CAPACITY = 100;

class List
{
    public:
        List();
        List(int capacity);
        ~List();
        void push_back(std::string s);
        int size() const;
        std::string at(int index) const;

    private:
        std::string* mData;
        int mSize;
        int mCapacity;
};

#endif
Run Code Online (Sandbox Code Playgroud)

这是list.cpp文件:

list.cpp

#include "list.h"
#include <string>

List::List(){
    mData = new std::string[DEFAULT_CAPACITY];
    mSize = 0;
    mCapacity = 100;
};

List::List(int capacity){
    mData = new std::string[capacity];
    mSize = 0;
    mCapacity = capacity;
};

List::~List(){
    delete[] mData;
};

void List::push_back(std::string s){ …
Run Code Online (Sandbox Code Playgroud)

c++

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

Node.js/Sequelize.js/Express.js - 如何插入多对多关联?(同步/异步?)

我有两个模型(个人,电子邮件),我试图使用Sequelize命令插入创建的'Individual_Email'表.虽然Sequelize正在创建所需的表,但在尝试向该表添加/ get/set时会返回以下错误:"Object [object Promise]没有方法'addEmail'".我错过了什么?

Sequelize文档说如果模型是User和Project,"这将把方法getUsers,setUsers,addUsers添加到Project,getProjects,setProjects和addProject添加到User."

这让我相信(看看承诺)我可能误解了如何使用Node的异步功能.我已经尝试了同步和异步版本的插入,两者都返回上面相同的消息.

Sequelize文档:http://docs.sequelizejs.com/en/latest/docs/associations/

码:

路线/ index.js

var express = require('express');
var router = express.Router();
var models  = require('../models');

/* GET home page. */
router.get('/', function(req, res, next) {
    'use strict';

    var tIndividual, tEmail;
    tIndividual = models.Individual.create({
        name: "Test"
    });
    tEmail = models.Email.create({
        address: "test@gmail.com"
    });
    console.log(tEmail);

    res.render('index', { title: 'Express' });
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

要么

/* GET home page. */
router.get('/', function(req, res, next) {
    'use strict';

    var tIndividual, tEmail;    
    tIndividual = models.Individual.create({ …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise sequelize.js

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

对象属性链上的Flowtype"未被Flow覆盖"

我正在尝试使用Flow,但我不断收到"未被Flow覆盖"警告,因此我的代码主要是下划线.我检查了Flow文档,但它对于对象属性链接没有用,所以你如何得到这样的东西呢?

图片

flowtype

7
推荐指数
1
解决办法
2892
查看次数

iOS和Google Firebase - 如何执行通知操作

我的目标: 使用Google Firebase Messaging设置iOS通知操作

资源参考:

题:

我已经查看了上面的资源,但我仍然无法弄清楚如何设置iOS的类别键,启用通知操作.我该怎么做呢?

ios firebase firebase-cloud-messaging firebase-notifications

7
推荐指数
1
解决办法
4480
查看次数

如何在没有Cognito的情况下从iOS上传到AWS S3?

我的目标:

使用最简单的代码将照片从iOS上传到常见的AWS S3存储桶


我试过的:


最佳实践假设:

我认为Cognito是我完成所有阅读后设置图像上传的默认方式.但是,我这样做有两个问题:

  1. 对于我应该只需要传递图像,桶,密钥和秘密的东西,这似乎过于复杂.
  2. 我之前已经通过一个服务器完成了这个,只有密钥和秘密,所以我没有看到使用或支付Cognito的理由.

我的问题:

  • 有没有办法在不使用Cognito的情况下从iOS上传到AWS S3?
  • 如果我上述任何假设或问题不是实现目标的最佳方式,那么最简单的方法是什么?

amazon-s3 amazon-web-services ios

4
推荐指数
1
解决办法
1627
查看次数

如何在node.js中解析可变数量的promise

我正在开发一个函数(由express.js路由调用),将数据库中的事件信息与其Facebook对应项合并,并将其作为事件对象数组返回.

我遇到了node.js的异步性质,并在返回整个对象之前解析了foreach循环中的可变数量的promise.我已经尝试了许多不同的方法来重新安排我的代码(回调,计数器,承诺等),但我没有成功解决这个问题,我真的想知道为什么.我怀疑它与在foreach循环中被覆盖的变量有关,但我不知道如何解决这个问题.

我正在寻找三件事:

  1. 我在概念上没有理解解决这个问题需要什么?
  2. 我将如何解决这个问题或将来调试它?
  3. 如何修复代码以使其正常工作?

这是我的功能:

function mergeEvents(req, res, next, events){

console.log("Merge Events");

var dfd = q.defer();

ensureAuthenticated(req, res, next).then(function(auth){
    var iEvent, event;
    var promises = [];

    if (auth){
        console.log("authenticated!");
        console.log("auth token: " + ACCESS_TOKEN);

        for (iEvent in events){
            event = events[iEvent];

            var promise = q.defer();
            promises.push(promise);

            https.get('https://graph.facebook.com/' + event.fb_id + '?access_token=' + ACCESS_TOKEN, function(response) {
                var str = '';
                response.on('data', function(chunk){
                    str += chunk;
                });

                response.on('end', function(){
                    var fb_event = JSON.parse(str);
                    event.dataValues.fb = fb_event;
                    promise.resolve(event);
                });
            });

            if …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous node.js promise q

3
推荐指数
1
解决办法
1925
查看次数

Sails.js模型updatedAt(updated_at)不自动更新

预期行为:

使用.update()成功更新记录后,记录的updated_at字段应自动更新为当前时间.

注意:我在config.models中更改了autoUpdatedAt设置(此处也提到)autoUpdatedAt: 'updated_at',因此该字段的标题updated_at不是updatedAt.它应该仍然具有我假设的相同功能.

实际行为:

模型已成功更新,但不会更新该updated_at字段.

代码运行:

model.update(primary, data)
.then(function updateCB(updated){
  // error handling
  sails.log('Updated successfully');
  sails.log(updated);
});
Run Code Online (Sandbox Code Playgroud)

问题:

  • 为什么是这样?
  • 我该如何解决?

结果:Sails问题

我能够在一个新项目中重现它,所以它看起来像是帆的问题.问题链接:https://github.com/balderdashy/sails/issues/3821

有关详细信息,请参阅下面的答案.

javascript sails.js waterline

3
推荐指数
1
解决办法
796
查看次数