问题列表 - 第32276页

Rails 中的模型是隐式的,这是一件烦人的事情吗?

考虑 Rails 中的模型:

class Organization < ActiveRecord::Base  
    belongs_to :OrgType  
end    
Run Code Online (Sandbox Code Playgroud)

Rails 中的模型不包含创建实体的字段,您是否对此感到困扰?我知道这样做是为了 DRY,但是每次您想要检查模型的字段时都必须检查数据库表架构。

ruby ruby-on-rails

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

Java Singleton设计模式:问题

我最近接受了一次采访,他向我询问了关于它们如何实现的Singleton Design Patterns,并告诉他使用静态变量和静态方法我们可以实现Singleton Design Patterns.

他似乎对答案感到满意,但我想知道

  1. 我们可以用多少种方法在Java中实现Singleton Design Pattern?
  2. Singleton Object的范围是什么,它在JVM中的实际工作方式是什么?我知道我们总是有一个Singleton Object的实例,但是该对象的实际范围是什么,是在JVM中还是运行多个应用程序而不是它的范围是在JVM中的每个上下文基础上,我真的很难过无法给出令人满意的解释?
  3. 最后他问是否可以使用带有Clusters的Singleton Object和解释,当我们调用Bean Factory来获取对象时,有没有办法让Spring不实现Singleton Design Pattern?

关于Singleton的任何意见都会受到高度赞赏,在处理Singletons时要记住哪些主要内容?

谢谢.

java singleton spring design-patterns

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

正则表达式找到不在"(和)"内的逗号

我需要一些帮助来模拟这个正则表达式.我认为用一个例子会更容易.我需要一个与逗号匹配的正则表达式,但前提是它不在此结构中:"( )"如下所示:

,a,b,c,d,"("x","y",z)",e,f,g,
Run Code Online (Sandbox Code Playgroud)

然后前五个和后四个逗号应匹配表达式,两个之间xyz和内部的逗号不应该匹配( ).

我尝试了很多组合,但正则表达式对我来说仍然有点模糊.

我希望它与Java中的split方法一起使用.这个例子很简短,但它可以更长,并且在"(和)"之间有不止一个部分.split方法接收一个表达式,如果某些文本(在本例中为逗号)与表达式匹配,则它将成为分隔符.

所以,想要做这样的事情:

String keys[] = row.split(expr);
System.out.println(keys[0]); // print a
System.out.println(keys[1]); // print b
System.out.println(keys[2]); // print c
System.out.println(keys[3]); // print d
System.out.println(keys[4]); // print "("x","y",z)"
System.out.println(keys[5]); // print e
System.out.println(keys[6]); // print f
System.out.println(keys[7]); // print g
Run Code Online (Sandbox Code Playgroud)

谢谢!

java regex

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

在WPF中构建可逆的StackPanel

我想构建一个StackPanel带有ReverseOrder属性的自定义,我可以声明性地将其设置为true,以使StackPanel中的元素以正常的相反顺序出现(例如从下到上或从右到左).它需要在运行中可逆.

我正在考虑从StackPanel派生一个新类,但我需要知道要覆盖哪些方法.

最终解决方案

protected override System.Windows.Size ArrangeOverride( System.Windows.Size arrangeSize ) {
    double x = 0;
    double y = 0;

    IEnumerable<UIElement> children = ReverseOrder ? InternalChildren.Cast<UIElement>().Reverse<UIElement>() : InternalChildren.Cast<UIElement>();
    foreach ( UIElement child in children ) {
        var size = child.DesiredSize;
        child.Arrange( new Rect( new Point( x, y ), size ) );

        if ( Orientation == Orientation.Horizontal )
            x += size.Width;
        else
            y += size.Height;
    }

    if ( Orientation == Orientation.Horizontal )
        return new Size( x, arrangeSize.Height ); …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf stackpanel

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

.NET Framework FxCop规则CA1401 PInvokesShouldNotBeVisible规则 - 为什么存在此规则?

此规则表明P/Invokes不应公开.我的问题是为什么?调用者可以在自己的程序集中轻松创建自己的声明,以进行完全相同的调用.调用者可以编写一个C库来调用API.通过将这些声明置于内部获得了什么好处,安全性或其他方面?

fxcop

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

PHP exec $ PATH变量缺少元素

当我在命令行上回显$ PATH时,它返回

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/MAMP/Library/bin:/usr/local/git/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)

