小编max*_*son的帖子

组织MySQL数据库

我正在开发一个应用程序,需要我创建我的第一个大型MySQL数据库.我目前正在艰难地围绕组织它的最佳方式.任何人都可以推荐任何阅读材料,以显示不同的方式组织MySQL数据库用于不同的目的吗?

我不想尝试深入了解我想象数据库的主要组件的细节,因为我不能确信我能够清楚地表达它,以便在这一点上有所帮助.这就是为什么我只是在寻找MySQL数据库组织的一些常规资源.

mysql database organization

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

为什么这个更改为Array原型在我的jQuery插件中不起作用?

我已将以下方法添加到Array原型中:

Array.prototype.foreach = function(func){
    for(var i = 0; i < this.length; i++){
        if(!func(this[i]) === false) break; //return false from func in order to break the loop
    }
    return this;
}
Run Code Online (Sandbox Code Playgroud)

在同一个文件中,上面的代码之后,我有以下jQuery插件:

jQuery.fn.addClassForEvents = function(){

    var that = this;

    arguments.foreach(function(event){
        that.bind(event[0], function(){
            that.addClass(event[0]);
        })
        .bind(event[1], function(){
            that.removeClass(event[0]);
        });
    });

    return this;
}
Run Code Online (Sandbox Code Playgroud)

为了使用这个jQuery插件,我的代码看起来像:

$('div').addClassForEvents(['mouseenter', 'mouseleave']);
Run Code Online (Sandbox Code Playgroud)

但是,浏览器在jQuery插件的"arguments.foreach(...."行中抛出一个错误,简单地说明了

对象#没有方法'foreach'

然而,该foreach方法适用于我的代码的其他地方.为什么在这个jQuery插件中未定义?

javascript arrays jquery prototype jquery-plugins

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

序列化包含对Core Data中NSManagedObjects的引用的多维数组

我有两个实体,ChainStep.Chain有一个属性steps,可以是多维Step实体数组,例如:

[
  step,
  step,
  step,
  [
    step,
    step
  ],
  step
]
Run Code Online (Sandbox Code Playgroud)

每个Step对象都有content一个字符串属性.

如果我使用关系数据库,我只是将该数组存储为JSON,每个step都是step_id特定步骤.

我如何在Core Data中实现类似的功能?我认为我需要让这个Step类符合NSCoding协议,但那会是什么样子?我怎样才能使它只id在Chain.steps的最终值中存储它的等价物,即对它自己的引用?

编辑

下面的评论表明我nextStepStep其他人之间包含了一对多关系(让我们称之为)Steps.然后我会使用这种关系从a中的一步到下一步Chain,因此Chain实体只需要包含Step序列中的第一步.这个问题是a Step可能属于多个Chain,因此它可能并不总是具有相同的nextStep值.

iphone core-data objective-c nscoding ios

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

应该尽可能避免反转NSMutableArray吗?

假设我有1到450的NSNumbers.我可以选择将它们添加到NSMutableArray,从1开始到450结束,或从450开始到1结束.如果我可以从1开始并结束,我的代码会更简单一点有450,但是当我终于要在阵列上进行枚举的时候,我最终需要逆转它.换句话说,我需要枚举中的第一个对象为450,最后一个对象为1.

因为我的代码会更简单,如果我这样做(从1开始添加,然后在枚举之前反转),这是我的首选方法.但是,Apple文档- (NSEnumerator *)reverseObjectEnumerator说:

使用快速枚举协议更有效(请参阅NSFastEnumeration).Mac OS X v10.5及更高版本以及iOS 2.0及更高版本提供快速枚举.

那么我应该避免数组反转并简单地编写稍微复杂的代码,以便首先以所需的顺序创建NSMutableArray吗?

cocoa-touch enumeration objective-c nsmutablearray

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

为什么-moz-animation不工作?

以下CSS在Webkit中工作正常.没有在Opera中检查它,但我知道它在Firefox中不起作用.谁能告诉我为什么?

正确的类肯定会应用到我的HTML(用Firebug检查它,我确实看到了-moz-animation: 500ms ease 0s normal forwards 1 arrowRotateDot属性.arrow).

这在IE9中也不起作用,虽然我最初有-ms-animation:...-ms-transform:....我认为它应该在IE9中工作,但是当它没有时,我只是假设IE不支持这些.但是,现在它不能在Firefox中运行,也许还有其他事情正在发生.

.page.updatesPodcasts > .mainContent > .content .contentUpdates .disc.dot .dvd .arrow {
  -webkit-animation: arrowRotateDot 500ms forwards;
  -moz-animation: arrowRotateDot 500ms forwards;
  -o-animation: arrowRotateDot 500ms forwards;
  animation: arrowRotateDot 500ms forwards;
}
.page.updatesPodcasts > .mainContent > .content .contentUpdates .disc.f2 .dvd .arrow {
  -webkit-animation: arrowRotateF2 500ms forwards;
  -moz-animation: arrowRotateF2 500ms forwards;
  -o-animation: arrowRotateF2 500ms forwards;
  animation: arrowRotateF2 500ms forwards;
}

