小编Mat*_*att的帖子

将STL算法与shared_ptr,函数对象一起使用

我有一组shared_ptr,我想将remove_copy_if与谓词的自定义函数对象一起使用.我不知道"最好"的方式.现在,我有这个工作:

class CellInCol : public std::unary_function<const std::shared_ptr<Cell>,
                                             bool>
{
public:
    CellInCol( size_t col ) : _col( col ) {}
    bool operator() ( const std::shared_ptr<Cell> &a ) const
    {
        return ( a->GetX() == _col );
    }
private:
    size_t _col;
};


    typedef std::set<std::shared_ptr<Cell>, CellSorter> Container;
    Container _grid;
    // initialization omitted...


Puzzle::Container Puzzle::GetCol( size_t c )
{
    Cell::Validate( c, 1, 9 );
    Container col;
    std::remove_copy_if( _grid.begin(), _grid.end(),
                         std::inserter( col, col.begin() ),
                         std::not1( CellInCol( c ) ) );
    return col;
}
Run Code Online (Sandbox Code Playgroud)

我决定对shared_ptr执行const引用,因为该对象不会保留指针,这似乎比shared_ptr的额外副本更有效.

看起来对对象进行const引用似乎更好,但是我无法编译它.我把它改成了这个,但没有运气:

class …
Run Code Online (Sandbox Code Playgroud)

c++ shared-ptr function-object stl-algorithm

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

Symfony2 Monolog用于电子邮件和文件记录的设置

我想设置Symfony2向我发送critical错误的电子邮件,但只是日志error级错误.以下设置会这样做吗?

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      grouped
        grouped:
            type: group
            members: [filelog, mail]
        # log all errors to file
        filelog:
            type:         fingers_crossed
            action_level: error
            handler:      nested_stream
        nested_stream:
            type:  stream
            path:  "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug
        # send me an email when we have a critical error
        mail:
            type:         fingers_crossed
            action_level: critical
            handler:      buffered
        buffered:
            type:    buffer
            handler: swift
        swift:
            type:       swift_mailer
            from_email: %mailer_sender%
            to_email:   %error_email%
            subject:    "[FeedStream Error]"
            level:      debug
Run Code Online (Sandbox Code Playgroud)

我看到:http://symfony.com/doc/current/cookbook/logging/monolog_email.html但它根本没有处理 …

symfony monolog

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

示例Zend Framework Project 1.8+

让我先说这个; 我知道存在类似的问题,但它们已经存在了几年,ZF正在快速变化.我想要一个更近期的例子.

已经注意到很多关于Zend Framework的文档缺乏.我已经阅读了很多并用它来启动一些应用程序,但我发现很难理解如何正确地执行操作.我最大的问题是各种组件属于哪里,应该在哪里实例化,等等.

我试图遵循MVC最佳实践,使用瘦控制器,胖模型.我也在尝试使用最新的MVC堆栈,包括Zend_Application和推荐的Bootstrap类.

我想看一个使用框架最佳实践的示例站点,它可以演示以下组件(理想情况):

  • Zend_ACL/Zend_Auth:如何在应用程序中实际使用它们,如何将它放入模型中等等.
  • Zend_Layout:如何使用菜单等常用部件正确执行此操作
  • Zend_Navigation:我大多不知道实例化这个的最佳实践.
  • Zend_Cache:再次,它属于哪里,你在控制器中使用它(可能吗?)
  • Zend_Db:我希望这个例子显然可以使用数据库,但我更喜欢使用ZF而不是Doctrine
  • Zend_Feed:我不完全确定如何正确制作RSS源(即设置内容类型等)
  • Zend_Form:我还没有用过它,但我知道它可以验证传递给Model的数据.我想看看这个在行动
  • Zend_Paginator:再次,你在哪里实例化,模型或控制器?

我知道我不需要在框架中使用所有东西,但我想尝试使用任何可能符合我需求的东西,我想了解更多相关信息.

那么你知道一个使用Zend MVC以及部分或全部这些组件的好例子吗?并且遵循了许多最佳实践?理想情况下,它使用至少1.10,但任何1.8或更高的内容就足够了.

php model-view-controller zend-framework

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

减少Windows Node.js挂起

我一直在尝试在Windows上设置Symfony2,以便我可以用更少的资产.

我已经为Windows安装了node.js(0.6.8).然后我跑了npm install less --global,发现少了C:\Users\Matt\AppData\Roaming\npm\node_modules

