问题列表 - 第10222页

如何使这些动态类型的函数类型安全?

是否有任何编程语言(或类型系统),您可以在其中以静态类型和类型安全的方式表达以下Python函数(不必使用强制转换,运行时检查等)?

#1:

# My function - What would its type be? 
def Apply(x):
    return x(x)

# Example usage
print Apply(lambda _: 42)
Run Code Online (Sandbox Code Playgroud)

#2:

white = None
black = None

def White():
    for x in xrange(1, 10):
        print ("White move #%s" % x)
        yield black

def Black():
    for x in xrange(1, 10):
        print ("Black move #%s" % x)
        yield white

white = White()
black = Black()

# What would the type of the iterator objects be?
for it in …
Run Code Online (Sandbox Code Playgroud)

python language-agnostic type-theory

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

IFrame和Frame有什么区别?

查看在我自己的订单表单中嵌入3D Secure页面的选项,我遇到了以下内容:

"有些商业网站会将完整的浏览器页面用于身份验证,而不是使用框架(不一定是iFrame,无论如何都是一个不太安全的对象)."

来自http://en.wikipedia.org/wiki/3-D_Secure

有人可以给我一个关于为什么 iframe安全性较低并导致问题的低调,而不是正常的框架?有什么基本的区别?

我看到它iframe的方式是要走的路.

html iframe frame

87
推荐指数
6
解决办法
12万
查看次数

C#AES-256加密

我正在使用RijndaelManaged来创建一个简单的加密/解密实用程序.这工作正常,但我试图将它与在Unix(Oracle)中创建的另一个程序集成.我的问题是,对于所有较小的输入字符串,我得到与Unix代码生成完全相同的加密十六进制,但对于更长的字符串,我的加密十六进制的一半是相同的,但另一半是不同的:

Unix输出:

012345678901234 - 00984BBED076541E051A239C02D97117 
0123456789012345678 - A0ACE158AD8CF70CEAE8F76AA27F62A30EA409ECE2F7FF84F1A9AF50817FC0C4
Run Code Online (Sandbox Code Playgroud)

Windows输出(我的代码):

012345678901234 - 00984BBED076541E051A239C02D97117 (same as above)
0123456789012345678 - A0ACE158AD8CF70CEAE8F76AA27F62A3D9A1B396A614DA2C1281AA1F48BC3EBB (half exactly same as above)
Run Code Online (Sandbox Code Playgroud)

我的Windows代码是:

public string Encrypt(byte[] PlainTextBytes, byte[] KeyBytes, string InitialVector)
        {
            byte[] InitialVectorBytes = Encoding.ASCII.GetBytes(InitialVector);
            RijndaelManaged SymmetricKey = new RijndaelManaged();
            SymmetricKey.Mode = CipherMode.ECB;
            SymmetricKey.Padding = PaddingMode.PKCS7;
            ICryptoTransform Encryptor = SymmetricKey.CreateEncryptor(KeyBytes, InitialVectorBytes);
            MemoryStream MemStream = new MemoryStream();
            CryptoStream CryptoStream = new CryptoStream(MemStream, Encryptor, CryptoStreamMode.Write);
            CryptoStream.Write(PlainTextBytes, 0, PlainTextBytes.Length);
            CryptoStream.FlushFinalBlock();
            byte[] CipherTextBytes = MemStream.ToArray();
            MemStream.Close();
            CryptoStream.Close();
            return ByteToHexConversion(CipherTextBytes);
        }
Run Code Online (Sandbox Code Playgroud)

Unix(PL/SQL)代码:

FUNCTION …
Run Code Online (Sandbox Code Playgroud)

c# unix encryption rijndaelmanaged

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

Java文件传输API

我需要将文件传输到我的Web服务器进行处理,如果可能的话我想以通用的方式进行处理.

我需要能够至少从以下协议传输文件(最终要遵循更多):

HTTP
FTP
SCP

我真的希望能够将文件发送到SMTP

所以我的问题是,是否有可用的工具包呢?如果是这样,它必须是开源的,因为这是开源项目的一部分.

如果没有已经执行此操作的工具包,那么构建将处理大多数文件传输的接口的最佳方法是什么?

我想过这样的事情:

public interface FileTransfer {
    public void connect(URL url, String userid, String password);
    public void disconnect();
    public void getFile(String sourceFile, File destFile);
    public void putFile(File sourceFile, File destFile);
}
Run Code Online (Sandbox Code Playgroud)

然后是一个工厂,它接受源URL或协议并实例化正确的文件处理程序.

java file-io

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

我有两个无序的整数数组,我需要知道这些数组有多少个整数

我在LAMP环境中工作,所以PHP是语言; 至少我可以使用python.

正如标题所说,我有两个无序的整数数组.

$array_A = array(13, 4, 59, 38, 9, 69, 72, 93, 1, 3, 5)

