小编Dor*_*ron的帖子

当在eclipse pdt中同步时 - 在比较php文件的版本时获得一个空白的灰色窗口

我已经为64位Linux安装了Eclipse PDT Helios SR1 GTK(Ubuntu Maverick干净安装).
我添加了Subversive插件以使用Subversion,并安装了SVNKit 1.3.2连接器.我使用的是Sun的java而不是OpenJDK版本.

当我同步的PHP项目,并双击一个PHP文件比较比较基础版本我做了分歧 - 它会打开一个比较文件的窗口,但窗口是空的 - 我看到灰色的背景,如果没有文件打开.

当我打开未设置为PHP文件的文件时,它工作正常.(如果我要一个.module扩展名的文件,并把它定义为在内容类型偏好设置面板的PHP文件,它会严重如上所述采取行动.如果我会删除此定义,它会工作[好像我比较纯文本文件]).

任何人都知道为什么会这样?
如果我错过了任何有助于诊断或解决此问题的重要信息,请知道并且我会添加它.

谢谢.

php eclipse subversive eclipse-pdt synchronize

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

有条件地提供("流浪者条款")"流浪汉"

由于我在团队中工作,我希望尽可能顺利地使用vagrant(和chef-solo).
当团队中的某个人改变厨师烹饪书,角色或其他任何东西时,我希望所有其他团队成员通过在下一个"流浪汉"上进行流浪汉重新供应(如运行"流浪汉条款")来自动"接收"变更,没有每个团队成员都需要了解它并手动重新配置.

我想通过让git post-receive钩子脚本touch在根项目文件夹上的文件来实现这一点.然后,当调用"vagrant up"时,它将检查该文件是否存在.如果文件存在 - 一旦"up"运行完毕,它将重新提供.

这样做有更好的选择吗?怎么样?
如果没有,我该怎么做?

我知道这个问题(Force Vagrant在下一个流浪者上重新提供或下载一个新的盒子)存在,但这不是我的情况(我特别感兴趣的是配置,而不是虚拟机本身 - 盒子等等. ).

chef-infra vagrant chef-solo

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

在php数组中反转类似范围的功能


我有这样一个数组:

array(0, 2, 4, 5, 6, 7, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99);
Run Code Online (Sandbox Code Playgroud)

我想把它作为以下字符串:

0, 2, 4-7, 90+

在我开始从头上拔毛之前有什么例子吗?
谢谢.

更新:
这是我在使用@Andy的代码后使用的最终解决方案,并对其进行了一些修改.