至于我的Symfony设置,我有主分支Assetic(由于我在1.0.2中读到的一个错误),但标准v1.0.1的AsseticBundle

经过一些工作,我能够通过以下方式获得一个示例文件: http://localhost/app_dev.php/css/compiled-main_part_1_boilerplate_1.css

然后我切换了一个.less文件@imports其他.less文件(在同一个子目录中).每当我尝试在我的本地服务器上访问该页面时(使用此较少的配置),它就会挂起,我可以看到命令进程和node.exe进程都在运行.

该命令正在尝试在node.js中运行一个脚本,该脚本存在于我的临时目录中.我可以在命令提示符下通过node.js运行该文件,但我无法使用Symfony/Assetic加载它.

无论如何在Windows上使用node.js,less和assetic?

这是我的相关配置文件部分:

# Assetic Configuration
assetic:
    debug:           %kernel.debug%
    use_controller: false
    bundles: [FeedStreamMainBundle]
    # java: /usr/bin/java
    filters:
        cssrewrite: ~
        less:
            node: %assetic_node%
            node_paths: [%assetic_less_path%]
        yui_js:
            jar: "%kernel.root_dir%/Resources/java/yuicompressor.jar"
        yui_css:
            jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar
        # closure:
        #     jar: %kernel.root_dir%/java/compiler.jar
Run Code Online (Sandbox Code Playgroud)

dev config覆盖:

assetic:
    use_controller: true
Run Code Online (Sandbox Code Playgroud)

在parameters.ini中:

assetic_node="C:\\Program Files (x86)\\nodejs\\node"
assetic_less_path="C:\\Users\\Matt\\AppData\\Roaming\\npm\\node_modules"
Run Code Online (Sandbox Code Playgroud)

windows less node.js symfony assetic

5
推荐指数
0
解决办法
3586
查看次数

CSS两列列表 - 响应合并为一列

我有两个列表,我将其分为两列.我想在小屏幕上做到这一点,项目成为一列,但我想交替项目.

<div>
    <ul class="left">
        <li>Item A</li>
        <li>Item B</li>
        <li>Item C</li>
        <li>Item D</li>
    </ul>
    <ul class="right">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        <li>Item 4</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

所以结果应该在小屏幕上看起来像这样.

Item A
Item 1
Item B
Item 2
Item C
Item 3
Item D
Item 4
Run Code Online (Sandbox Code Playgroud)

这是我的首发jsfiddle.我应该将一个列表li width设置为50%?我想看看这是否可行,同时保持HTML标记的方式.

http://jsfiddle.net/aAhX9/

html css responsive-design

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

Netbeans Xdebug Vagrant连接超时

我正在尝试让xdebug为PHP工作,Netbeans连接到Vagrant配置的VM(如果重要,请使用PuPHPet进行设置)

我的VM上有这些php.ini设置:

[XDEBUG]
xdebug.remote_connect_back=1
xdebug.default_enable=1
xdebug.remote_autostart=0
xdebug.max_nesting_level=256
xdebug.remote_enable=1
xdebug.remote_log=/tmp/php5-xdebug.log
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug
Run Code Online (Sandbox Code Playgroud)

Netbeans的路径映射正确,并设置为本地网站运行.它正确启动带有GET变量的浏览器以开始调试.我的Windows防火墙允许netbeans,我添加了一个规则,允许从我的VM IP到我的本地IP(192.168.56.x地址,所以它是正确的子网)的所有内容.

从我的VM我可以ping我的主机操作系统.但是在xdebug日志中,我只看到:

