小编Osc*_*ros的帖子

使用JNI将字符串数组从java传递给C.

我有一个字符串数组一样{"myname","yourname","hisname"},我想这个数组发送到ç使用JNI.我找不到任何明确的解决方案.我试图把这个字符串作为一个chararray但没有成功.

有没有办法做到这一点?

c java java-native-interface

30
推荐指数
2
解决办法
4万
查看次数

在Python中跳过迭代变量的N值的最佳方法是什么?

在许多语言中,我们可以做类似的事情:

for (int i = 0; i < value; i++)
{
    if (condition)
    {
        i += 10;
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中做同样的事情?以下(当然)不起作用:

for i in xrange(value):
    if condition:
        i += 10
Run Code Online (Sandbox Code Playgroud)

我可以这样做:

i = 0
while i < value:
  if condition:
    i += 10
  i += 1
Run Code Online (Sandbox Code Playgroud)

但我想知道在Python中是否有更优雅(pythonic?)的方式.

python iterator

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

在版本控制时将Git与.NET结合的最佳方法

我正在研究一个项目(只有我),我已经知道如何处理它的版本控制.我正在使用经典<major>.<minor>.<build or patch>.

我遇到的问题是我希望在我的一些提交中标记指向相应的版本,但我不想手动执行.

现在我正在做:

  • 如果我要发布v0.2.13,我改变AssemblyInfo.cs并设置该版本
  • 在Git上提交更改
  • v0.2.13在Git上添加标签(手动)
  • 建立项目
  • 创建一个.zip文件(不是所有时间)并命名为ProjectName v0.2.13

我做错了吗?

我可以轻松地创建一个脚本来自动完成最后一步,但我想知道是否有一个关于自动化其他部分的良好实践?

.net versioning git

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

使用正则表达式表示标识符

用C语言识别标识符的常规定义由下式给出

letter -> a|b|...z|A|B|...|Z|_
digit -> 0|1|...|9
identifier -> letter(letter|digit)*
Run Code Online (Sandbox Code Playgroud)

该定义将生成表单的标识符

标识: [_a-zA-Z][_a-zA-Z0-9]*

我现在的问题是如何将生成的标识符的长度限制为不超过31个字符.需要在常规定义中进行哪些更改,或者如何编写正则表达式以将其限制为不超过指定的长度.有谁可以帮忙.谢谢.

regex computer-science regular-language

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

WPF在WinForms应用程序中使用,在哪里放置应用程序资源?

目前,我们在WinForms应用程序中托管了许多WPF控件.应用程序使用方法和使用该方法托管的WPF控件启动.System.Windows.Forms.Application.Run(...)ElementHost

在普通的WPF应用程序中,我定义了一个System.Windows.Applicationobject(App.xaml)并在其上调用run.通常,任何应用程序级别的WPF资源都会进入那里.我们没有这个.

如何为WPF控件指定应用程序级资源,但仍作为WinForms应用程序运行?

c# wpf resources winforms

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

在实体框架中,添加和附加有什么区别,我该如何解决我的问题?

我最近开始使用实体框架,检查我是否真的需要向数据库添加新记录是一件很痛苦的事情.

如果我需要添加到数据库的实体已经在它上面,我会知道,因为我在插入之前进行查询,如果存在,那么我保留该实例,因为我需要在某些关系中使用它.

我们假设我的实体名称是Book.

当一个实体不在数据库中时,问题出现了,我这样做:

Book b = //...
modelContainer.AddToBooks(b);
Run Code Online (Sandbox Code Playgroud)

我很容易做到:

modelContainer.SaveChanges()
Run Code Online (Sandbox Code Playgroud)

每次我添加一个新实体(无论它是什么实体),这都可以正常工作,因为我一次插入一种条目,并检查它是否已经在数据库中,我不会有重复问题.

但是,如果我想避免SaveChanges()经常打电话怎么办?

在这个问题中:是否可以检查对象是否已附加到实体框架中的数据上下文?,问题的作者提供了一种方法,在我的情况下可以帮助我,但如果我Add是上下文的对象而不是Attaching它,它就不起作用.

我的问题(可能是两个,但非常相关)是:添加和附加有什么区别,我该如何解决我的问题?

编辑:
这是我遇到的问题的一个例子.

我有一个Result与另外两个实体有关系的实体:TrainerHorse.

我从外部源获取数据,因此我必须手动创建所有实体.

每次我需要插入一个新的Trainer,我做:

var trainer = Trainer.CreateTrainer(Id)
Run Code Online (Sandbox Code Playgroud)

然后我查询数据库以查看具有该数据库的培训师Id是否已经在数据库中.如果是,那么我将trainer变量替换为数据库中的变量.

如果不是,我可以在这做两件事:

  • 将培训师附加到上下文(我可以使用密钥检查它是否已存在)
  • 将培训师添加到上下文中(使用AddToTrainers(...))

同样的过程Horse.

现在,当我需要创建一个新的Result(包含a Trainer和a Horse)时,我将前一个培训师和马分配给该结果实例.

我该怎么做才能添加新的上下文Result

  • 如果我附上训练师/马,那么当我附上结果时,我会InvalidOperationException告诉我,训练师已经在对象背景下.
  • 如果我添加培训师而不是附加它,我会收到另一个错误(现在不能记住它,但它告诉我培训师已经在数据库中了).

重要提示:
附加结果时会出现第一个错误,执行时会出现第二个错误SaveChanges().

我想在这里避免的是SaveChanges()每次添加新结果时调用.

c# entity-framework

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

SLR(1)Parser和epsilon参与其中

我们假设我有以下语法:

S ? X  
X ? a | ?
Run Code Online (Sandbox Code Playgroud)

如果那个语法没有?涉及,我会构建第一个状态,如:

S' ? .S
S ? .X
X ? .a
Run Code Online (Sandbox Code Playgroud)

但这个?符号怎么样?我应该包括:

X ? .?
Run Code Online (Sandbox Code Playgroud)

太?

如果是这样......当创建下一个州......我应该这样做GOTO(Io,?),是否是第一个州?

theory grammar parsing compiler-theory language-theory

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

Encoding.Default如何在.NET中运行?

我正在使用以下方式读取文件:

var source = File.ReadAllText(path);
Run Code Online (Sandbox Code Playgroud)

并且角色©没有正确加载.

然后,我将其更改为:

var source = File.ReadAllText(path, Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)

没别的了.

我决定尝试使用

var source = File.ReadAllText(path, Encoding.Default);
Run Code Online (Sandbox Code Playgroud)

它工作得很好.然后我调试它,并试图找到哪个编码做了伎俩,我发现它是UTF-7.

我想知道的是:

是否建议使用Encoding.Default,是否可以保证文件的所有字符都可以正常读取?

c# io file-io encoding file

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

Python中的惰性映射函数

有没有办法做map懒惰?或者是否内置了Python的另一个实现?

我想要这样的东西工作:

from itertools import count

for x in map(lambda x: x**2, count()):
    print x
Run Code Online (Sandbox Code Playgroud)

当然,上面的代码不会结束,但我想在其中输入任何条件(或更复杂的逻辑)for并在某些时候停止.

python iterator map lazy-evaluation

13
推荐指数
1
解决办法
8218
查看次数

什么是CSRF保护?

我很久以前就听说过CSRF,而我大部分时间都听到的是:

防止CSRF攻击很重要,因为有人不会自动提交表单(使用机器人或其他东西)

嗯,这不是100%的真实,是吗?

我已经做了大约3年的网络抓取,并且提出请求,解析csrftokenmiddleware字段并将其与其他字段一起发布是非常简单的.

那么,它究竟是什么呢?

security django csrf django-csrf

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