是否有任何编程语言(或类型系统),您可以在其中以静态类型和类型安全的方式表达以下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) 查看在我自己的订单表单中嵌入3D Secure页面的选项,我遇到了以下内容:
"有些商业网站会将完整的浏览器页面用于身份验证,而不是使用框架(不一定是iFrame,无论如何都是一个不太安全的对象)."
来自http://en.wikipedia.org/wiki/3-D_Secure
有人可以给我一个关于为什么 iframe安全性较低并导致问题的低调,而不是正常的框架?有什么基本的区别?
我看到它iframe的方式是要走的路.
我正在使用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) 我需要将文件传输到我的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或协议并实例化正确的文件处理程序.
我在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.
我在过去几周一直在研究SSRS 2005/2008,并创建了一些服务器端报告.对于某些应用,一位同事建议我针对该特定情况研究RDLC.我现在试图了解RDL和RDLC之间的主要区别.
搜索此信息最多会产生碎片化信息.我了解到:
但我仍然不完全理解RDLC文件与其他相关系统(报告服务器,源数据库,客户端)之间的关系.
为了更好地掌握RDLC文件,我想知道它们的使用与RDL文件的区别以及在什么情况下选择RDLC而不是RDL.也欢迎链接到资源.
ASP.NET论坛上的一个主题讨论了同样的问题.从中,我对这个问题有了更好的理解.
RDLC的一个特性是它可以在ReportViewer控件中完全在客户端运行.
这是优势还是劣势取决于具体应用.
在我的应用程序中,无论如何都可以使用Reporting Services实例,并且可以轻松地从数据库中提取报告所需的数据.有什么理由让我考虑RDLC,还是我应该坚持使用RDL?
以下不编译:
Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
Run Code Online (Sandbox Code Playgroud)
在访问之前,可能不会初始化局部变量'fac'
你怎么能用lambdas做一个递归函数?
[更新]
这里还有两个我觉得有趣的链接:
我正在编写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.
谁能指导我这个.
问候
我有一个对象,我想生成一个唯一的哈希(覆盖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的字符串表示?
这两个电话真的有区别吗?如果你使用getJSON,你仍然需要format=json在url中声明...
并且您可以执行相同的操作$.get(),并遍历JSON对象.
还是我离开这里?