我使用以下代码进行测试,似乎<慢于> =.,有谁知道为什么?
import timeit
s = """
x=5
if x<0: pass
"""
t = timeit.Timer(stmt=s)
print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
#0.21 usec/pass
z = """
x=5
if x>=0: pass
"""
t2 = timeit.Timer(stmt=z)
print "%.2f usec/pass" % (1000000 * t2.timeit(number=100000)/100000)
#0.18 usec/pass
Run Code Online (Sandbox Code Playgroud) 我使用以下代码将模板呈现为一个我可以在以后使用的字符串:
renderer = ActionView::Base.new(MyApp::Application.config.view_path)
# INCLUDE HELPERS HERE
data = renderer.render(:partial => template, :locals => locals)
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够访问一些帮助程序(实际上所有).在rails 2.3中,我能够做到这一点:
renderer.extend ApplicationController.master_helper_module
Run Code Online (Sandbox Code Playgroud)
但是,从Rails 3开始,这不再有效.那么,如何让我的帮助方法可用于我的模板?
我们有两个相同大小的排序数组n.我们称之为数组a和b.
如何找到由a和b合并的排序数组中的中间元素?
Example:
n = 4
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
merged = [1, 2, 3, 3, 4, 4, 5, 6]
mid_element = merged[(0 + merged.length - 1) / 2] = merged[3] = 3
Run Code Online (Sandbox Code Playgroud)
更复杂的情况:
情况1:
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
案例2:
a = [1, 2, 3, 4, 8]
b = [3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)
案例3:
a = [1, 2, 3, 4, 8]
b = …Run Code Online (Sandbox Code Playgroud) 我尝试编写xpath表达式,以便我的测试不会被小的设计更改破坏.因此,不是Selenium IDE生成的表达式,而是编写自己的表达式.
这是一个问题:
//input[@name='question'][7]
Run Code Online (Sandbox Code Playgroud)
这个表达式根本不起作用.名为"问题"的输入节点分布在整个页面上.他们不是兄弟姐妹.
我尝试过使用中间表达式,但也失败了.
(//input[@name='question'])[2]
error = Error: Element (//input[@name='question'])[2] not found
Run Code Online (Sandbox Code Playgroud)
这就是为什么我认为Seleniun有一个错误的XPath实现.
根据XPath文档,位置谓词必须按节点集中的位置进行过滤,因此必须找到input带有名称的第七个'question'.在Selenium中,这不起作用.CSS选择器(:nth-of-kind)也没有.
我不得不写一个过滤他们共同父母的表达式:
//*[contains(@class, 'question_section')][7]//input[@name='question']
Run Code Online (Sandbox Code Playgroud)
这是一个特定的Selenium问题,还是我错误地阅读了规范?我该怎么做才能缩短表达方式?
我们正在开发一个applet,需要它能够在用户的临时文件目录中读/写文件(例如C:\ Documents and Settings\USERNAME\Local Settings\Temp).
applet已签名,用户单击applet启动时的'allow'选项,并且Java控制面板启用了"允许用户授予对已签名内容的权限"和"允许用户向不受信任的权限授予内容权限".
但是,在启动时,我们得到一个SecurityException:
java.lang.SecurityException: Unable to create temporary file
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at com.jniwrapper.util.AppletHelper.b(SourceFile:104)
at com.jniwrapper.util.AppletHelper.a(SourceFile:79)
at com.jniwrapper.util.AppletHelper.b(SourceFile:50)
at com.jniwrapper.util.AppletHelper.init(SourceFile:122)
at com.x.Y.init(Y.java:31)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.SecurityException: Unable to create temporary file
Run Code Online (Sandbox Code Playgroud)
如果我们编辑java.policy文件以授予所有内容,那么applet工作正常,但这显然是不安全的.我们必须授予哪些最小权限才能允许applet在用户的临时文件目录中读/写/创建文件?
有没有办法修改反向引用的值?
示例:在以下文本中
"this is a test"
Run Code Online (Sandbox Code Playgroud)
应该通过反向引用提取“测试”一词并插入到另一个文本中。
正则表达式:
(test)
Run Code Online (Sandbox Code Playgroud)
替代品:
"this is another \1"
Run Code Online (Sandbox Code Playgroud)
到目前为止效果很好。但现在的问题是,是否可以在插入之前修改反向引用。类似于将单词“test”转换为大写。
我认为它可能看起来像:
"this is another \to_upper\1"
Run Code Online (Sandbox Code Playgroud)
正则表达式的“标准”(是否有任何标准?)中是否定义了某些内容?
我正在运行时构建一个URL.到目前为止,我已经做过像
public string BuildURLAndNavigate(CodeType codeType)
{
string vURL = string.Empty;
string mstrNavServer = "http://some.com/nav";
vURL = ConcatenateString(mstrNavServer , "/somepage.asp?app=myapp");
//Build Code Type
switch (codeType)
{
case CodeType.Series:
vURL = ConcatenateString(vURL , "&tools=ser");
break;
case CodeType.DataType:
vURL = ConcatenateString(vURL , "&tools=dt");
break;
}
//build version
string VER_NUM = "5.0";
vURL = ConcatenateString(vURL , ConcatenateString("&vsn=" , VER_NUM));
return vURL;
}
private string ConcatenateString(string expression1, string expression2)
{
return string.Concat(expression1 + expression2);
}
Run Code Online (Sandbox Code Playgroud)
但我对我正在做的那个不满意.
我相信肯定有一种比这更好的做法/更好的方法.
请帮助我指导相同的事情.
谢谢
我一直在编写一个监视目录的程序,当在其中创建文件时,它会更改名称并将它们移动到新目录.在我的第一个实现中,我使用了Java的Watch Service API,当我测试1kb文件时,它运行良好.出现的问题是,实际上创建的文件是50-300mb.当发生这种情况时,观察者API会立即找到该文件,但由于它仍在被写入,因此无法移动它.我尝试将观察者放在循环中(生成异常,直到文件可以移动),但这看起来效率很低.
由于这不起作用,我尝试使用定时器,每隔10秒检查一次文件夹,然后尽可能移动文件.这是我最终选择的方法.
问题:无论如何在没有进行异常检查或不断比较大小的情况下发出文件写入信号?我喜欢为每个文件使用Watcher API一次,而不是使用计时器不断检查(并运行异常).
所有回复都非常感谢!
NT
我被赋予了设计新的基于网络的交易系统的架构的任务.
我看到Scott Gu对于推出MVC版本的任务非常热门,但是我看它们越多,我对Classic ASP的看法就越少.
由于经典的ASP程序员的可用性,我正在考虑使用它而不是向程序员支付高价,然后需要提升.业务用户只需要html输出,他们都这样做(Classic ASP没有Script Manager有效负载,JQuery与classic集成.)
其他任何人都面临这个决定,以及对利弊的任何想法?谢谢
越来越多的移动平台正在推出,开发人员可以使用sdk.有各种移动平台可用:Android,iOS,Moblin,Windows mobile 7,RIM,symbian,bada,maemo等.
跨平台应用程序的制作是开发人员头疼的问题.我正在寻找跨平台的常见事物,这将有助于希望将应用程序移植到所有平台的开发人员.像差异屏幕分辨率,输入法,open gl支持等,请分享您知道的任何平台的详细信息.
或者是否有可能,通过在html(widget类型的东西)中编写代码并将其加载到本机应用程序中.我知道android,我们可以通过调用将web视图添加到应用程序中setContentView(view)
请分享我们可以将html视图添加到您知道的不同类型平台的本机应用程序中的类详细信息.
此线程的目的是在开发人员之间共享共同的细节.标记为社区维基.
跨平台工具和库
XMLVM,Codename One和iSpectrum(从Android应用程序交叉编译Java代码或从头开始创建一个
Phone Gap(跨平台移动应用)
Titanium(使用Web技术构建原生移动和桌面应用程序)
单声道触控(适用于iphone的C#)
rhomobile - http://rhomobile.com/ 样本在这里:http://github.com/rhomobile/rhodes-system-api-samples
Sencha Touch - Sencha Touch是一个HTML5移动应用程序框架,允许您开发在Apple iOS和Google Android触摸屏设备上看起来和感觉原生的Web应用程序.http://www.sencha.com/products/touch/
Corona - Iphone/Ipad/Android应用程序跨平台库.太棒了. http://anscamobile.com/corona/
将现有Android应用程序移植到Windows Phone 7的指南 http://windowsphone.interoperabilitybridges.com/articles/windows-phone-7-guide-for-iphone-application-developers
java ×2
algorithm ×1
android ×1
applet ×1
asp-classic ×1
asp.net-mvc ×1
blackberry ×1
c# ×1
c#-3.0 ×1
directory ×1
file ×1
ios4 ×1
optimization ×1
performance ×1
permissions ×1
python ×1
regex ×1
security ×1
selenium ×1
watch ×1
xpath ×1