function rangeArrayToString($rangeArray, $max = 99) {
    sort($rangeArray);
    $first = $last = null;
    $output = array();

    foreach ($rangeArray as $item) {
        if ($first === null) {
            $first = $last = $item;
        } else if ($last < $item - 1) {
            $output[] = $first == $last ? $first : $first . '-' . $last;
            $first = …
Run Code Online (Sandbox Code Playgroud)

php arrays reverse numbers range

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

对于接受来自多个站点的登录(例如facebook connect,google,flickr等)的站点,架构的良好做法是什么?

我在http://dba.stackexchange.com上提出了这个问题,但它已经关闭了,我在这里应该问一下,因为它与设计而不是管理有关.

我正在构建一个站点("站点"),我正在考虑如何为它设计数据库架构.

我有一些会影响结果的场景:

  • 用户可以选择在网站上注册本机帐户,这将使他在将来使用该帐户登录其网站帐户.
  • 用户可以选择通过其他网站(登录"外部网站")(如Facebook连接,谷歌,四方,等..),这将使他使用的登录其帐户上的网站在未来.
  • 无论他选择哪种登录方式(本机帐户或外部网站帐户)并不重要,用户将能够在网站上使用外部网站(例如facebook,twitter,Instagram等)进行身份验证,以便使用他在外部网站上的数据(例如来自Twitter的推文,来自flickr的照片等),在网站上.

我该如何设计数据库的架构?

对于前两种情况,我认为有一个名为表Users有一个idtype领域.类型参考不同的表,例如FacebookUsersGoogleUsers,每个具有user_id场-其具有外国相对于Users.id场-和其他领域,如first_name,profile_picture等.

但这种方法不支持第三种情况.所以我想到了以下内容:为每个外部站点设置
一个名为table Users和table 的基表,我希望允许用户连接到我的站点(即站点). 该表将包含有关用户的基本信息(例如- 所有可选),其中包含一个名称将保存值的列,或者这些值的序列化数组. 的外部站点小号表(例如)将持有的相关数据为外部站点与用户相关的,并以一个参考表" 字段.
Usersfirst name, last name, username, password, emailaccountsnative|facebook|twitter
FlickrUsersUsersuser_id

当用户将其帐户与外部站点(例如flickr,instagram)连接时,我使用该 …

mysql schema database-design database-schema

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

如何配置Bisna与Doctrine 2.1和Zend Framework 1.11.9一起使用?[编辑 - 我的错误]

根据http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/中的说明,我有之前版本的Bisna(7月22日之前),Doctrine 2.0运行良好.

昨天我决定升级到Doctrine 2.1,并且不得不升级Bisna,因为它与Doctrine 2.1不兼容.
所以我从我的目录中删除了整个Doctrine和Bisna目录,引入了每个目录的新版本,将自动加载init方法添加到引导程序,并使用相关更改更新了我的application.ini文件.

但是,当我尝试访问应用程序(在Doctrine 2.0和之前版本的Bisna之前工作正常)时,我得到以下异常:

Notice: Undefined index: annotationRegistry in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php on line 569
Run Code Online (Sandbox Code Playgroud)

高级信息:
该行(#569)是:

$this->startAnnotationRegistry($config['annotationRegistry']);
Run Code Online (Sandbox Code Playgroud)

当我打印内容时$config,我得到以下内容:

array
  0 => 
    array
      'annotationRegistry' => 
    array
      'annotationFiles' => 
        array
          0 => string '/home/doron/workspace/myapp/application/../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php' (length=103)
      'adapterClass' => string 'Doctrine\ORM\Mapping\Driver\AnnotationDriver' (length=44)
      'mappingNamespace' => string 'MyApp\Entity' (length=13)
      'mappingDirs' => 
    array
      0 => string '/home/doron/workspace/myapp/application/../library/MyApp/Entity' (length=65)
      'annotationReaderClass' => string 'Doctrine\Common\Annotations\AnnotationReader' (length=44)
      'annotationReaderCache' => string 'default' (length=7)
Run Code Online (Sandbox Code Playgroud)

所以我可以看到该annotationRegistry属性位于一个数组中,代码期望它不在数组中.

但这不是结束,因为我也得到以下异常(低于前一个异常):

Notice: Undefined index: drivers in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php …
Run Code Online (Sandbox Code Playgroud)

zend-framework doctrine-orm

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

如何在doctrine 2.1中发布持久化/更新操作,包括重新保存到数据库?

使用doctrine 2.1(以及zend框架1.11,而不是它对这个问题很重要),如何发布持久化和发布更新操作,包括重新保存到数据库?

例如,根据刚生成的主键'id创建唯一令牌,或为上传的图像生成缩略图(实际上不需要重新保存到数据库,但仍然)?


编辑 - 让我们解释一下,好吗?

以上实际上是关于两种情况的问题.两种情况都与以下状态有关:

假设我有一个User实体.当对象在被标记为持久化后被刷新时,它将具有正常的自动生成的mysql id - 意味着正常运行的数字通常从1,2,3等开始.
每个用户都可以上传图像 -他将能够在应用程序中使用 - 它也将在数据库中有记录.所以我有另一个实体叫做Image.每个Image实体还具有自动生成的ID - 与用户ID相同的方法.

现在 - 这是场景:

  1. 当用户上传图像时,我想在将图像保存到数据库后立即生成该图像的缩略图.这应该发生在每个新的或更新的图像上.
    由于我们试图保持智能,我不希望代码生成缩略图,如下所示:

    $ image = new Image();
    ...
    $ entityManager-> persist($ image);
    $ entityManager->冲洗();
    callToFunctionThatGeneratesThumbnailOnImage($图像);

    但是我希望它在对象的持久化上自动发生(好吧,持久化对象的刷新),就像prePersist或者preUpdate方法一样.

  2. 由于用户上传了图像,因此他获得了一个图像链接.它可能看起来像:http://www.mysite.com/showImage?id=[IMAGEID].
    这允许任何人只需更改此链接中的imageid,并查看其他用户的图像.
    所以为了防止这样的事情,我想为每个图像生成一个唯一的标记.因为它实际上并不需要复杂,我想到了使用图像id的md5值和一些盐.
    但为此,我需要拥有该图像的ID - 我只有在刷新持久化对象后才会生成 - 然后生成md5,然后再将其保存到数据库中.

了解图像的链接应该是可公开访问的,因此我不能只允许经过身份验证的用户通过某种权限规则查看它们.

object-persistence doctrine-orm

6
推荐指数
2
解决办法
4983
查看次数

如果发生另一个scm触发的构建,我如何让Jenkins取消scm触发的构建?

我有一个项目需要大约15分钟来运行它在jenkins中的构建(phpunit是构建中最长的元素).

我已经配置了scm触发的构建(基于svn),因此每次提交时,都会触发构建(使用提交后脚本).

但是,如果在jenkins仍在构建项目时发生提交,则在上一次构建完成之前它将处于挂起状态.
由于旧的构建在提交新提交后不相关,如果新构建等待同一项目,如何使jenkins取消当前构建?

svn version-control jenkins

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

使用Doctrine的MongoDB ODM - 如何通过嵌入文档的字段查找文档?

我有以下文件:

  • 一份User文件.
  • 嵌入式文档,包含对(参见下一文档)的引用
  • 一份Site文件

每个用户都有嵌入文档的内部数组,每个代表他遵循着一个项目-一个网站,一个Twitter帐户-与选项标记特定类别的他感兴趣的每一嵌入文档具有第三文件的引用-该Site文件(或Twitter文件等.).

问题是-使用MongoDB的ODM,我怎么能得到所有选择跟随某个网站上的用户的文件,使用该网站的ID?
(见下文(在文件之后)如何在mongodb shell中完成)

user.php的

<?php
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/**
 * @ODM\Document
 */

class User {
    /**
     * @ODM\Id
     * @var string
     */
    protected $id;

    /**
     * @ODM\EmbedMany(
     *      discriminatorMap={
     *          "site"="SiteFollow",
     *          "twitter"="TwitterFollow",
     *      }
     *  )
     * @var ArrayCollection;
     */
    protected $follows;
}
Run Code Online (Sandbox Code Playgroud)

SiteFollow.php

<?php
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/**
 * @ODM\EmbeddedDocument
 */

class SiteFollow {
    /**
     * @ODM\Collection
     * @var array
     */
    protected $interestingCategories; …
Run Code Online (Sandbox Code Playgroud)

php doctrine mongodb doctrine-orm doctrine-odm

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

如何在 mongoid 中定义部分索引?

MongoDB 3.2 引入了部分索引 - 您可以将过滤器定义为将应用索引的索引的一部分。在 ruby​​ 的 mongoid 中,我可以定义一个唯一索引或普通索引。

由于部分索引包含索引应该起作用的过滤器表达式 - 如何在模型上定义它?

ruby mongodb mongoid

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

如何通过ssh隧道使用kubectl通过kubernetes API访问内部ELB?

我想使用完全使用私有拓扑的KOPS创建一个kubernetes集群(所有主节点/工作节点都在私有子网中,API ELB是内部的)。

创建集群后,如何配置kubectl通过堡垒服务器使用ssh隧道?

ssh-tunnel kubernetes kubectl kops

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