小编Eam*_*nne的帖子

谁负责处理HttpPostedFile.InputStream - 什么时候?

当您在ASP.NET中收到上载文件时,通常通过HttpPostedFile对象执行此操作.收到的数据可通过HttpPostedFile.InputStream.然而这是在文档从来没有提到谁的属性,这将导致我相信我并不需要处理它自己负责处置流,如果它是由ASP.NET框架,做它这样做(比方说,如果我愿意,我可以在会话中保存流吗?).

现在,我没有收到那么多文件,我没有因为没有处理这个特定的流而遇到问题,但是为了清洁 - 有谁知道这里的设计合同是什么?

asp.net

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

Mercurial队列:组合补丁

我一直在玩Mercurial和mercurial队列,现在有一个相当合理的工作版本.但是,在我提交补丁之前,我想把这个spagetti-history合并为离散的逻辑步骤,而不是半重叠的重复do-undo-redo-略微不同的混乱,如果只是减少补丁的数量.

我怎么做?

mercurial mercurial-queue

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

浮点加法:精度损失问题

简而言之:我怎么能执行a+b这样的,因为截断造成的任何精度损失都是而不是零?

长篇故事

我正在计算一系列浮点值的总和,用于计算集合的样本均值和方差.由于Var(X)= E(X 2) - E(X)2,它足以保持所有数字的运行计数,到目前为止所有数字的总和,以及到目前为止所有数字的平方和.

到现在为止还挺好.

但是,绝对要求E(X 2)> E(X)2,由于浮点精度并非总是如此.在伪代码中,问题是:

int count;
double sum, sumOfSquares;
...
double value = <current-value>;
double sqrVal = value*value; 

count++;
sum += value; //slightly rounded down since value is truncated to fit into sum
sumOfSquares += sqrVal; //rounded down MORE since the order-of-magnitude 
//difference between sqrVal and sumOfSquares is twice that between value and sum;
Run Code Online (Sandbox Code Playgroud)

对于变量序列,这不是一个大问题 - 你最终会略微低估方差,但这通常不是一个大问题.然而,对于具有非零均值的常数或几乎常数集合,它可能意味着E(X 2)<E(X)2 …

c# c++ floating-point ieee-754

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

F#currying效率?

我有一个看起来如下的函数:

let isInSet setElems normalize p = 
        normalize p |> (Set.ofList setElems).Contains
Run Code Online (Sandbox Code Playgroud)

此函数可用于快速检查元素是否在语义上属于某个集合的一部分; 例如,要检查文件路径是否属于html文件:

let getLowerExtension p = (Path.GetExtension p).ToLowerInvariant()
let isHtmlPath = isInSet [".htm"; ".html"; ".xhtml"] getLowerExtension
Run Code Online (Sandbox Code Playgroud)

然而,当我使用如上所述的函数时,性能很差,因为在"isInSet"中写入的函数体的评估似乎被延迟,直到所有参数都已知 - 特别是,诸如(Set.ofList setElems).Contains每次执行时重新评估的不变位isHtmlPath.

我怎样才能最好地保持F#的简洁性和可读性,同时仍然可以获得预先评估集合结构的更有效的行为.

以上只是一个例子 ; 我正在寻找一种避免让我陷入实施细节的一般方法 - 在可能的情况下,我希望避免因实施执行顺序等细节而分心,因为这对我来说通常并不重要,并且会破坏一个主要的卖点函数式编程.

f# functional-programming currying

9
推荐指数
3
解决办法
849
查看次数

使用web.config禁止用户代理

是否可以直接从web.config禁止某些用户代理?某些机器人似乎不遵循robots.txt,并且为了避免无意义的服务器负载(以及日志文件垃圾邮件),我想阻止某些类别的请求(特别是基于用户代理或非常可能是IP地址)继续进行.

如果您知道是否可以防止此类请求完全记录到IIS的日志文件中,则可以获得奖励积分.(即if-request-match,转发到/ dev/null,如果你明白我的意思).

win2003的解决方案更可取,但这是一个反复出现的问题 - 如果IIS7有一个干净的解决方案而不是IIS6,我很乐意知道它.

编辑: 抱歉'回合之前的不完整问题,我有标签+意外输入.

asp.net iis

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

什么是安全返回构建的IDisposables的最佳方法?

编辑:下面显示了两个选项.

如果您只是使用 IDisposable提供的功能,那么恰当命名的using子句可以正常工作.如果你在一个对象中包装一个IDisposable对象,那么包含对象本身就需要IDisposable,你需要实现适当的模式(密封IDisposable类,或者更混乱,但标准virtual模式).

但有时辅助工厂方法有利于清洁.如果你IDisposable在构造之后直接返回,你没问题,但是如果你先构造它然后修改它或者执行在返回之前可以抛出异常的代码,你需要安全地调用.Dispose()- 但是只有在出现错误时才需要.

例如,不安全的代码可能看起来像这样......

DbCommand CreateCommandUnsafely(string commandText)
{
    var newCommand = connection.CreateCommand();
    newCommand.CommandText = commandText;  //what if this throws?
    return newCommand;
}    
Run Code Online (Sandbox Code Playgroud)

