小编Bar*_*klı的帖子

图像在FB.ui中不起作用

尝试使用以下代码发布图像和墙贴一起工作几个月.突然它停止了工作.

当我使用https进行测试时,它不起作用,但在http中可行.

如果协议是https,则APP URL使用https,否则使用http.

$protocol = "http";
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']!="off")
    $protocol = "https";

define("CANVAS_URL","$protocol://apps.facebook.com/appname/");
define("APP_URL","$protocol://domain.com/content/appname/live/");

FB.ui(
        {

         method: 'feed',
         name: 'my app name',
         link: <? echo "'".CANVAS_URL."'";?>,
         picture: <? echo "'".APP_URL."'";?>+image,
         caption: _caption,
         description: _description
       }, function(response) {
         if (response && response.post_id) 
         {
           // published
         } else {
           // not published
         }
       }
    );
Run Code Online (Sandbox Code Playgroud)

javascript php facebook

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

Python socket.recv异常

我正在研究一个非常简单的python套接字服务器.我使用非阻塞套接字.服务器和客户端在带有python 2.7.3的Windows 7 x64上运行.这是我从客户端接收数据的代码:

def listenToSockets(self):

    while True:

        changed_sockets = self.currentSockets

        ready_to_read, ready_to_write, in_error = select.select(changed_sockets,[],[])

        for s in ready_to_read:
            # if its the server master socket someone is connecting
            if s == self.socket:
                (client_socket, address) = s.accept()
                print "putting " + address[0] + " onto connections\n";
                client_socket.setblocking(0)

                self.currentSockets.append(client_socket)
                print "current client count : " + str(len(self.currentSockets) - 1)

            else:

                data = ''
                try:

                    while True:
                        part = s.recv(4096)
                        if part != '':
                            data = data + part
                        elif part …
Run Code Online (Sandbox Code Playgroud)

python sockets networking

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

C++二进制文件在Windows XP上不起作用

我在Windows 7上的VS 11 Beta中编译了一个非常基本的C++程序.

除运行时库外,所有项目设置都是默认设置.我将多线程DLL(/ MD)更改为多线程(/ MT).据我所知,这会静态链接运行时库.

尝试在安装了VS 11 Beta的另一台Windows 7机器上运行此exe工作正常.

试图在没有安装VS的windowx XP机器上运行它会导致弹出错误说明.

" **.exe不是有效的Win32应用程序"

是否有一些设置需要更改才能在Win7上使用VS 11 Beta编译的XP上进行二进制工作?

c++ windows-xp visual-studio

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

mongodb upsert 是否使用查询字段

当使用 update 和 upsert 时,驱动程序会合并查询和 $set 对象。

这是一些示例代码

db.collection('objects').update({_key: 'test1'}, {$set: {a:1}}, {upsert: true, w: 1}, callback);
Run Code Online (Sandbox Code Playgroud)

当我这样做时,如果文档 test1 不存在,mongo 似乎会插入以下文档。

{
 _id: ,
 _key: 'test1',
  a: 1
}
Run Code Online (Sandbox Code Playgroud)

因此它从查询中获取键并将其用作字段a:1

这与以下有什么不同:

var data = {
   _key : 'test1',
   a: 1
};

db.collection('objects').update({_key: 'test1'}, {$set: data}, {upsert: true, w: 1}, callback);
Run Code Online (Sandbox Code Playgroud)

由于覆盖 _key,第二个会变慢吗?_key 上有一个索引。

javascript mongodb node.js mongodb-query

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

解决NodeJS模型中的循环依赖

我有两个模型(使用BookshelfJS,或BackboneJS,无所谓): ,.modelA 要求和要求.modelBmodelAmodelBmodelBmodelA

最初,我有:

// modelA
var Bookshelf = require('bookshelf);
var modelB = require('./modelB');
var modelA = Bookshelf.Model.extend({});

module.exports = modelA;

// modelB
var Bookshelf = require('bookshelf);
var modelA = require('./modelA);
var modelB = Bookshelf.Model.extend({});

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

然后我在这里读到关于Bookshelf.plugin('register').所以我将我的代码更改为:

// modelA
var Bookshelf = require('bookshelf);
var modelB = Bookshelf.model('modelB');
var modelA = Bookshelf.Model.extend({});

Bookshelf.model('modelA', modelA);

// modelB
var Bookshelf = require('bookshelf);
var modelA = Bookshelf.model('modelA');
var modelB = …
Run Code Online (Sandbox Code Playgroud)

node.js bookshelf.js

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

向vector添加新对象,每次都返回相同的地址

我有代码:

我的矢量: std::vector<spreadsheet> spreadsheets;

//create a new spreadsheet if it doesn't already exist. Link the session to the spreadsheet.
bool server::createSpreadsheet(session* session, std::string name, std::string password)
{
    std::cout << "beginning" << std::endl;

    bool found = false;
    for(int i = 0; i < spreadsheets.size(); i++)
    {

      spreadsheet test = spreadsheets.at(i);
      std::cout << "spreadsheet name = " << &test << std::endl;
      if(spreadsheets.at(i).name == name) //spread sheet already exists
      {
          found = true;

      }
    }
    std::cout << "After For found = " << …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
190
查看次数