@-webkit-keyframes arrowRotateDot {
  100%  {
      left:-18px; top:182px;
      -moz-transform: …
Run Code Online (Sandbox Code Playgroud)

css css3 css-transforms css-animations

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

最好允许对象类型为'id'或为方法提供两种不同类型的参数?

想象一下,一个方法是将一个对象添加到某个NSMutableArray或NSMutableDictionary.是否更好(以及为什么)只允许一个带有类型的参数id,或者允许两个 - 一个用于数组,一个用于字典?

例如:

- (void)addObjectToArray:(NSMutableArray *)anArray
            orDictionary:(NSMutableDictionary *)aDictionary;
Run Code Online (Sandbox Code Playgroud)

- (void)addObjectToArrayOrDictionary:(id);
Run Code Online (Sandbox Code Playgroud)

如果使用第一个选项,我只是将nil参数作为参数传递给我不需要的任何一个(即如果添加到字典中,我将nil作为数组参数传递).

iphone cocoa-touch objective-c ipad ios

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

对于我的特定情况,将数据从PHP传递到JavaScript的最佳方法

我在Drupal建立了一个在线社区,其主页有点像Facebook墙.您会看到最近的25篇帖子,其中最近的两篇评论低于这些帖子.这些评论下面还有一个textarea,以便您可以快速发布特定帖子的新评论.

这些Facebook风格的帖子通过JavaScript内置了很多功能.单击帖子正下方的"查看所有评论"链接会进行AJAX调用,该调用会抓取该帖子的所有评论并在其下方显示.您还可以将帖子标记为有用,作为问题的解决方案,内联编辑注释等.所有这些操作都需要AJAX请求,这意味着发出请求的JavaScript需要知道基本信息,例如节点ID(唯一的)帖子的标识符),评论ID(评论的唯一标识符)等.

我最初的实现是将这些基本数据分散在各个帖子中,这使得编写需要查找它的JS变得更加复杂.所以我的第二个实现只是将所有这些数据输出到每个帖子的主包装元素中的JSON兼容字符串中.虽然这使JS更容易找到所需的数据,但将JSON写为字符串是一种痛苦(转义引号,没有换行符).

所以现在我有第三个想法,我正在寻求实施之前的反馈.我们的想法是为所有这些帖子创建一个单独的全局JS数组,其中包含保存每个帖子数据的对象.该数组中的每个元素都将保存AJAX调用所需的必要数据.所以它看起来像这样:

Facebook风格的帖子模板

<div class="post" data-postindex="<?php echo $post->index; ?>">
    <!-- lots of other HTML for the post -->
</div>
<script type="text/javascript">
    globalPostArray.push({
        nid: <?php echo $post->nid; ?>,
        authorID: <?php $post->authorID; ?>,
        //etc. etc. etc.
    });
</script>
Run Code Online (Sandbox Code Playgroud)

上面代码的结果是,当点击一个需要AJAX请求的链接时,JS只会从该链接向上遍历DOM,直到找到主要.post元素.然后它将获取值,data-postindex以便知道哪个元素globalPostArray保存它所需的数据.

思考?我觉得必须有一些标准的,可接受的方式来完成这样的事情.

javascript php ajax

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

将MySQL查询转换为对象的最佳方法

我有一个用户表,其中包含我要在登录用户的mysql查询中访问的一堆列.最终,我希望这些列中的值形成一个User对象.是否有标准函数来执行此操作,或者我是否基本上需要将查询的每个值传递给新的User语句,以便将它们传递给User类的构造函数?

php mysql constructor object

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

这是为我的目的制作封闭的正确方法吗?

我越来越慢地理解闭包,以下代码可以正常工作.我想知道是否有更简单/更好的方法来完成我在这里尝试做的事情.

在下面的代码中,this简单地引用一个对象,该对象具有sections一个数组属性.我遍历这个数组,并绑定到每个el属性的每个属性(一个DOM元素)的悬停事件section.我公司供应的回调hover()方法就是关闭进来.主要this对象有两个方法.sectionMouseenter(),并.sectionMouseleave()根据事件类型(由代表不管是被调用e.type在我的代码)是mouseentermouseleave.作为参数,当前部分将传递给这些方法.当然,for循环的迭代在JavaScript中没有变量范围,因此需要闭包来封装section变量的引用.

    for (var i = this.sections.length - 1; i >= 0; i--) {
        var section = that.sections[i];
        section.el.hover(
            (function(section){
                return function(e){
                    that['section' + e.type.capitalize()](section);
                }
            })(section)
        );
    };
Run Code Online (Sandbox Code Playgroud)

这是编写此闭包的"正确"方法,还是有更好的方法?

javascript jquery closures

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

实现 NSBrowserDelegate 协议的问题

我能够让我的 NSBrowser 实例在第一列中显示正确的数据。但是,当我选择其中一个选项时,下一列只会显示相同的一组选项。我已经阅读了文档,查看了 Apple 的所有相关示例代码,以及我在互联网上可以找到的几乎所有内容,但我根本无法找出实现所需方法的正确方法。我提供给浏览器的数据是一个字典数组。每个字典又包含一个“子”键,它是另一个字典数组。这些字典有自己的“子”键,它们也是字典数组等。使用 JSON 进行描述(对象是字典,数组是数组),它看起来像这样:

data = [
    {
        name: 'David',
        children:[
            {
                name: 'Sarah',
                children: {...}
            },
            {
                name: 'Kevin',
                children: {...}
            }
        ]
    },
    {
        name: 'Mary',
        children:[
            {
                name: 'Greg',
                children: {...}
            },
            {
                name: 'Jane',
                children: {...}
            }
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

所以第一列应该显示“大卫”和“玛丽”。如果选择了“David”,下一列应显示“Sarah”和“Kevin”,依此类推。

我当前的实现依赖于我创建的自定义方法,该方法应该将浏览器的索引路径从提供的数据转换为相应的 NSArray 级别。这个方法看起来像:

- (NSArray *)getSelectionInBrowser:(NSBrowser *)browser
{
    NSArray *selection = browserData;
    NSIndexPath *path = [browser selectionIndexPath];
    for (NSUInteger i = 0; i < path.length; i++) {
        selection = [[selection objectAtIndex:i] objectForKey:@"children"]; …
Run Code Online (Sandbox Code Playgroud)

macos cocoa nsbrowser

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