问题列表 - 第16510页

为什么这个Perl需要花费这么多时间?

我有一个通过system()C命令运行的Perl脚本.在特定站点(SunOS 5.10)上,当运行该脚本时,它几乎总是需要6秒或更长时间.在其他网站上,它几乎立即运行(0.1秒).如果我手动运行脚本,即不是从C代码运行,它也会立即运行.我最终跟踪了缓慢下降(通过在很多不同的地方吐出一大堆的时间)到单行require.它需要的文件是我们编写的另一个Perl脚本.该脚本包含一个require(此处为此文件),3个分配了整数值的标量,以及一些时间/日期转换例程.该文件以1;结尾.那个单一的需求似乎有时需要6秒钟,但正如我所说,并不总是在同一台机器上.我绝对难过这里.我唯一的想法是打开分析,但该网站没有Devel :: Profiler,我唯一的其他选项(我知道)将它添加到Perl命令,这将要求我改变并重新编译C代码(可行但非平凡).

有人知道这里会发生什么吗?我不认为我可以/想要把整个date.pl放在需要的地方,但它几乎和我描述的完全一样; 我可以回答你的任何问题.

提前致谢.

perl performance

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

在下拉列表中防止用户输入?

我们应该防范来自下拉列表的意外用户输入吗?期望用户以某种方式修改下拉列表以包含最初未包含的值是否合理?

他们怎么能做到这一点,我们怎么能阻止它呢?

html vb.net asp.net security drop-down-menu

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

如果调用Response.Close(),文件下载将被截断

好的,所以我有一个页面,它从web服务中获取文件作为Byte [],然后我给用户保存/取消对话框以保存该文件.该文件可以是xml或cvs格式.下载文件时文件不完整,例如文件应该包含的内容:
美元,欧元,欧元,1.2,1.1,11/15/2009,15:23:27
美元,澳元,澳大利亚,1.25,1.15,11/15/2009,15:23:27

但是当从浏览器中保存时它只有::
USD,EUR,Euro,1.2,1.1,11/15/2009,15:23:27
USD,AUD,Australian,1.25, 1.

这是我的代码:

Response.Buffer = true;
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName); 
Response.AddHeader("Content-Length", MyFile.Length.ToString()); 
FileInfo file = new FileInfo(fileName); 
Response.ContentType = Utility.ReturnExtension(file.Extension.ToLower()); 
Response.BinaryWrite(MyFile); 
Response.Flush(); 
Response.Close(); 
Response.End();
Run Code Online (Sandbox Code Playgroud)

我已经通过以下代码在我的机器上编写文件来确保我从webservice获得的byte []是可以的:

StreamWriter writer = null;
string blah = System.Text.ASCIIEncoding.ASCII.GetString(MyFile);
writer = File.CreateText(Server.MapPath(filePath+fileName));
writer.Write(blah);
writer.Close();
writer.Dispose();
Run Code Online (Sandbox Code Playgroud)

如果我删除Close()和End(),那么整个文件将使用页面中的一些HTML代码呈现.如果我首先在本地计算机上创建/写入文件然后执行Response.TransmitFile(file),我将获得完整文件(仅XML格式).

我不确定我做错了什么.也许它只是非常简单.任何帮助将不胜感激

.net c# download

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

有循环代码时活动指示器没有显示?

我在欢迎屏幕和主屏幕上显示活动指示器.它在欢迎屏幕上工作正常.在主视图中,有一个'for'循环代码,可以执行16次任务.这时,设备看起来有点挂,以避免我想显示活动指示.当我在一些循环(16次)代码进行过程中在主屏幕中添加标准活动代码时,我没有观察到设置活动指示器显示.它只在循环结束后才出现.我在尝试循环代码之前尝试了一些延迟,但在预期的时间内仍未显示.否则用户可能会认为我的应用程序挂起了设备,所以我想在那时显示活动指示器.

欢迎任何解决此问题的建议!

谢谢.

iphone

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

`import module`比`from module import function`更好的编码风格?

我们from module import function称之为FMIF编码风格.

我们import module称之为IM编码风格.

我们from package import module称之为FPIM编码风格.

为什么IM + FPIM被认为是比FMIF更好的编码风格?(请参阅此帖子以获取此问题的灵感.)

以下是一些让我更喜欢FMIF而非IM的标准:

  1. 代码简短:它允许我使用更短的函数名称,从而有助于坚持80行每行约定.
  2. 可读性:chisquare(...)看起来比可读性更强 scipy.stats.stats.chisquare(...).虽然这是一个主观标准,但我认为大多数人会同意.
  3. 缓解重定向:如果我使用FMIF出于某种原因,在一段时间后要重定向蟒蛇定义functionalt_module不是module我需要改变只有一条线路:from alt_module import function.如果我使用IM,我需要更改许多行代码.
我意识到FPIM在某种程度上取消了前两个问题,但是第三个呢?

我对IM + FPIM可能比FMIF更好的所有原因感兴趣,但特别是,我有兴趣详细说明这里提到的以下几点:

IM的优点:

  1. 易于模拟/注入测试.(我对嘲笑并不是很熟悉,虽然我最近了解了这个术语的含义.你能展示一下代码,它展示了IM在这里比FMIF更好吗?)
  2. 通过重新定义某些条目来灵活更改模块的能力.(我一定是误解了一些东西,因为这似乎是FMIF相对于IM的优势.请参阅我上面支持FMIF的第三个理由.)
  3. 序列化和恢复数据的可预测和可控行为.(我真的不明白IM或FMIF的选择如何影响这个问题.请详细说明.)
  4. 我理解FMIF"污染了我的命名空间",但除了是一个消极的说法之外,我不理解这会如何以任何具体的方式伤害代码.
