小编rr.*_*rr.的帖子

Doctrine和Zend_Form验证

我在一个项目中使用Zend Framework和Doctrine,并且想知道是否有人可以建议将Doctrine的验证与Zend_Form集成的好方法.我正在努力避免代码重复.

php validation doctrine zend-framework

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

tinyMCE - 您可以将编辑器高度配置为低于100px吗?

我并不熟悉TinyMCE,但我似乎无法配置高度低于100px的高度.我已经尝试了,似乎总是将它设置为100px,只要它低于它.我只需要一些按钮,编辑器窗口可能永远不会超过一行,所以我试图减少一点界面混乱.

javascript wysiwyg tinymce

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

Python SQLAlchemy - 模拟模型属性的"desc"方法

在我的应用程序中,每个模型都有一个类来保存常用的查询(我猜它在某种程度上是DDD语言中的"存储库").这些类中的每一个都传递给SQLAlchemy会话对象,以便在构造时创建查询.我在确定在单元测试中运行某些查询的最佳方法时遇到了一些困难.使用无处不在的博客示例,假设我有一个"Post"模型,其中包含列和属性"date"和"content".我还有一个"PostRepository",其方法是"find_latest",它应该按"日期"降序查询所有帖子.它看起来像:

from myapp.models import Post

class PostRepository(object):
    def __init__(self, session):
        self._s = session

    def find_latest(self):
        return self._s.query(Post).order_by(Post.date.desc())
Run Code Online (Sandbox Code Playgroud)

我在模拟Post.date.desc()调用时遇到了麻烦.现在我在单元测试中为Post.date.desc修补了一个模拟,但我觉得可能有更好的方法.

编辑:我正在使用mox作为模拟对象,我当前的单元测试看起来像:

import unittest
import mox

class TestPostRepository(unittest.TestCase):

    def setUp(self):
        self._mox = mox.Mox()

    def _create_session_mock(self):
        from sqlalchemy.orm.session import Session
        return self._mox.CreateMock(Session)

    def _create_query_mock(self):
        from sqlalchemy.orm.query import Query
        return self._mox.CreateMock(Query)

    def _create_desc_mock(self):
        from myapp.models import Post
        return self._mox.CreateMock(Post.date.desc)

    def test_find_latest(self):
        from myapp.models.repositories import PostRepository
        from myapp.models import Post

        expected_result = 'test'

        session_mock = self._create_session_mock()
        query_mock = self._create_query_mock()
        desc_mock = self._create_desc_mock()

        # Monkey patch
        tmp …
Run Code Online (Sandbox Code Playgroud)

python unit-testing sqlalchemy mocking mox

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

真实世界Haskell第3章练习:具有1个值构造函数的二叉树

第3章定义了以下表示二叉树的递归类型:

data Tree a = Node a (Tree a) (Tree a)
            | Empty
              deriving (Show)
Run Code Online (Sandbox Code Playgroud)

练习要求我使用单个值构造函数实现相同的类型,使用"Maybe"类型来引用子节点:

(摘自第60页第3章练习2)

"定义一个只有一个构造函数的树类型,就像我们的Java示例.而不是Empty构造函数,使用Maybe类型来引用节点的子节点."

我想出的解决方案如下:

data AltTree a = AltNode a (Maybe (AltTree a)) (Maybe (AltTree a))
                 deriving (Show)
Run Code Online (Sandbox Code Playgroud)

但是,这不允许包含其他空树的树,例如:

AltNode 1 (AltNode 2 Nothing Nothing) (AltNode 3 Nothing Nothing)
Run Code Online (Sandbox Code Playgroud)

而且我不确定为什么,"Nothing"不是"Maybe"类型的值构造函数?

haskell

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

PHP命名空间函数最佳实践

我有一些通用的函数,在任何类中都没有真正有意义的静态方法.我想将它们封装在命名空间下,这样就不会与全局范围中定义的函数发生冲突.对于我的命名空间类,我遵循广泛采用的模式,其中诸如\ My\Namespaced\MyClass的类存在于包含路径上的My/Namespaced/MyClass.php中.

是否应该放置命名空间函数的最佳实践?现在我将它们放在同一名称空间下保存类的目录中的"functions.php"中.例如\ My/Namespaced\myFunction存在于My/Namespaced/functions.php中.

此外,有没有办法以类自动加载的方式自动加载这些功能?

