小编Htb*_*baa的帖子

是否有Caplrano的Perl或Lua替代品?

对于许多Web应用程序,我需要像Capistrano这样的东西来自动部署.我知道Capistrano可以用来部署非ruby应用程序,但我不熟悉Ruby,所以我希望编写部署配置可能有点痛苦.

所以我想知道,有任何替代Capistrano写的任何一个Lua Perl?

另外,忘了提一下,运行部署的平台是Windows(XP).所以卡皮斯特拉诺已经或多或少已经无从谈起.虽然我发现它可以与Git for Windows附带的MINGW32 Bash shell一起运行.

perl lua capistrano automated-deploy web-deployment

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

弄清楚PHP的mcrypt创建的确切密钥

我正在维护的PHP应用程序使用带有Ecry_MODE加密的Rijndael_256和mcrypt.有趣的是,密钥不是256位长,而是只有160.根据mcrypt_encrypt文档,密钥用\ 0填充以获得所需的大小,如果它太小.

用于加密数据的密钥.如果它小于所需的密钥大小,则用'\ 0'填充.最好不要将ASCII字符串用于键.

这似乎发生在mcrypt.c第1186行的开头附近,并在第1213行修改了密钥.

因此,假设我们已经得到$key = 'abcdefghijkm';了太短的内容,但PHP的mcrypt实现确保在使用RIJNDAEL_256时它扩展到32个字符(或256位).最终的关键是什么样的?

我问这个是因为正在构建另一个使用相同加密数据的应用程序,但是使用另一种语言.Perl准确而且我正在使用Crypto::Rijndael.对于给定的示例密钥,Crypto::Rijndael为了能够再次解密数据,我必须提供哪些准确的密钥(或其他任何内容)?

更新

使用Perl,我可以生成一个键为0的填充pack('a32', 'my secret key');(或Z32),length()将报告32并且Crypt::Rijndael模块接受密钥.看看PHP的mcrypt的来源,这应该是生成的密钥(\ 0填充),但它根本不会接受它.

从理论上讲,PHP pack('a32', 'my secret key');应该会产生PHP的mcrypt生成的相同\ 0填充键,但事实并非如此.

我非常接近只是用一把新密钥加密所有东西.这花费了太多时间.

php mcrypt rijndael

12
推荐指数
1
解决办法
3790
查看次数

使用git-svn重新启用镜像

一段时间以来,我一直在将Subversion存储库镜像到Git存储库.哪个一直很好.但是,由于虚拟服务器崩溃而没有备份,我必须再次设置镜像.我需要跟踪的存储库大约有1200次提交,并且包含很多文件(这是Git镜像的主要原因,因为它可以更快地检出repo的副本).

我现在需要做的是让我刚刚克隆的Git镜像再次跟踪Subversion存储库.我添加新的远程引用没有问题,但似乎无法弄清楚如何能够再次将svn提交引入Git分支.

我似乎收到的一个错误是Unable to determine upstream SVN information from working tree history.

如何在现有的Git分支上重新启用镜像Subversion存储库,该分支仅在Subversion存储库的几个提交后面?

svn git version-control git-svn

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

Haskell中的Map.toList性能

在下面的代码中,我正在对Bucket Sort的实现进行基准测试.

bucketsort函数使用结果_bucketsort但将其展平为单个列表.令我惊讶的是,这个过程(Map.toList)需要花费很多时间.

module Main where
import System.Random
import Criterion.Main
import qualified Data.List as List
import qualified Data.Map as Map
import Data.Maybe

insert :: (Ord a) => a -> [a] -> [a]
insert x [] = [x]
insert x (y:xs)
    | x <= y    = x:y:xs
    | otherwise = y : insert x xs

bucketsort :: (Integral a) => [a] -> [a]
bucketsort xs = List.concatMap (snd) . Map.toList $ _bucketsort xs Map.empty

_bucketsort …
Run Code Online (Sandbox Code Playgroud)

benchmarking haskell bucket-sort

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

无法阅读Javascript代码

我是JS的新手,并且很难阅读以下JS代码.

该函数的第一个参数是PHP脚本的url,第二个是字符串.

令我困惑的是如何在行后读取代码:self.xmlHttpReq.open('POST',strURL,true);

这之后会发生什么?我应该看看这行代码?剧本?打开后会发生什么?

function check_detail(strURL, pids) 
{
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() 
    {
        if (self.xmlHttpReq.readyState == 4)
            updatepage(self.xmlHttpReq.responseText, pids);
    }
    self.xmlHttpReq.send(getquery(pids));
}
Run Code Online (Sandbox Code Playgroud)

javascript xmlhttprequest

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