问题列表 - 第26271页

没有分片的高并发计数器

这个问题涉及两个计数器的实现,这些计数器的目的是在没有分片的情况下进行扩展(在某些情况下可能会计算得不足):

  1. http://appengine-cookbook.appspot.com/recipe/high-concurrency-counters-without-sharding/(评论中的代码)
  2. http://blog.notdot.net/2010/04/High-concurrency-counters-without-sharding

我的问题:

  • 关于#1:memcache.decr()在延迟的交易任务中运行似乎有点矫枉过正.如果memcache.decr()在事务之外完成,我认为最坏的情况是事务失败,我们错过了计算我们减少的任何数量. 我是否忽略了这样做可能会发生的其他问题?
  • 这两种实现之间有何重大的权衡取舍?

以下是我看到的权衡:

  • 2不需要数据存储区事务.

  • 要获得计数器的值,#2需要数据存储区提取,而#1 通常只需要执行a memcache.get()memcache.add().
  • 递增计数器时,都会调用memcache.incr().#2会定期向任务队列添加任务,而#1以事务方式执行数据存储区get和put.#1也总是执行memcache.add()(以测试是否是将计数器持久保存到数据存储区的时间).

结论

(没有实际运行任何性能测试):

  • 1检索计数器通常应该更快(#1 memcache vs#2数据存储).虽然#1必须执行额外的操作memcache.add().

  • 但是,更新计数器时#2应该更快(#1数据存储区get + put vs#2排队任务).
  • 另一方面,对于#1,您必须对更新间隔更加小心,因为任务队列配额几乎比数据存储区或memcahce API小100倍.

python google-app-engine counter

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

ASPNET MVC - 使用具有相同签名的新助手覆盖Html.TextBoxFor(model.property)?

我想用我自己的帮助器覆盖Html.TextBoxFor(),它有完全相同的签名(当然是一个不同的命名空间) - 这是可能的,如果是的话,怎么样?

这样做的原因是我在现有应用程序中有100多个视图,我想改变TextBoxFor的行为,以便在属性具有[StringLength(n)]注释时输出maxLength = n属性.

自动输出maxlength = n的代码在这个问题中:来自Asp.Net MVC中DataAnnotations StringLength的文本框的maxlength属性.但我的问题并不重复 - 我正在尝试创建一个更通用的解决方案:DataAnnotaion自动流入html,而不需要编写视图的人员需要额外的代码.

在引用的问题中,您必须将每个Html.TexBoxFor更改为Html.CustomTextBoxFor.我需要这样做,以便不需要更改现有的TextBoxFor() - 因此创建一个具有相同签名的帮助程序:更改帮助程序方法的行为,并且所有现有实例将在没有任何更改的情况下正常工作(100 + views,至少500 TextBoxFor()s - 不想手动编辑它).

我试过这段代码:(并且我需要为TextBoxFor的每次重载重复它,但是一旦根问题解决了,那将是微不足道的)

namespace My.Helpers
{
    public static class CustomTextBoxHelper
    {
        public static MvcHtmlString TextBoxFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes, bool includeLengthIfAnnotated)
        {
                // implementation here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我在Html.TextBoxFor()视图中遇到编译器错误:"调用在以下方法或属性之间是不明确的"(当然).有没有办法做到这一点?

是否有一种替代方法可以让我改变Html.TextBoxFor的行为,以便不需要更改已经使用它的视图?

c# asp.net-mvc html-helper data-annotations

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

NSFileManager删除目录的内容

如何在不删除目录本身的情况下删除目录的所有内容?我想基本上清空一个文件夹,但保留它(和权限)完整.

directory cocoa nsfilemanager osx-snow-leopard

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

matlab中的'数组数组'?

嘿,有点麻烦.尝试将可变长度1d数组分配给数组的不同值,例如

a(1) = [1, 0.13,0.52,0.3];
a(2) = [1, 0, .268];
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

???  In an assignment  A(I) = B, the number of elements in B and
 I must be the same.

Error in ==> lab2 at 15
a(1) = [1, 0.13,0.52,0.3];
Run Code Online (Sandbox Code Playgroud)

我认为这意味着它期望标量值而不是数组.有人知道如何将数组赋值给这个值吗?

我宁愿不直接将它定义为2d数组,因为它正在为循环中的不同问题做出解决方案

编辑:知道了!

a(1,1:4)= [1,0.13,0.52,0.3];

a(2,1:3)= [1,0,.268];

arrays matlab

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

使用 LINQ 从表中检索前 50 行

我是 LINQ 新手,正在尝试检索特定表的前 50 行。

在使用实际查询的 SQL Server 中,我可以说“从事务中选择前 50 个”,但不确定如何使用 LinQ 来做到这一点

有什么可以帮忙的指点吗?

谢谢 !

linq-to-sql

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

重播HTTPS请求的攻击

假设安全测试人员使用代理,比如Fiddler,并使用管理员的凭据记录HTTPS请求 - 在重放整个请求(包括会话和身份验证cookie)时,安全测试人员能够成功(重新)记录事务.声称这是CSRF漏洞的标志.

恶意用户必须做什么来拦截HTTPS请求并重放它?这是一个脚本小子,资金充足的军事黑客团队或时间旅行外星人技术的任务吗?记录用户的SSL会话并在门票到期之前重播它们真的很容易吗?

应用程序中的代码当前没有对HTTP GET做任何有趣的事情,因此AFAIK,欺骗管理员点击链接或加载带有恶意URL的图像不是问题.

security https

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

如何加速1800行PHP包括?它将我的页面加载速度降低到10秒/视图

我设计了我的代码,将所有重要的函数放在一个现在1800行的PHP文件中.

我在其他PHP文件中调用它 - 例如AJAX处理器 - 使用简单的"require_once("codeBank.php")".

我发现加载所有这些函数大约需要10秒钟,即使我只有一些全局数组和一些其他函数.例如,主要的AJAX处理器代码只需要8秒钟来进行简单的语法验证(其操作函数存储在codeBank.php中).

当我注释掉require_once时,我的AJAX响应时间从10秒加速到40ms,所以很明显PHP试图用这1800行函数做一些事情.即使安装了APC,这也是令人惊讶的.

我应该怎么做才能将我的代码速度恢复到低于100毫秒的水平?我是否未能以某种方式获得缓存的好处?我是否需要将单个功能库文件剪切成不同的部分?是否还有其他微妙的事情可以阻止我的响应时间?

或者除此之外,有哪些工具可以进一步挖掘哪些PHP操作会遇到速度障碍?

==========================

[编辑]已解决.

==========================

正如你们许多人所指出的那样,没有合理的理由说明为什么只有一个1800行的php函数库会导致速度减慢.实际发生的是我有一个调试行调用了一个较长的API调用函数.每当我包含PHP文件时,我都是从远程查询数据构建一个完整的数据结构.

一旦我杀了那条线,一切都回到了快速的30毫秒响应.对我来说遗憾的是,每次调用AJAX脚本时,require_once()都会打开php文件.但是,这就是我的状态,并且忘记了每次AJAX脚本完成时它都会关闭并且每次都重新打开并重新编译.

php ajax require-once

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

R或Python用于文件操作

我有4个相当复杂的r脚本,用于操作csv和xml文件.这些是由另一个部门创建的,他们专门在r.

我的理解是,虽然在处理数据时r非常快,但它并没有真正针对文件操作进行优化.我可以通过将这些脚本转换为python来获得显着的速度提升吗?或者这是浪费时间吗?

python performance r file

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

通用iPad应用程序因发布崩溃而被拒绝,我无法重现

我对这个问题非常沮丧.经过一周的等待,我的通用iPad应用程序被拒绝,因为"正在运行iPhone OS 3.2和iPhone 3GS运行iPhone OS 3.1.3和Mac OS X 10.6.2的iPad上发布时崩溃."

不幸的是我无法复制问题,我已经在调试和发布模式下测试,应用程序工作得很好.我甚至创建了一个ad-hoc配置并在其他设备上测试它,一切正常.

我应该澄清这是对当前iPhone应用程序的更新,我使用与原始iPhone应用程序相同的分发配置文件.此外,我在构建此条目后的通用应用程序之前检查了所有内容:

http://iphonedevelopment.blogspot.com/2010/04/converting-iphone-apps-to-universal.html

以下是Apple发给我的崩溃日志:

Incident Identifier: 3E0D4A3B-2896-444D-BCBE-6C0CA1A66A90
CrashReporter Key:   18b5124ea5f657227c5f202a27ed707379b3e2e7
Process:         Transfer [982]
Path:            /var/mobile/Applications/E9062465-7EA6-424C-9C61-D9DBCC7C915A/Transfer.app/Transfer
Identifier:      Transfer
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-05-04 15:35:57.399 -0700
OS Version:      iPhone OS 3.1.3 (7E18)
Report Version:  104

Exception Type:  EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x00000001, 0x3eaa2188
Highlighted Thread:  0

Backtrace not available

Unknown thread crashed with ARM Thread State:
    r0: 0x00002f90    r1: 0x00000000      r2: 0x385242d8      r3: 0x0000010d
    r4: …

iphone objective-c ipad

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

卡布奇诺重定向

在Objective-J(Cappuccino)中将某人重定向到另一个页面的最佳做法是什么?

redirect cappuccino objective-j

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