当我执行这个PHP代码

exec('echo $PATH; whoami; less /etc/paths; 2>&1')
Run Code Online (Sandbox Code Playgroud)

我明白了

string 'echo $PATH; whoami; less /etc/paths; 2>&1' (length=56)
array
  0 => string '/usr/bin:/bin:/usr/sbin:/sbin' (length=29)
  1 => string 'eric' (length=4)
  2 => string '/usr/bin' (length=8)
  3 => string '/bin' (length=4)
  4 => string '/usr/sbin' (length=9)
  5 => string '/sbin' (length=5)
  6 => string '/usr/local/bin' (length=14)
  7 => string '/Applications/MAMP/Library/bin' (length=30)
  8 => string '/usr/bin:/bin:/usr/sbin:/sbin' (length=29)
Run Code Online (Sandbox Code Playgroud)

这是在Mac OS X上.谁能告诉我为什么我的最后两个路径元素丢失了?

php bash path exec environment-variables

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

将文件中的xml节点添加为另一个文档的节点

我加载一个XML文档:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("MyFile.xml");
Run Code Online (Sandbox Code Playgroud)

并创建一个新文档:

XmlDocument xmlDocSettings = new XmlDocument();
XmlNode xmlDecl = xmlDocSettings.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmlDocSettings.AppendChild(xmlDecl);
XmlElement root = xmlDocSettings.CreateElement("", "Test", "");
root.SetAttribute("TestAttribute", "AttributeValue");
xmlDocSettings.AppendChild(root);
Run Code Online (Sandbox Code Playgroud)

现在,我想插入的内容xmlDocxmlDocSettings。我怎样才能做到这一点?

谢谢!

c# xml

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

重载'+'的不可变列表是否有意义?

它当然不会脱离.NET框架的标准实践.当我看到一个时,a + b我总是假设会创造一些新东西.

static void Main(string[] args)
{
    var list = BuildList(ImmutableList<int>.Empty);
    var sum = (list + 500).Sum();
    Console.WriteLine(sum);
    Console.ReadLine();
}

static ImmutableList<int> BuildList(ImmutableList<int> list)
{
    if (list.Count < 1000)
    {
        return BuildList(list + list.Count);
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

更新

请参阅Jon Skeet关于如何在不可变列表上命名方法的帖子.

令人惊讶的回应

我很惊讶地看到这么多答案都认为这是有道理的.原则上我也同意,但是对于我来说,阅读冗长的代码比阅读简洁,代码简洁的人更容易.从我的工作经验来看,他们似乎占多数.

c# operator-overloading immutability

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

maven复制了groupId,artifactId和子模块中的版本

我们正在优化我们的Maven配置(从以前使用过ant),我刚刚阅读了Sonatype 的Maven by Example一书.复制配置在过去让我们陷入困境,所以我绝对想避免这一点中最微小的一点.

上面的书提到在将其他兄弟子模块称为依赖项时,使用来自父模块的内置project.groupId和project.version属性:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>model</artifactId>
  <version>${project.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这很好,我喜欢它.但这不适用于子模块pom.xml的标签:

<parent>
    <groupId>${project.groupId}</groupId>
    <artifactId>${project.artifactId}</artifactId>
    <version>${project.version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>
Run Code Online (Sandbox Code Playgroud)

我想这不是什么大问题,似乎我可以为这些创建属性,但是有很多模块,我真的很想完全理解这些问题的最佳实践.

更新 到目前为止,似乎这样做的最佳方法如下.有点难看,但消除了重复的硬编码值.parent pom.xml:

<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<packaging>pom</packaging>
<version>${version}</version>
<properties>
    <groupId>com.mycompany</groupId>
    <artifactId>mycompany</artifactId>
    <version>1.0</version>
</properties>
Run Code Online (Sandbox Code Playgroud)

child pom.xml:

<parent>
    <groupId>${groupId}</groupId>
    <artifactId>${artifactId}</artifactId>
    <version>${version}</version>
    <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>child</artifactId>
Run Code Online (Sandbox Code Playgroud)

maven-2

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

获取iPhone mainBundle文件

我不知道我需要检索我的iphone应用程序mainBundle中资源的所有文件名的确切代码.如果我可以有某种代码,如:

  NSArray *array = [[NSBundle mainBundle] getAllResourceFilenames];

这会有所帮助.非常感谢任何帮助!

iphone resources file objective-c nsbundle

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