问题列表 - 第24622页

如何正确地形式化GNU/Linux命令的命令行用法?

我想写一个类似BNF的正式语法来描述一些GNU/Linux工具的命令行用法.例如,我可以将cat命令的用法描述为:

(cat-command) : 'cat' (arguments-list)
(arguments-list) : (argument)
(arguments-list) : (arguments-list) (argument)
(argument) : (file)
Run Code Online (Sandbox Code Playgroud)

问题是我无法为某些命令写下精确的语法,例如md5sum.我的第一次尝试是:

(md5sum-command) : 'md5sum' (arguments-list)
(arguments-list) : (argument)
(arguments-list) : (arguments-list) (argument)
(argument) : (file)
(argument) : '--check'
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,这个语法允许您--check根据需要多次指定参数,这是不正确的,因为您最多应该使用它一次.

我该如何解决这个问题?另外,为了更好地处理这类问题,我应该研究什么样的正式语法?

grammar bnf

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

Sproutcore:添加自定义样式表或脚本

我似乎无法找到一个很好的教程.这很简单:我想将样式表/ js文件链接到我的应用程序的HEAD部分.

我找到了index.html文件的位置(在tmp/build/static/my_project/en/current中),我可以对它进行更改,但我认为这是错误的方法.

javascript sproutcore

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

如何使用map/reduce处理超过10000个唯一键以便在MongoDB中进行分组?

我正在使用MongoDB v1.4和mongodb-csharp驱动程序,我尝试对具有10000个以上密钥的数据存储进行分组,因此我收到此错误:

assertion: group() can't handle more than 10000 unique keys

使用像这样的c#代码:

Document query = new Document().Append("group",
new Document()
.Append("key", new Document().Append("myfieldname", true).Append("length", true))
.Append("$reduce",
      new CodeWScope(
          "function(obj,prev) { prev.count++; }"))
.Append("initial", new Document().Append("count", 0))
.Append("ns", "myitems"));
Run Code Online (Sandbox Code Playgroud)

我读到我应该使用map/reduce,但我无法弄清楚如何.有人可以说明如何使用map/reduce吗?
或者还有其他方法可以解决这个限制吗?
谢谢.

编辑:我忘记了我的密钥集中有2列,添加了.

mongodb

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

我遇到了异常!怎么办?

我已经开始使用try catch块了(有点晚了,我知道!),但是现在我不知道一旦我抓住它就该如何处理异常.我该怎么办?

Try
    connection.Open()
    Dim sqlCmd As New SqlCommand("do some SQL", connection)
    Dim sqlDa As New SqlDataAdapter(sqlCmd)
    sqlDa.Fill(dt)
Catch ex As SQLException
    ' Ahhhh, what to do now!!!?
Finally
    connection.Close()
End Try
Run Code Online (Sandbox Code Playgroud)

sql vb.net exception

69
推荐指数
6
解决办法
6816
查看次数

是否有更安全的.Net SQLConnection类替代品?

我很惊讶这个问题没有得到深入讨论:

本文告诉我们如何使用windbg在内存中转储正在运行的.Net进程字符串.

我花了很多时间研究SecureString类,它使用非托管固定内存块,并保持数据加密.好东西.

当您使用其值并将其分配给SQLConnection.ConnectionString属性(属于System.String类型)时,会出现此问题.这是什么意思?好...

  • 它以纯文本格式存储
  • 垃圾收集将其移动,将副本留在内存中
  • 它可以通过windbg内存转储读取

这完全否定了SecureString功能!

最重要的是,SQLConnection类是无法使用的,我甚至无法使用SecureString属性自行滚动; 耶和闭源.好极了.

新的DAL层正在进行中,但是对于新的主要版本以及对于这么多用户而言,每个用户升级之前至少需要2年,其他人可能会无限期地保留旧版本.

由于使用连接的频率,从SecureString编组将无济于事,因为不可变的旧副本会粘在内存中,直到GC出现.集成的Windows安全性不是一种选择,因为一些客户端不在域上工作,而其他客户端通过网络漫游和连接.

如何在内存中保护连接字符串,以便使用windbg无法查看?

.net sql memory security windbg

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

Textarea maxlength检查

Textarea验证,

如何限制a中的字符textarea不超过50个字符.

<textarea rows="5" cols="15"></textarea>
Run Code Online (Sandbox Code Playgroud)

谢谢.....

html javascript jquery

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

Java中的函数对象

我想在java中实现类似javascript的方法,这可能吗?

说,我有一个Person类:

public class Person {
 private String name ;
 private int age ;
 // constructor ,accessors are omitted
}
Run Code Online (Sandbox Code Playgroud)

以及包含Person对象的列表:

Person p1 = new Person("Jenny",20);
Person p2 = new Person("Kate",22);
List<Person> pList = Arrays.asList(new Person[] {p1,p2});
Run Code Online (Sandbox Code Playgroud)

我想实现这样的方法:

modList(pList,new Operation (Person p) {
  incrementAge(Person p) { p.setAge(p.getAge() + 1)};
});
Run Code Online (Sandbox Code Playgroud)

modList接收两个参数,一个是列表,另一个是"函数对象",它循环列表,并将此函数应用于列表中的每个元素.在函数式编程语言中,这很容易,我不知道java是怎么做到的?也许可以通过动态代理完成,与原生for循环相比,它是否有性能折衷?

java

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

为什么要在内部使用MyObject [],但是公开List <MyObject>?

我遇到了一个具有不可变属性的类:

MyObject[] allObjs
Run Code Online (Sandbox Code Playgroud)

该属性初始化如下:

List<MyObject> objs = createAllMyObjects();
allObjs = objs.toArray(new MyObject[objs.size()]);
Run Code Online (Sandbox Code Playgroud)

当它通过访问器公开时,它作为List完成:

public List<MyObject> getAllMyObjects() {
    return Collections.unmodifiableList(Arrays.asList(allObjs));
}
Run Code Online (Sandbox Code Playgroud)

为什么程序员会这样做?有什么好处我不知道吗?

性能不是问题,因为objs数组只会在几十个元素中出现.

我们似乎正在四处转圈.

这个类是一种工厂,因此它有一个私有构造函数并且只暴露静态方法(不确定这是否是疯狂的原因).

编辑

我想我的问题是,"为什么不使用内部List<MyObject> allObjs而不是MyObject[] allObjs,并返回Collections.unmodifiableList(allObjs)?" 因为这会完成同样的事情.

java arrays collections

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

MySQL中的索引大小

我刚开始研究MySQL数据库的优化问题.从我正在阅读的内容来看,索引似乎是一个好主意 - 所以我想在我的一个VARCHAR列上使用MyISAM引擎创建一个索引.

从我正在阅读的内容来看,我理解索引的大小限制为1,000字节.但是,VARCHAR字符大小为3个字节.这是否意味着如果我想索引一个VARCHAR包含50行的列,我需要一个6个字符的索引前缀?(每个字符1,000个字节/ 50行/ 3个字节= 6.66)

如果是这样,那似乎有点复杂 - 这就是为什么我质疑我的理解.看起来很奇怪,您只能VARCHAR使用1个字符的前缀索引列中的333行.

我错过了什么吗?

mysql indexing

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

如何从字符串中提取子字符串,直到遇到第二个空格?

我有一个像这样的字符串:

"o1 1232.5467 1232.5467 1232.5467 1232.5467 1232.5467 1232.5467"

我该如何提取"o1 1232.5467"

要提取的字符数总是不一样.因此,我想只提取直到遇到第二个空格.

.net c# string string-parsing

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