小编svr*_*ist的帖子

只有5个不同值的列的索引 - 值得吗?

我有一个潜在高达5.000.000行的表.此表中的一个列在查询中单独使用,但此列只有5个可能的值,目前我有10.000行,根据解释计划,在该列上使用我的索引是没有意义的.

它是否曾经或者不应该为索引而烦恼

编辑:这是目前的两个解释计划 没有索引http://img706.imageshack.us/img706/1903/noindex.png强制索引通过提示http://img692.imageshack.us/img692/8205 /indexp.png 后一个图像我用一个提示强制使用索引.

oracle indexing

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

vim折叠混淆了语法高亮

我正在使用vim用于LaTeX而我正在使用乳胶套件.它为我提供了很好的语法高亮和折叠,但在大文件中语法高亮显示会"混乱".如果我打开所有折叠,语法高亮显示变为OK.我希望它能"一直工作".

我似乎记得一个选项会增加用作确定语法高亮的基础的行数,但我无法找到它.

vim syntax-highlighting folding

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

Scala Parser Combinators用于递归bnf?

我试图匹配这种语法:

pgm ::= exprs
exprs ::= expr [; exprs]
expr ::= ID | expr . [0-9]+
Run Code Online (Sandbox Code Playgroud)

我的scala packrat解析器组合器看起来像这样:

import scala.util.parsing.combinator.PackratParsers
import scala.util.parsing.combinator.syntactical._

object Dotter extends StandardTokenParsers with PackratParsers {
    lexical.delimiters ++= List(".",";")
    def pgm = repsep(expr,";")
    def expr :Parser[Any]= ident | expr~"."~num
    def num = numericLit

       def parse(input: String) =
    phrase(pgm)(new PackratReader(new lexical.Scanner(input))) match {
      case Success(result, _) => println("Success!"); Some(result)
      case n @ _ => println(n);println("bla"); None
    }  

    def main(args: Array[String]) {
      val prg = "x.1.2.3;" +
            "y.4.1.1;" + …
Run Code Online (Sandbox Code Playgroud)

scala ebnf parser-combinators

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

如何在 XmlDocument 中插入/替换 XML 标签?

我有一个XmlDocumentWeblogic XmlDocument解析器创建的 java 。

我想XMLDocument用我自己的数据替换这个标签的内容,或者如果它不存在就插入标签。

<customdata>
   <tag1 />
   <tag2>mfkdslmlfkm</tag2>
   <location />
   <tag3 />
</customdata>
Run Code Online (Sandbox Code Playgroud)

例如,我想在位置标签中插入一个 URL:

<location>http://something</location>
Run Code Online (Sandbox Code Playgroud)

但否则保留 XML 原样。

目前我使用XMLCursor

    XmlObject xmlobj = XmlObject.Factory.parse(a.getCustomData(), options);
    XmlCursor xmlcur = xmlobj.newCursor();

    while (xmlcur.hasNextToken()) {
      boolean found = false;
      if (xmlcur.isStart() && "schema-location".equals(xmlcur.getName().toString())) {
        xmlcur.setTextValue("http://replaced");
        System.out.println("replaced");
        found = true;
      } else if (xmlcur.isStart() && "customdata".equals(xmlcur.getName().toString())) {
        xmlcur.push();
      } else if (xmlcur.isEnddoc()) {
        if (!found) {
          xmlcur.pop();
          xmlcur.toEndToken();
          xmlcur.insertElementWithText("schema-location", "http://inserted");
          System.out.println("inserted");
        }

      }
      xmlcur.toNextToken();
    } …
Run Code Online (Sandbox Code Playgroud)

java xml xquery

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

查找有关scala运算符的信息

我正在阅读http://debasishg.blogspot.com/2008/04/external-dsls-made-easy-with-scala.html,我试图找到关于"<〜"运算符的信息,例如:

def trans = "(" ~> repsep(trans_spec, ",") <~ ")"
Run Code Online (Sandbox Code Playgroud)

我有一些合理的猜测,它与产品("〜")运算符和列表有关?

  1. 它有什么作用?
  2. 将来,我如何查找这样的运营商?例如谷歌"<〜"并不好.

编辑:

Scala组合器解析器中找到"<〜"信息- 区分数字字符串和变量字符串

问题2仍然存在

scala operators

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

程序运行时Dns设置已更改

我有一个使用WebRequest访问http站点的程序.如果我启动程序执行一些webRequests,然后更改我的机器的Dns设置,该程序将不会更改DNS服务器

喜欢

 WebRequest.Create("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)

....将网络接口的Dns设置更改为无效或捕获门户....

 WebRequest.Create("http://www.google.com"); 
 // Still uses original dns server for dns lookup (or cache)
Run Code Online (Sandbox Code Playgroud)

ipconfig flushdns 没有区别

我可以用任何方式强制WebRequest使用实际的DNS服务器进行dns查找吗?

编辑:似乎重新启动DnsClient缓存的Windows服务就可以了.虽然相当铁杆

c# dns httpwebrequest

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

我如何测试一个工厂的课程?

我正在尝试测试一个带有工厂(Func<T>)的类,我正在使用Moq和AutoFixture.

设置"环境"以查看工厂是否已被使用以及在返回的实例上使用了多少次以及使用了哪些方法的最佳方法是什么?

目前,我Mock'ing的TInjecting一个Func<T>用于跟踪所有返回的模拟实例的数量:

public class SystemUnderTest {
    public SystemUnderTest(Func<IMyClass> c)
    {
        try {
            var c1 = c();
            c1.Name="n1";
            c1.Send();
        }
        catch(Exception){
            var c2 = c();
            c2.Name="n2";
            c2.Send();
        }
    }
}
private Mock<IMyClass> MockFactory()
{
   var m = new Mock<IMyClass>();
   m.SetupProperty(mc=>mc.Name);
   _returnedStubs.Add(m);
   return m;
}  
[Test]
public void TestSomething()
{
    var fixture = new Fixture();
    fixture.Inject(()=>MockFactory().Object)
    var sut = fixture.CreateAnonymous<SystemUnderTest>();
    Assert.That(_returnedStubs.Count,Is.Equal(1));
    _returnedStubs[0].Verify(m=>m.Send(),Times.Exactly(1));
    _returnedStubs[0].Verify(m=>m.Name = "n1");
}
Run Code Online (Sandbox Code Playgroud)

但对我来说,感觉有点不好/丑陋.而且我很确定测试类中的实例变量是危险的

c# moq autofixture

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