问题列表 - 第20241页

Web浏览C# - 库,工具等 - 像Perl中的Mechanize一样吗?

寻找与Mechanize for .NET类似的东西......

如果您不知道Mechanize是什么.. http://search.cpan.org/dist/WWW-Mechanize/

我会在这里保留一份建议清单.用于浏览/发布/屏幕抓取的任何内容(除了WebRequest和WebBrowser控件).

解析

Web应用程序测试

工具

  • Firebug for Firefox
  • 适用于IE的Internet Explorer开发人员工具栏
  • Chrome也有

注意

WatiN接近我正在寻找的东西,除了它打开一个浏览器,这是令人讨厌和令人敬畏的同时.取决于你在做什么.

c# screen-scraping login mechanize

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

Django模板问题 - {%if object | length> 4%}引发TemplateDoesNotExist:500.html

我的模板中有以下内容.

{% block content %}
    {% for album in albumsList %}
        {% if fotosList %}
            <div class="photoalbum-wrapper">
                <h3>{{ album.title }}</h3>
                <ul class="photoalbum">
                    {% for foto in fotosList %}<li>item</li>{% endfor %}
                </ul>
                {% if fotosList|length > 4 %}
                    <a href="#" class="trigger">?????? <span>&#9660;</span></a>
                {% endif %}
            </div>
        {% endif %}  
    {% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

它引发了TemplateDoesNotExist:500.html.

如果我写{{ fotoList|length }}得很简单就行了.

comparison filter django-templates

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

当没有异常被捕获时,php 5尝试捕获会影响性能吗?

一个非常聪明的工作人员告诉我,尝试不抛出的捕获会影响拥有数百万用户的网站的性能.基于发布的单元测试表明性能相同,我想知道这是否与操作系统级别和/或Web服务器特定情况有关.例如,Web服务器的异步工作实现发生在子进程而不是线程上.

谁知道?

我想看到的是一个php profiler的输出,显示实际使用的cpu时间.

jmucchiello对php中try-catch性能的评论很有意思,但不测量使用的cpu时间.

谢谢,大卫

php performance exception-handling

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

bcp/BULK INSERT与表值参数的性能

我将不得不使用SQL Server的BULK INSERT命令重写一些相当旧的代码,因为架构已经改变,而且我想到也许我应该考虑用TVP切换到存储过程,但我想知道是什么影响它可能有性能.

一些背景信息可能有助于解释我为什么问这个问题:

  • 数据实际上是通过Web服务提供的.Web服务将文本文件写入数据库服务器上的共享文件夹,该文件夹依次执行BULK INSERT.这个过程最初是在SQL Server 2000上实现的,当时除了INSERT在服务器上丢失几百个语句之外别无选择,这实际上是原始进程并且是性能灾难.

  • 将数据批量插入永久登台表,然后合并到更大的表中(之后将其从登台表中删除).

  • 要插入的数据量是"大",但不是"巨大的" - 通常是几百行,在极少数情况下可能是5-10k行.因此,我的直觉是,BULK INSERT作为一个非记录操作不会产生那么大的差异(但当然我不确定,因此问题).

  • 插入实际上是一个更大的流水线批处理过程的一部分,需要连续多次发生; 因此性能至关重要的.

我想BULK INSERT用TVP 取代的原因是:

  • 在NetBIOS上编写文本文件可能已经花费了一些时间,而且从架构的角度来看它非常可怕.

  • 我相信可以(而且应该)消除临时表.它的主要原因是插入的数据需要在插入的同时用于其他几个更新,并且尝试从大量生产表进行更新比使用几乎空的分段更加昂贵表.使用TVP,参数基本上临时表,我可以在主插入之前/之后用它做任何我想做的事情.

  • 我几乎可以废除欺骗检查,清理代码以及与批量插入相关的所有开销.

  • 如果服务器同时获得一些这些事务,我们无需担心登台表或tempdb上的锁争用(我们尽量避免它,但它会发生).

在将任何内容投入生产之前,我显然会对此进行分析,但我认为在我花费所有时间之前首先询问周围可能是一个好主意,看看是否有任何人有关于为此目的使用TVP的任何严厉警告.

那么 - 对于那些对SQL Server 2008足够惬意的人来说,或者至少已经对此进行了调查,那么判决是什么?对于插入,比方说,几百到几千行,经常发生,TVP切割芥末?与批量插入相比,性能是否存在显着差异?


更新:现在问号减少了92%!

(又名:测试结果)

最终的结果是在感觉像36阶段部署过程之后的生产中.两种解决方案都经过了广泛测试

  • 剥离共享文件夹代码并SqlBulkCopy直接使用该类;
  • 使用TVP切换到存储过程.

只是让读者可以得到一个想法是什么确切地进行了测试,以消除任何怀疑这个数据的可靠性,这里是什么这个导入过程更详细的解释实际上做:

  1. 从时间数据序列开始,通常约为20-50个数据点(尽管有时可能会达到几百个);

  2. 做一大堆疯狂的处理,主要是独立于数据库.该过程是并行化的,因此(1)中的大约8-10个序列同时被处理.每个并行过程生成3个附加序列.

  3. 取所有3个序列和原始序列并将它们组合成一批.

  4. 将所有8-10个现已完成的加工任务的批次合并为一个大型超级批次.

  5. 使用BULK INSERT策略(请参阅下一步)或TVP策略(跳至步骤8)导入.

  6. 使用SqlBulkCopy该类将整个超级批处理转储到4个永久临时表中.

  7. 运行存储过程,(a)对其中两个表执行一系列聚合步骤,包括几个JOIN条件,然后(b)MERGE使用聚合和非聚合数据执行6个生产表.(成品)

    要么

  8. 生成DataTable包含要合并的数据的4个对象; 其中3个包含CLR类型,遗憾的是ADO.NET TVP不能正确支持它们,因此必须将它们作为字符串表示形式推入,这会对性能造成一定影响.

  9. 将TVP馈送到存储过程,该过程基本上与(7)进行相同的处理,但是直接与接收的表一起进行.(成品)

结果相当接近,但TVP方法最终平均表现更好,即使数据少量超过1000行. …

performance bulkinsert sql-server-2008 table-valued-parameters

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

Emacs中的代码完成键绑定

M-x describe-mode在.el文件中执行a 时,我注意到Emacs-Lisp模式实际上完成了代码.但是,lisp-complete-symbol必然会M-TAB.在Windows中,Windows使用此键绑定来切换活动窗口.大多数IDE都在使用C-SPC,但这也是在Emacs中使用的.代码完成的一个好的,相当常见的键绑定是什么?

emacs elisp

12
推荐指数
3
解决办法
5769
查看次数

在所有现代PC上,64位浮点数的行为是否相同?

我想知道我是否可以假设在相同的64位浮点数上的相同操作在任何现代PC和大多数常见编程语言中给出完全相同的结果?(C++,Java,C#等).我们可以假设,我们正在对数字进行操作,结果也是一个数字(没有NaN,INF等等).

我知道使用浮点数(IEEE 854-1987和IEEE 754-2008)有两种非常类似的计算标准.但是我不知道它在实践中是怎么回事.

floating-point 64-bit portability ieee-754

10
推荐指数
2
解决办法
711
查看次数

在Delphi中通过其内存地址调用可变参数C函数

假设我在C++中有一个函数,我在其中使用指向其内存地址的指针来调用它typedef.现在,我怎样才能在Delphi中做同样的事情?

例如:

typedef void (*function_t)(char *format, ...);
function_t Function;
Function = (function_t)0x00477123;
Run Code Online (Sandbox Code Playgroud)

然后,我可以用:Function("string", etc);.

在Delphi中,有没有办法在不使用汇编指令的情况下执行此操作?

请注意,它是一个可变参数函数.

delphi typedef variadic-functions memory-address

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

Jquery回发,在回发后维护相同的选项卡

我正在使用jquery选项卡并遵循js方法,如何以及如何修改它以维护回发之间的tab状态?(这会在page_load之后将制表符重置为第一个制表符)

$(document).ready(function() {

        //When page loads...
        $(".tab_content").hide(); //Hide all content
        $("ul.tabs li:first").addClass("active").show(); //Activate first tab
        $(".tab_content:first").show(); //Show first tab content

        //On Click Event
        $("ul.tabs li").click(function() {

            $("ul.tabs li").removeClass("active"); //Remove any "active" class
            $(this).addClass("active"); //Add "active" class to selected tab
            $(".tab_content").hide(); //Hide all tab content

            var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
            $(activeTab).fadeIn(); //Fade in the active ID content
            return false;
        }); 
Run Code Online (Sandbox Code Playgroud)

.net javascript asp.net jquery jquery-ui

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

根据使用频率随机生成字母?

如何根据普通语音中的使用频率随机生成字母?

任何伪代码都很受欢迎,但Java中的实现会非常棒.否则只是朝正确的方向戳一下会很有帮助.

注意:我不需要生成使用频率 - 我确信我可以很容易地查看它.

java random algorithm pseudocode

10
推荐指数
3
解决办法
4304
查看次数

Chrome扩展程序:如何从后台页面了解标签何时完成加载

我在后台页面中使用监听器来了解加载选项卡的时间:

chrome.tabs.onUpdated.addListener(function (tabId) { })
Run Code Online (Sandbox Code Playgroud)

但是监听器被解雇了两次:当页面开始加载时,以及页面何时完成.是否有办法区分这两种情况?

google-chrome

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