php namespaces function php-5.3

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

Python WSGI:多次阅读 env['wsgi.input']

我正在构建一个需要对所有请求进行签名的简单 Web 服务。签名哈希是使用包含请求正文的请求数据生成的。我的愿望是有一个中间件组件来验证请求签名,如果签名无效则响应错误。问题是中间件需要使用 env['wsgi.input'].read() 读取请求正文。这会将请求正文字符串的指针推进到末尾,这使得执行链中更下游的其他组件无法访问数据。

有什么办法可以使 env['wsgi.input'] 可以被读取两次吗?

前任:

from myapp.lib.helpers import sign_request
from urlparse import parse_qs
import json

class ValidateSignedRequestMiddleware(object):
    def __init__(self, app, secret):
        self._app = app
        self._secret = secret

    def __call__(self, environ, start_response):
        auth_params = environ['HTTP_AUTHORIZATION'].split(',', 1)
        timestamp = auth_params[0].split('=', 1)[1]
        signature = auth_params[1].split('=', 1)[1]

        expected_signature = sign_request(
            environ['REQUEST_METHOD'],
            environ['HTTP_HOST'],
            environ['PATH_INFO'],
            parse_qs(environ['QUERY_STRING']),
            environ['wsgi.input'].read(),
            timestamp,
            self._secret
        )
        if signature != expected_signature:
            start_response('400 Bad Request', [('Content-Type', 'application/json')])
            return [json.dumps({'error': ('Invalid request signature',)})]

        return self._app(environ, start_response)
Run Code Online (Sandbox Code Playgroud)

python pylons middleware wsgi

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

在 vim 中设置垂直窗口的最大尺寸

在使用分割窗口时,我经常使用该命令来平均调整所有窗口的大小。但是,我还在垂直窗口中使用迷你缓冲区资源管理器,我希望将其最大宽度保持为 25。有什么方法可以配置 vim,以便迷你缓冲区资源管理器窗口不会重新调整大小或保持不变最大宽度为 25?

谢谢!

ide vim editor

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

Python字典来排序元组,这可以做得更好吗?

我的输入有一个dictonary有以下特点:

  • 每个值都可以是整数,字符串或可迭代(除了字符串).
  • 如果元素是可迭代的,则该iterable中的每个元素将只是一个字符串或整数.

例如:

mydict = {
    'one': 1,
    'two': '23',
    'three': 3,
    'four': [
        7,
        '6',
        5,
        8
    ],
    'nine': 9
}
Run Code Online (Sandbox Code Playgroud)

我需要将输入转换为元组列表,其中每个元组是键/值对.对于可迭代元素,每个元素都有一个键/值对,按值排序.例如,上面的输出应该是:

('four', 5)
('four', 7)
('four', 8)
('four', '6')
('nine', 9)
('one', 1)
('three', 3)
('two', '2')
Run Code Online (Sandbox Code Playgroud)

我目前使用以下生成器实现了这个:

def dict_to_sorted_tuples(unsorted_dict):
    for key in sorted(unsorted_dict):
        if isinstance(unsorted_dict[key], basestring):
            yield key, unsorted_dict[key]
            continue
        try:
            for v in sorted(unsorted_dict[key]):
                yield key, v
        except:
            yield key, unsorted_dict[key]

print list(dict_to_sorted_tuples(mydict))
Run Code Online (Sandbox Code Playgroud)

我觉得这可以用更干净的方式完成,有任何改进建议吗?

python sorting dictionary iterable generator

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

通过JavaScript中的字符串调用函数并保持在范围内

我一直在玩,并且搜索了一下,但我无法弄清楚这一点.我在JavaScript对象中有一个伪私有函数,需要通过eval调用(因为函数的名称是动态构建的).但是,函数被闭包隐藏在全局范围内,我无法弄清楚如何使用eval()来引用它.

例如:

var myObject = function(){
    var privateFunctionNeedsToBeCalled = function() {
        alert('gets here');
    };

    return {
        publicFunction: function(firstPart, SecondPart) {
            var functionCallString = firstPart + secondPart + '()';
            eval(functionCallString);
        }
    }
}();

myObject.publicFunction('privateFunctionNeeds', 'ToBeCalled');
Run Code Online (Sandbox Code Playgroud)

我知道这个例子看起来很傻但我想保持简单.有任何想法吗?

javascript scope eval private function

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