Log opened at 2014-08-23 17:43:28
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9000.
E: Time-out connecting to client. :-(
Log closed at 2014-08-23 17:43:28
Run Code Online (Sandbox Code Playgroud)

在我的主机操作系统上,我尝试了netstat并验证了Netbeans正在侦听端口9000.我在Virtualbox中删除了9000上的端口转发,因为我读过我不需要它(最初我有它但是Netbeans抱怨了一些东西其他人正在听9000).

我已经意识到php-fpm也使用端口9000,所以我尝试了9001(在ini中使用php-fpm重启,在IDE中,也验证了IDE正在监听9001).相同的结果:

I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9001.
E: Time-out connecting to client. :-(
Log closed at 2014-08-23 18:11:59
Run Code Online (Sandbox Code Playgroud)

所以现在我已经阅读了所有内容,而且我被困在这里.有任何想法吗?

php netbeans xdebug vagrant

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

在shared_ptr的容器上使用C++ std :: equal

我有一个std :: shared_ptr的容器.我想使用std :: equal来比较两个容器.A类有operator == defined.我希望等于比较每个元素是否等效使用其运算符==,而不是在shared_ptr中定义的元素.

我是否需要使函数或函数对象传递给相等的?或者是否有更简单的内置内容(如<functional>中定义的内容)?

c++ equality shared-ptr stl-algorithm

4
推荐指数
2
解决办法
2490
查看次数

Symfony2实体类型表单,包含名称和图像

我有一个同时具有名称(字符串)和文件(也是表示文件名的字符串)的实体.这是"Icon"实体.我有另一个名为"Category"的实体,它有一个名字(字符串)和一个Icon(OneToMany)的关系.我希望表单允许用户选择类别的图标.

所以我可以在表格中显示它:

$builder->add('icon', 'entity', array(
    'class' => 'CroltsMainBundle:Icon',
    'expanded' => true,
    'multiple' => false
));
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是在每个单选按钮的枝条中显示这样的东西:

<div>
<label for="something"><img src="/icons/{{icon.file }}" />{{icon.name}}</label>
<input type="radio" name="something" value="{{ icon.id }}" />
</div>
Run Code Online (Sandbox Code Playgroud)

有没有一种很好的方法可以用Symfony形式制作这种类型的无线电形式?就像我想要的定制类型一样?我真的没有用自定义类型做太多,知道这有多大可能.

symfony

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

Symfony2自定义选民角色层次结构

我正在尝试创建一个自定义选民来检查实体对特定操作的访问权限.所以这个逻辑很好.但是,如果用户是该实体的"所有者",或者他们是管理员,那么我有一些允许的操作.

但是,我不能只检查用户的角色,因为我正在查看角色层次结构.文档中的示例仅用于此in_array,但这不起作用(http://symfony.com/doc/current/best_practices/security.html)

我的选民是这样的(为了清晰起见缩短了).我已经尝试注入安全上下文(或2.6中的AuthorizationCheckerInterface),但由于这是一个选民,因此它具有循环依赖性.

<?php
// ...
class ApplicationVoter extends AbstractVoter
{
    const VIEW = 'view';

    /**
     * @var AuthorizationCheckerInterface 
     */
    private $security;

    /*public function __construct(AuthorizationCheckerInterface $security)
    {
        $this->security = $security;
    }*/

    /**
     * {@inheritdoc}
     */
    protected function getSupportedAttributes()
    {
        return array(
            self::VIEW
        );
    }

    /**
     * {@inheritdoc}
     */
    protected function getSupportedClasses()
    {
        return array('Study\MainBundle\Entity\Application');
    }

    /**
     * {@inheritdoc}
     */
    protected function isGranted($attribute, $application, $user = null)
    {
        if (!$user instanceof UserInterface) {
            return false;
        }

        if …
Run Code Online (Sandbox Code Playgroud)

symfony

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

R选择重复行

好吧,我对 R 还很陌生,我尝试在文档中搜索我需要做的事情,但这就是问题所在。

我有一个名为 heeds.data 的 data.frame,格式如下(为简单起见,省略了一些列) eval.num、eval.count、...fitness、fitness.mean、green.h.0、green.v.0、偏移.0、绿色.h.1、绿色.v.1、...绿色.h.7、绿色.v.7、偏移.7...

我选择了满足以下条件的行:

best.fitness <- min(heeds.data$fitness.mean[heeds.data$eval.count >= 10])
best.row <- heeds.data[heeds.data$fitness.mean == best.fitness]
Run Code Online (Sandbox Code Playgroud)

现在,我想要的是所有其他行的列 green.h.0 到 offset.7 (列的连续部分)等于 best.row

我想这可能有用

heeds.best <- heeds.data$fitness[
  heeds.data$green.h.0 == best.row$green.h.0 & ...
]
Run Code Online (Sandbox Code Playgroud)

但对于 24 列来说,这似乎是一个愚蠢的方法。寻找一些更简单、更少手动输入的东西。

这是一个简短的数据示例来展示我想要的内容

eval.num, eval.count, fitness, fitness.mean, green.h.0, green.v.0, offset.0
1         1           1500     1500          100        120        40
2         2           1000     1250          100        120        40
3         3           1250     1250          100        120        40
4         4           1000     1187.5        100        120        40
5         1           2000     2000          200        100 …
Run Code Online (Sandbox Code Playgroud)

statistics select r duplicates dataframe

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