我有两个类似的代码.第一个按预期工作.
urlpatterns = patterns('',
(r'^(?P<n1>\d)/test/', test),
(r'', test2),
{% url testapp.views.test n1=5 %}
Run Code Online (Sandbox Code Playgroud)
但添加第二个参数会使结果返回空字符串.
urlpatterns = patterns('',
(r'^(?P<n1>\d)/test(?P<n2>\d)/', test),
(r'', test2),)
{% url testapp.views.test n1=5, n2=2 %}
Run Code Online (Sandbox Code Playgroud)
意见签名:
def test(request, n1, n2=1):
Run Code Online (Sandbox Code Playgroud) 几乎任何涉及文本的成熟程序都实现了"双击以选择单词",并且在某些情况下,"三次单击以选择像整行一样的其他内容"作为特征.我发现这些功能很有用,但它们在程序之间往往不一致.
示例 - 某些程序的双击不会选择单词后面的结束空格,但大多数程序都会这样做.有些人认为 - 字符是单词的结尾,有些则不然.我喜欢选择整个段落,因为当我三次点击它时,我写这篇文章,VS web开发人员2005没有三重点击支持,而超编辑32将在三次点击时选择一行.我们可以提出关于如何跨程序实现双击和三击模式匹配的无数不一致.
如果没有其他人达成关于模式匹配应该如何工作的约定,我担心如何在我的程序中实现这种行为.
我的问题是,是否存在一个约定(约定?可能是MS或Linux约定?),它们规定了这些特性应该如何对最终用户起作用?它们是什么,如果有的话?
如何在给定IP地址的情况下查找主机名?此外,如果不存在此类反向DNS条目,如何指定超时?尽量保持事物的速度.或者,还有更好的方法?谢谢!
我已经读过在SQL Server中添加表索引的权衡之一是插入/更新/删除查询的成本增加,有利于选择查询的性能.
我可以在概念上理解在插入的情况下会发生什么,因为SQL Server必须在与新行匹配的每个索引中写入条目,但更新和删除对我来说更加模糊,因为我无法完全理解数据库引擎必须要做的.
我们以DELETE为例,假设我有以下模式(请原谅伪SQL)
TABLE Foo
col1 int
,col2 int
,col3 int
,col4 int
PRIMARY KEY (col1,col2)
INDEX IX_1
col3
INCLUDE
col4
Run Code Online (Sandbox Code Playgroud)
现在,如果我发表声明
DELETE FROM Foo WHERE col1=12 AND col2 > 34
Run Code Online (Sandbox Code Playgroud)
我理解引擎必须做什么才能更新表(如果你愿意,还可以使用聚簇索引).设置索引是为了便于查找要删除的行范围并执行此操作.
但是,此时它还需要更新IX_1并且我给它的查询没有给数据库引擎找到要更新的行的明显有效方法.是否被迫在此时进行完整的索引扫描?引擎是否首先从聚簇索引中读取行并对索引生成更智能的内部删除?
如果我更好地了解幕后发生的事情,我可以帮助我解决这个问题,但我想我的真正问题是这个.我有一个数据库,它花了很多时间在删除,我试图弄清楚我能做些什么.
当我显示删除的执行计划时,它只显示表Foo上的"Clustered Index Delete"条目,该条目在详细信息部分列出了需要更新的其他索引,但我没有得到相关成本的任何指示这些其他指数.
在这种情况下它们都是平等的吗?有什么方法可以估算去除一个或多个这些指数的影响,而无需实际尝试?
我在游戏中集成了"In App Purchase",让用户解锁更多关卡.一切正常,但我最后一次提醒"谢谢你.你的购买成功了.[确定]".我的程序得知在最后一次警报弹出之前交易已成功完成,因此我的游戏再次开始运行 - 然后警报响起,使用户烦恼.我想等待我的游戏运行,直到用户触摸"确定"按钮,但由于它是来自StoreKit的警报,我不知道何时发生这种情况或者我是如何抓住它的.
我不想在警报下面创建另一个对话框(这次是我自己的,因此在我的控制之下),只是要求再次触摸"OK" - 这将是一个糟糕的用户体验.
有人有什么想法吗?
我正在寻找一个特殊的哈希函数.假设我有一个很大的字符串列表,如果我按它们的哈希值排序它们应该是随机排序的.
最重要的一点是:它必须超级快.我已经尝试过md5和sha1,他们正在使用更多的CPU功率.
冲突不是问题.
我正在使用javascript,所以它实现起来不应该太复杂.
"foo\r\nbar".replace(/(foo).+/m, "bar")
Run Code Online (Sandbox Code Playgroud)
你好.我无法理解为什么这段代码不会取代foo吧
在GWT中,通常使用如下接口加载i18n字符串:
public interface StatusMessage extends Messages {
String error(String username);
:
}
Run Code Online (Sandbox Code Playgroud)
然后从StatusMessage.property文件加载实际的字符串:
error=User: {0} does not have access to resource
Run Code Online (Sandbox Code Playgroud)
这是一个很好的解决方案,但是我的客户端对于将i18n字符串放在数据库中的要求是不可靠的,因此可以在运行时更改它们(尽管它不是要求它们实时更改).
一种解决方案是创建一个异步服务,它接受消息ID和用户区域设置并返回一个字符串.我已经实现了这个并且发现它非常难看(它引入了大量与服务器的额外通信,加上它使得属性占位符替换相当复杂).
所以我的问题是,我可以通过一些很好的方式实现一个自定义消息提供程序,它可以在一个大的空间(对于当前用户会话)加载来自后端的消息.如果它也可以挂钩到默认的GWT消息机制,那么我会非常高兴(即我可以创建一个类似于上面的接口并继续使用漂亮的{0},{1} ...属性替换格式).
我们也欢迎在GWT中提供干净的数据库驱动消息的其他建议.
我试图使用Python和Regex计算C代码中包含的注释中的字符,但没有成功.我可以先删除字符串以删除字符串中的注释,但这也会删除注释中的字符串,结果将会很糟糕.有没有机会通过使用正则表达式来评论不匹配评论中的字符串,反之亦然?
我刚刚开始学习Common Lisp,我正在尝试构建一个将数字插入树中的函数.我收到一个错误,
*** - SYSTEM ::%EXPAND-FORM :( CONS NIL LST)应该是lambda表达式
从谷歌搜索,似乎这种情况发生在你有太多的括号集,但看了一个小时左右,并改变了周围的事情,我无法弄清楚我可以做到这一点.
这是它发生的代码:
(defun insert (lst probe)
(cond ((null lst) (cons probe lst))
((equal (length lst) 1)
(if (<= probe (first lst))
(cons probe lst)
(append lst (list probe))))
((equal (length lst) 2)
((cons nil lst) (append lst nil) (insertat nil lst 3)
(cond ((<= probe (second lst)) (insert (first lst) probe))
((> probe (fourth lst)) (insert (fifth lst) probe))
(t (insert (third lst) probe)))))))
Run Code Online (Sandbox Code Playgroud)
我很确定它发生在((等于(长度为lst)2)之后,其中的想法是在现有列表中插入一个空列表,然后在末尾附加一个空列表,然后在中间插入一个空列表.
python ×3
performance ×2
regex ×2
common-lisp ×1
conventions ×1
django ×1
django-urls ×1
dns ×1
gwt ×1
hash ×1
hostname ×1
indexing ×1
iphone ×1
java ×1
javascript ×1
lisp ×1
nameservers ×1
random ×1
sql-server ×1
syntax-error ×1