我的目标:
使用Sails.js创建一个私有消息传递平台,尽可能使用最简单的代码
最佳实践假设:
我的问题:
我试过的:
我正在编写一个简单的类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) 我有两个模型(个人,电子邮件),我试图使用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) 我正在尝试使用Flow,但我不断收到"未被Flow覆盖"警告,因此我的代码主要是下划线.我检查了Flow文档,但它对于对象属性链接没有用,所以你如何得到这样的东西呢?

我的目标: 使用Google Firebase Messaging设置iOS通知操作
资源参考:
题:
我已经查看了上面的资源,但我仍然无法弄清楚如何设置iOS的类别键,启用通知操作.我该怎么做呢?
ios firebase firebase-cloud-messaging firebase-notifications
我的目标:
使用最简单的代码将照片从iOS上传到常见的AWS S3存储桶
我试过的:
最佳实践假设:
我认为Cognito是我完成所有阅读后设置图像上传的默认方式.但是,我这样做有两个问题:
我的问题:
我正在开发一个函数(由express.js路由调用),将数据库中的事件信息与其Facebook对应项合并,并将其作为事件对象数组返回.
我遇到了node.js的异步性质,并在返回整个对象之前解析了foreach循环中的可变数量的promise.我已经尝试了许多不同的方法来重新安排我的代码(回调,计数器,承诺等),但我没有成功解决这个问题,我真的想知道为什么.我怀疑它与在foreach循环中被覆盖的变量有关,但我不知道如何解决这个问题.
我正在寻找三件事:
这是我的功能:
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) 预期行为:
使用.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 ×4
node.js ×3
ios ×2
promise ×2
sails.js ×2
amazon-s3 ×1
asynchronous ×1
c++ ×1
firebase ×1
flowtype ×1
q ×1
sequelize.js ×1
sockets ×1
waterline ×1