小编mro*_*rok的帖子

Mockery - call_user_func_array()期望参数1是有效的回调

我有一个我需要模拟的课程:

class MessagePublisher
{
    /**
     * @param \PhpAmqpLib\Message\AMQPMessage $msg
     * @param string $exchange - if not provided then one passed in constructor is used
     * @param string $routing_key
     * @param bool $mandatory
     * @param bool $immediate
     * @param null $ticket
     */
    public function publish(AMQPMessage $msg, $exchange = "", $routing_key = "", $mandatory = false, $immediate = false, $ticket = null)
    {
        if (empty($exchange)) {
            $exchange = $this->exchangeName;
        }

        $this->channel->basic_publish($msg, $exchange, $routing_key, $mandatory, $immediate, $ticket);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Mockery 0.7.2

$mediaPublisherMock = …
Run Code Online (Sandbox Code Playgroud)

php phpunit mocking silex

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

Grails一对一的关系

我尝试用两种不同的方式定义一对一的关系:
Grails 2.0.3

情况1:

class Car {
    String model  
    Engine eng  
    static constraints = {
        eng unique: true
    }
}

class Engine {
    Double capacity
    static belongsTo = [car : Car]
}
Run Code Online (Sandbox Code Playgroud)

案例2:

class Car {
    String model
    static hasOne = [eng : Engine]
    static constraints = {
        eng unique: true
    }
}


class Engine {
    Double capacity
    static belongsTo = [car : Car]
}
Run Code Online (Sandbox Code Playgroud)

看起来很相似,都提供一对一的双向映射.不幸的是DB在两种情况下都有不同的结构

情况1: 在此输入图像描述

案例2: 在此输入图像描述

为什么一旦Car和一次引擎保持链接到第二个表.

我的问题在哪里?当我查看代码时,从DDD的角度来看,两种情况都表明Car类更重要,Car聚合引擎.不幸的是,当我从DB侧看案例2时,我宁愿说它是相反的 - 引擎聚合汽车.当然我可以使用第一种方法,但我看到的关于grails的大多数出版物,提出了定义关系的第二种方式.也许我误解了一些东西而且我错误地使用了hasOne?

database grails grails-orm

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

实体总是必须基于Symfony2中的数据库吗?

我有一个项目,其中数据库隐藏在Web服务(其中许多)之后.简而言之 - 直接访问数据库是不可能的.

我使用Symfony2,每当我有一个"存储数据"(例如:用户,汽车,房间)和服务(可从容器访问)/模型的对象时,我强迫自己使用实体,当涉及更重的逻辑时(例如TransactionMaker,RoomBooker,CarDestroyer等).

没有任何ORM描述的实体被选择在阵列上,因为框架提供了非常简单的验证,构建表单和IDE智能感知的方法.

现在它工作正常,但一些开发人员声称实体必须始终反映数据库中的表.真的吗?

symfony

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

更新SqlAlchemy ORM中的行

我试图从DB获取一行,修改该行并再次保存.
一切都使用SqlAlchemy

我的代码

from sqlalchemy import Column, DateTime, Integer, String, Table, MetaData
from sqlalchemy.orm import mapper
from sqlalchemy import create_engine, orm

metadata = MetaData()

product = Table('product', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String(1024), nullable=False, unique=True),

)

class Product(object):
    def __init__(self, id, name):
        self.id = id
        self.name = name

mapper(Product, product)


db = create_engine('sqlite:////' + db_path)
sm = orm.sessionmaker(bind=db, autoflush=True, autocommit=True, expire_on_commit=True)
session = orm.scoped_session(sm)

result = session.execute("select * from product where id = :id", {'id': 1}, mapper=Product)
prod = result.fetchone() …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

如何使用require.js加载带有noConflict的jQuery

我试图通过使用require在noConflict模式下加载jquery

require.config({
    paths: {
        'jquery': 'libs/jquery-req',
        underscore: 'libs/underscore',
        backbone: 'libs/backbone'
    },
    shim: {
        jquery: {
            init: function() {
                console.log('jq init');
                var jq = this.jQuery.noConflict(true);
                jq.support.cors = true;

                return jq;
            },
            exports: '$'
        },
        backbone: {
            deps: ['underscore', 'jquery'],
            init: function() {
                console.log('b init');
            },
            exports: 'Backbone'
        },
        underscore: {
            exports: '_'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

并使用它:

define([
    'jquery',
    'underscore',
    'backbone'
], function(jq, _, Backbone) {
    console.log(jq);
    var initialize = function() {
//        Router.initialize();
    };

    return {
        initialize: initialize
    };
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎从未调用过shim.jquery.init函数.有人可以帮我理解为什么吗?当我重命名jquery时,有什么奇怪的 …

javascript jquery requirejs

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

Grails - 如何在每次保存之前执行代码?

save()在域类的每次调用之前,是否有一种好的/标准的方法来执行一些公共代码?

例如,我的域名

class Page {

    String url
    Boolean processed
    Date date
    Integer urlCrc 
}
Run Code Online (Sandbox Code Playgroud)

我的表单只有3个第一个字段,我想在urlCrc每次save()调用方法时计算.我不能只是覆盖保存方法,因为它被注入.

grails grails-orm grails-domain-class

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

将Spring shell和boot组合在一起

我是Spring的新手,所以经过一整天的尝试,我需要问;)

是否可以将Spring引导Spring shell结合在一起?

我的用例是构建一个包含webapp的jar(默认情况下Spring-boot嵌入jetty或tomcat),同时能够从shell执行一些项目命令.Quarts不是一个选择.如果这些命令和webapp共享相同的应用程序上下文,那将是很好的.

我的src/main/java中有两个类(加上其他目录中的一些命令和控制器)

Application.java

package dk.mrok.carmonitor;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * Bootstrap webapp
 */
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

Cli.java

package dk.mrok.carmonitor;

import java.io.IOException;
import org.springframework.shell.Bootstrap;

public class Cli {

    /**
     * Main class that delegates to Spring Shell's Bootstrap class in order to simplify debugging inside an IDE
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-shell

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

Nodejs - 如何编译bson解析器?

每次我尝试在Nodejs中做任何事情,与mangodb或套接字连接的东西,然后我收到错误:

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Native bson parser not compiled, please compile or avoid using native_parser=true
Run Code Online (Sandbox Code Playgroud)

我应该编译,使用,安装等什么来避免它?我在node-mongodb-native安装期间尝试安装mangodb,node-mongodb-native我收到消息:

 cxx: bson.cc -> build/default/bson_1.o
Run Code Online (Sandbox Code Playgroud)

所以我可能在某处...

我正在使用:node 0.4.7 Ubuntu 10.10

编辑.我想要运行的是什么:

  1. 我下载了github.com/pubsubio/chat

  2. 为此项目打包安装的是:

/home/mrok/nodejs/pubsub/pubsubio-chat
??? bson@0.0.3 
??? common@0.1.1 
??? galletita@0.1.1 
??? mongodb@0.9.6-7 
??? mongojs@0.1.6 
? ??? common@0.1.1 
? ??? mongodb@0.9.6-7 
??? mongoose@1.7.3 
? ??? colors@0.5.0 
? ??? hooks@0.1.9 
??? pubsub.io@0.1.7 
? ??? json-sockets@0.2.0 
??? router@0.3.1
Run Code Online (Sandbox Code Playgroud)

我仍然收到:

原生bson解析器未编译,请编译或避免使用native_parser = true

欢迎任何提示.

node.js bson

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

强制作曲家下载git repo而不是zip

我对作曲家有些问题.

 "require": {
        "php":                ">=5.3.2",
        "kriswallsmith/buzz": "0.7"
    },
Run Code Online (Sandbox Code Playgroud)

回复https://github.com/kriswallsmith/Buzz/tree/v0.7

不幸的是,github为此请求返回502 https://github.com/kriswallsmith/Buzz/zipball/v0.7

请求网址:https://nodeload.github.com/kriswallsmith/Buzz/zipball/v0.7
状态代码:502 Bad Gateway

幸运的是git clone仍然有效;)

是否有可能告诉/要求作曲家使用git clone而不是为这一个依赖项下载zipball?

php github composer-php

5
推荐指数
2
解决办法
3482
查看次数

强制AngularJS在使用多个版本的jQuery时使用特定版本的jQuery

我继承了在noConflict模式下将几个版本的jQuery加载到页面中的项目.应用程序是巨大的,测试缺失,似乎每个前devloper没有"cohones"大到足以删除以前的库.结果是$引用了jquery版本1.4.2.
是否有任何方式/技巧可以告诉角度应该使用jQuery版本? 就像是

angular.jq = j182

我知道我可以这样做

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
 <script src="xxx/scripts/angular.js"></script>  
 <script>j182 = jQuery.noConflict();</script>
Run Code Online (Sandbox Code Playgroud)

但后来我有一种"隐藏的依赖",我想避免.

javascript jquery versions multiple-instances angularjs

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