$array_B = array(29, 72, 21, 3, 6)
Run Code Online (Sandbox Code Playgroud)

我想知道这些数组有多少个整数; 在示例中,您看到结果是2.我对整数的共同点不感兴趣,如(72,3).

我需要一个更快的方法,而不是采取数组B的每个元素,并检查它是否在数组A(O(nxm))

数组可以通过asort或sql排序进行排序(它们来自sql结果).

我想到的一个想法是为每个数组创建一个"向量",其中整数是一个获得值为1且不存在的整数获得0的位置.

那么,对于数组A(从pos 1开始)

(1, 0, 1, 1, 1, 0, 0, 0, 1, 0, ...)
Run Code Online (Sandbox Code Playgroud)

对于数组B也是如此

(0, 0, 1, 0, 0, 1, ...)
Run Code Online (Sandbox Code Playgroud)

然后将这两个向量与一个周期进行比较.问题是以这种方式,矢量长度约为400k.

php arrays sorting

0
推荐指数
1
解决办法
1884
查看次数

何时使用RDLC而不是RDL报告?

我在过去几周一直在研究SSRS 2005/2008,并创建了一些服务器端报告.对于某些应用,一位同事建议我针对该特定情况研究RDLC.我现在试图了解RDL和RDLC之间的主要区别.

搜索此信息最多会产生碎片化信息.我了解到:

  • RDLC报告不存储有关如何获取数据的信息.
  • RDLC报告可以由ReportViewer控件直接执行.

但我仍然不完全理解RDLC文件与其他相关系统(报告服务器,源数据库,客户端)之间的关系.

为了更好地掌握RDLC文件,我想知道它们的使用与RDL文件的区别以及在什么情况下选择RDLC而不是RDL.也欢迎链接到资源.

更新:

ASP.NET论坛上的一个主题讨论了同样的问题.从中,我对这个问题有了更好的理解.

RDLC的一个特性是它可以在ReportViewer控件中完全在客户端运行.

  • 这消除了对Reporting Services实例的需要,甚至无需任何数据库连接,但是:
  • 它增加了必须手动提供报告中所需数据的要求.

这是优势还是劣势取决于具体应用.

在我的应用程序中,无论如何都可以使用Reporting Services实例,并且可以轻松地从数据库中提取报告所需的数据.有什么理由让我考虑RDLC,还是我应该坚持使用RDL?

rdlc rdl reporting-services

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

C#:使用Lambdas的递归函数

以下不编译:

Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
Run Code Online (Sandbox Code Playgroud)

在访问之前,可能不会初始化局部变量'fac'

你怎么能用lambdas做一个递归函数?

[更新]

这里还有两个我觉得有趣的链接:

  1. Eric Lippert的"为什么递归lambda导致明确的赋值错误?"
  2. C#中的匿名递归

c# recursion lambda factorial

27
推荐指数
3
解决办法
7240
查看次数

C#:Excel 2007 Addin,如何挂钩Windows激活和取消激活事件

我正在编写Excel 2007 Addin.使用VS2008和.net 3.5,C#.

我抓住了Microsoft.Office.Interop.Excel.Application的WindowActivate和WindowDeActivate事件.

令人惊讶的是,当我在两个Excel Windows之间切换时,WindowActivate和Deactivate仅触发.如果我切换到记事本,我希望触发Deactivate,但它没有发生.如果我切换到excel窗口,记事本的方式相同,我希望触发Activate但它没有发生.看起来行为表明窗口是MDI-Child窗口.

现在我要做的是获取Excel的Mainwindow的HWnd并使用dllimport功能挂钩Window Activate和Deactivates.

谁能指导我这个.

问候

hook vba add-in dllimport excel-vba

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

是否可以将私有成员的哈希码组合起来生成新的哈希码?

我有一个对象,我想生成一个唯一的哈希(覆盖GetHashCode()),但我想避免溢出或不可预测的事情.

代码应该是组合一小组字符串的哈希码的结果.

哈希码将是生成缓存密钥的一部分,因此理想情况下它们应该是唯一的,但是被散列的可能值的数量很小所以我认为概率对我有利.

这样的事情是否足够并且有更好的方法吗?

int hash = 0;
foreach(string item in collection){
    hash += (item.GetHashCode() / collection.Count)
}
return hash;
Run Code Online (Sandbox Code Playgroud)

编辑:感谢您的答案到目前为止.@Jon Skeet:不,订单并不重要

我想这几乎是另一个问题,但由于我使用结果生成缓存键(字符串)是否有意义使用像MD5这样的加密哈希函数或只使用此int的字符串表示?

c# hashcode gethashcode

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

$ .getJSON和$ .get之间的差异

这两个电话真的有区别吗?如果你使用getJSON,你仍然需要format=json在url中声明...

并且您可以执行相同的操作$.get(),并遍历JSON对象.

还是我离开这里?

ajax jquery json

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