PS.在写这个问题的时候,我收到一个警告,说这个问题似乎是主观的,可能会被关闭.请不要关闭它.我不是在寻找主观意见,而是寻找具体的编码情况,其中IM + FPIM明显优于FMIF.

非常感谢.

python python-import

67
推荐指数
4
解决办法
3974
查看次数

如何按名称将Google地图置于国家/地区中心

我正在使用Google Maps API(v2),并希望将地图上传到一个国家/地区(例如英格兰).

目前我使用以下地图居中:

map.setCenter(new GLatLng( 43.907787,-79.359741), 9);
Run Code Online (Sandbox Code Playgroud)

但这显然需要经度和纬度.

通过插入国家名称的任何方式来做到这一点?

javascript google-maps google-api

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

具有"using"关键字的范围块是否可以对异常做出反应?

我需要在我的代码中进行一些日志记录.我需要使用公司内部开发的库来记录一些信息.这是它的工作原理.

Recorder recorder = Recorder.StartTiming();
DoSomeWork();
recorder.Stop();  // Writes some diagnostic information.
Run Code Online (Sandbox Code Playgroud)

为了确保始终调用Stop(),我创建了一个包装类,允许使用干净的"使用"块.

using (RecorderWrapper recorderWrapper = new RecorderWrapper)  // Automatically calls Recorder.StartTiming() under the covers
{
   DoSomeWork();
}  // When the recorderWrapper goes out of scope, the 'using' statement calls recorderWrapper.Dispose() automatically - which calls recorder.Stop() under the covers
Run Code Online (Sandbox Code Playgroud)

它到目前为止运作良好.但是,我的公司需要改变,在原始代码上看起来像这样:

Recorder recorder = Recorder.StartTiming();
try
{
   DoSomeWork();
}
catch (Exception ex)
{
   recorder.ReportFailure(ex);  // Write out some exception details associated with this "transaction"
}
recorder.Stop();  // Writes some diagnostic …
Run Code Online (Sandbox Code Playgroud)

.net c# using exception

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

如何从GZIPed数据的InputStream中获取解压缩数据的InputStream?

我调用一个返回gzip压缩文件的服务.我javax.activation.DataHandler.getInputStream();从响应中将数据作为InputStream(礼貌).

我想要做的是,在不向磁盘写入任何内容的情况下,在归档文件中的文件中获取解压缩数据的InputStream.在这种情况下,压缩文件是一个xml文档,我试图解组使用javax.xml.bind.Unmarshaller它来获取InputStream.

我正在尝试将InputStream写入OutputStream(解压缩数据),然后我需要将其写回InputStream.它还没有工作,所以我想我会看看是否有更好的(我希望如此)方法.

我可以将初始InputStream写入磁盘并获取一个gz文件,然后读取该文件,从中获取压缩文件并从那里开始,但我宁愿将其全部保存在内存中也是可能的.

更新1:这是我的当前(不工作 - 得到"不是GZIP格式"的例外):

    ByteArrayInputStream xmlInput = null;
    try {
        InputStream in = dh.getInputStream(); //dh is a javax.activation.DataHandler
        BufferedInputStream bis = new BufferedInputStream(in);
        ByteArrayOutputStream bo = new ByteArrayOutputStream();
        int bytes_read = 0;
        byte[] dataBuf = new byte[4096];
        while ((bytes_read = bis.read(dataBuf)) != -1) {
            bo.write(dataBuf, 0, bytes_read);
        }
        ByteArrayInputStream bin = new ByteArrayInputStream(bo.toByteArray());
        GZIPInputStream gzipInput = new GZIPInputStream(bin);
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        dataBuf = new byte[4096];;
        bytes_read = 0;
        while ((bytes_read = …
Run Code Online (Sandbox Code Playgroud)

java io gzip gzipinputstream

9
推荐指数
2
解决办法
9080
查看次数

如何在JavaScript中为Internet Explorer浏览器修复Array indexOf()

如果您已经使用过任何长度的JavaScript,那么您就知道Internet Explorer没有为Array.prototype.indexOf()[包括Internet Explorer 8]实现ECMAScript函数.这不是一个大问题,因为您可以使用以下代码扩展页面上的功能.

Array.prototype.indexOf = function(obj, start) {
     for (var i = (start || 0), j = this.length; i < j; i++) {
         if (this[i] === obj) { return i; }
     }
     return -1;
}
Run Code Online (Sandbox Code Playgroud)

我什么时候应该实现这个?

我应该使用以下检查将其包装在我的所有页面上,检查是否存在原型函数,如果不存在,请继续并扩展Array原型?

if (!Array.prototype.indexOf) {

    // Implement function here

}
Run Code Online (Sandbox Code Playgroud)

或者浏览器检查,如果它是Internet Explorer,那么只需实现它?

//Pseudo-code

if (browser == IE Style Browser) {

     // Implement function here

}
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer cross-browser internet-explorer-8

294
推荐指数
7
解决办法
17万
查看次数

寻求0x0B

从SQL列读取一些数据然后将其转换为XML时出现此错误:

"System.InvalidOperationException:XML文档中存在错误(182,16).---> System.Xml.XmlException:'',十六进制值0x0B,是无效字符."

很公平,也许数据格式不正确.除了,我怎么能找到罪魁祸首?

SELECT * from Mytable where Column like '%' + char(0x0B)+'%' 
Run Code Online (Sandbox Code Playgroud)

返回空.

(显然我尝试了所有%+ char,char,char +%组合,以防万一)

debugging sql-server-2005 xml-serialization

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