解决方案遵循以

DbCommand CreateCommandSafelyA(string commandText)
{
    DbCommand newCommand = null;
    bool success = false;
    try    {
        newCommand = connection.CreateCommand();
        newCommand.CommandText = commandText; //if this throws...
        success=true;
        return newCommand;
    } finally{
        if (!success …
Run Code Online (Sandbox Code Playgroud)

c# idisposable

8
推荐指数
2
解决办法
172
查看次数

如何最容易预取内存区域?

背景:我已经实现了一种随机算法,需要随机排序以获得最佳收敛.但是,这样做显然会破坏内存局部性.我发现通过预取下一个迭代的数据,性能下降最小化.

我可以使用简单的,主要是OS +编译器 - 便携式方式预取n个缓存行_mm_prefetch- 但是缓存行的长度是多少?现在,我正在使用64的硬编码值,这在x64处理器上似乎是现在的常态 - 但我不知道如何在运行时检测到这一点,并且去年的一个问题没有找到简单的解决方案.

我在Windows上看到了GetLogicalProcessorInformation,但我对使用如此简单的复杂API非常谨慎,而且无论如何都无法在mac或linux上运行.

也许有一些完全可以预取由字节(或单词等)标识的内存区域的其他API /内在函数,并允许我在不知道缓存行长度的情况下进行预取?

基本上,有没有一个合理的选择_mm_prefetch#define CACHE_LINE_LEN 64

c++ 64-bit caching

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

将选项值添加到产品,然后使用Magento添加到购物车

我搜索了一段时间,只出现了一些解决方案,为Magento商店的产品添加了全新的选项集.

我想要实现的是一种将简单产品添加到购物车的方法.这个简单产品有一些预定义的自定义选项(自由文本字段),必须由php函数填充.

那么,我该怎么做呢?假设我有一个ID为"111"的产品和一个自定义选项.

$qty = '1';
$product = Mage::getModel('catalog/product')->load("111");
// set option value in product model?

$cart = Mage::helper('checkout/cart')->getCart();
$cart->addProduct($product, $qty);
// set option value while passing product to car?

$cart->save();
Run Code Online (Sandbox Code Playgroud)

在此先感谢任何人.

BTW:通过查询字符串设置选项的值,看到的是relativly容易在这里.

php magento

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

REPL/LINQpad/F#C++ 0x的交互式替代方案?

我喜欢在为C#和F#开发代码时使用LINQpad和FSI.对于haskell,我使用过拥抱.当然,脚本语言几乎总是带有REPL.几乎每个现代浏览器都带有相当花哨的javascript repl/ide.

C++ 0x有类似的东西吗?

整洁的功能将是:

  • 可以包含/链接到预先存在的代码
  • 编译周期短而快 - 花一秒钟就可以了,花几分钟就没有了.
  • autocomplete/intellisense或类似的将是不错的,或至少是一个体面的谷歌这个功能为我的keyhortcut
  • 至少部分C++ 0x支持.

我主要使用Windows,但是如果Linux上有一个很棒的工具,在每个新的发行版上都不需要1337个小时的配置(即不是大多数emacs配置),我也有兴趣听到这些.

相关: C++解释器/控制台/代码片段编译器(两年前,专注于Linux)

编辑:一个不完全不相关的注释是我想用它来感受C++ 0x和其他东西 - 尽可能多的C++ 0x支持 - 至少对于auto和lambdas - 会很好.我不是在寻找一个快速开发环境的声明式语句.

c++ interactive code-snippets read-eval-print-loop c++11

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

有没有办法类型检查 CSS 自定义属性(又名 CSS 变量)?

我正在考虑用$someValueCSS自定义属性(例如)替换SCSS变量(例如var(--someValue)),试图在主题和特定于上下文的覆盖形式上提供更多的灵活性,并使浏览器中的开发工具更可用。最终,我可能想完全转储 SCSS 变量,以简化开发堆栈。

然而,我注意到与 SCSS 变量不同,CSS 自定义属性完全未经检查,并且拼写错误是一个问题。我曾以令人困惑的方式出现代码中断,因为设置 CSS 自定义属性或在表达式中使用它时出现拼写错误 - 毕竟,CSS 对于使用未设置或无效设置的 CSS 属性非常宽松。

由于 CSS 自定义属性目前并不完全是新的,我认为我能够找到一些 webpack 插件或其他解决方案来为 CSS 属性添加基本类型检查,但我似乎找不到任何。理想情况下,我希望要求以某种方式声明所有 CSS 自定义属性,包括其内容的类型(以确保例如变量始终用作无量纲、全量纲值、颜色等) ),但即使只是一个检测拼写错误的工具或技术也能捕获真正的错误。然而,我一直无法找到类似的东西,无论是作为构建工具,还是 SASS 插件。

在使用 CSS 自定义属性时,如何保护自己免受简单的疏忽,例如检测到设置为的属性--someValue: 13px从未使用过,或者相反,引用var(--someValue)似乎没有匹配的分配?

css sass css-variables

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