我发现这个关于正则表达式的优秀教程,虽然我直观地理解"贪婪","不情愿"和"占有欲"量词的作用,但我的理解似乎存在严重漏洞.
具体来说,在以下示例中:
Enter your regex: .*foo // greedy quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.
Enter your regex: .*?foo // reluctant quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfoo" starting at index 0 and ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.
Enter your regex: .*+foo // possessive quantifier
Enter …Run Code Online (Sandbox Code Playgroud) 我在一个Java库,淘汰所有的硬编码值的过程中,不知道什么框架将是最好的(在零或近于零配置方面)来处理运行时配置?我更喜欢基于XML的配置文件,但它并不重要.
如果您对框架有实际经验,请仅回复.我不是在寻找例子,而是经验......
有没有理由说我目前的工作目录不在我的Ruby路径上?
考虑:
~:499$ irb
ruby-1.9.2-p136 :002 > puts $:
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.6.0
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin10.6.0
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0
=> nil
Run Code Online (Sandbox Code Playgroud)
这真的很困扰我,因为需要不起作用,因为我认为它会(虽然我是一个红宝石的nuby):
require 'some_file_that_I_know_darn_well_is_in_pwd.rb'
Run Code Online (Sandbox Code Playgroud)
如果我追加'.'到最后,则需求按照我的预期运行.
我错过了什么?
更新:
精氨酸!现在我遇到了一个新问题.考虑:
ruby-1.9.2-p136 :010 > `ls`
=> "start.rb\n"
ruby-1.9.2-p136 :011 > require_relative 'start'
LoadError: cannot infer basepath
from (irb):11:in `require_relative'
from (irb):11
from /Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)
现在怎么了?
我在我的网站上使用lucene,我想从查询中显示总结果数,例如:
显示结果x到z的z
但我找不到任何可以返回潜在结果总数的方法.我似乎只能找到你需要指定所需结果数量的方法,而且因为我只需要每页10个,所以将结果数传入10似乎是合乎逻辑的.
或者我做错了,我是否应该传递1000,然后在我要求的范围内取10?
我有查询,我正在运行solr索引,有时有很长的查询参数,我运行这些查询时出错,我认为这是对GET查询参数的限制.
这是我用来查询的方法(JSON),这是为了表明我正在使用Http Extensions(我使用的客户端是HttpClient的瘦包装器)而不是端到端解决方案.90%的查询运行正常,只是当参数很大时我从solr得到500错误.我在某处读过你在执行select命令时可以使用POSt的但是没有找到如何做的例子.任何帮助都会很棒!
public string GetJson(HttpQueryString qs)
{
using (var client = new DAC.US.Web.XmlHttpServiceClient(this.Uri))
{
client.Client.DefaultHeaders.Authorization = new Microsoft.Http.Headers.Credential("Basic", DAC.US.Encryption.Hash.WebServiceCredintials);
qs.Add("wt", "json");
if (!String.IsNullOrEmpty(this.Version))
qs.Add("version", this.Version);
using (var response = client.Get(new Uri(@"select/", UriKind.Relative), qs))
{
return response.Content.ReadAsString();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道使用try/exception处理空值的成本与使用if语句首先检查空值相比.
提供更多信息.获得空值的概率大于50%,因为在这个应用程序中.如果没有输入数据,则通常为null ...因此尝试使用null计算是常见的.
这就是说,如果我在计算之前使用if语句首先检查null并且不首先尝试计算,或者只是抛出异常并处理它,那么它会提高性能吗?
谢谢你的任何建议:-)
感谢您提供极好的发人深省的反馈!这是一个PSEUDOcode示例,用于澄清原始问题:
BigDecimal value1 = null //assume value1 came from DB as null
BigDecimal divisor = new BigDecimal("2.0");
try{
if(value1 != null){ //does this enhance performance?... >50% chance that value1 WILL be null
value1.divide(divisor);
}
}
catch (Exception e){
//process, log etc. the exception
//do this EVERYTIME I get null... or use an if statement
//to capture other exceptions.
}
Run Code Online (Sandbox Code Playgroud) 我想获取所选行的姓氏字段.这个根本不起作用:
users.getSelectionModel()getSelections();
我正在尝试水平和垂直对齐位图中的文本,我读了几篇文章,但我找不到解决方案.位图是一个简单的圆形图像.我发布了当前的代码.它或多或少都有效,但是文本没有完全居中,它看起来有点在左边,有点在顶部,我的意思是我似乎必须添加一个偏移来将它移动到右边和底部.
public static float convertDpToPixel(float dp, Context context) {
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * (metrics.densityDpi / 160f);
return px;
}
v = (ImageView) findViewById(R.id.imageView1);
Bitmap b = BitmapFactory.decodeResource(getResources(),
R.drawable.marker).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(b);
Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
textPaint.setARGB(255, 0, 0, 0);
textPaint.setTextAlign(Align.CENTER);
textPaint.setTypeface(Typeface.DEFAULT_BOLD);
textPaint.setTextSize(convertDpToPixel(9, this));
String text = "30";
int xPos = (canvas.getWidth() / 2);
int yPos = (int) ((canvas.getHeight() / 2) - ((textPaint.descent() +
textPaint.ascent()) / 2)) ; …Run Code Online (Sandbox Code Playgroud) 该应用程序是使用Sencha Architect开发的,它使用大量辅助文件来管理各种与IDE相关的东西(导出路径,IDE的版本控制等).
每当团队成员在Sencha Architect IDE中打开项目时,其中一些文件就会更改.
举一个特别烦人的变化的例子,考虑exportPathArchitect生成的*.xds文件中的属性.我将选择一个服务器发布到特定路径,其他团队成员将具有不同的服务器/路径配置.
在我们的代码库中,我非常希望拥有IDE文件:
这里需要注意的关键是,Sencha Architect希望文件位于相对于项目的某些位置,因此IDE文件必须与普通源文件位于同一位置.
此外,使用.gitignore不是一种选择,因为Sencha Architect将在其中一些信息中写入对其他团队成员正确打开它们至关重要的信息.例如,在打开项目时,Sencha Architect可以决定将项目升级到更新的版本(如果你想打开项目那么它是非可选的),并且在更新过程中,IDE会修改一些源代码. - 代码文件.其他团队成员必须知道版本升级才能正确打开项目.
这个SO问题给出了Sencha使用的复杂格式的一些背景知识.我对Sencha Architect的体系结构评估中的负面语气进行了赦免,但似乎他们采用了一个好主意(使用元数据和代码生成)有点过头了(使所有优秀的unix工具(包括git)的使用无效).
这里首选的方法是什么?为什么?
ide git version-control configuration-management sencha-architect
任何人都可以帮助我:我试图在html中将一个div(比如10px x 10px)元素放在canvas元素(比如说500px乘500px)的顶部(前面).我试过改变每个的z-index,但没有用.有没有人有任何想法,或者这是你真正做不到的事情之一?我已经知道如何进行绝对定位和一切,div元素只是挂在canvas元素后面的背景中.我需要一种方法将它带到前面,将画布元素带到后面.
谢谢!
我不确定它是否可能,但我的命令行用例是这样的:
做svn更新
做一个 svn log -l {how many times since my last commit - 1}
做一个`svn diff -rHEAD:{我的最后一次提交修订+ 1}
并尝试概述自上次触摸代码以来发生的事情.我从中获得了大量有价值的信息,并希望我的团队中的每个人都能获得相同的控制感和代码库概述.
我团队中的每个人都不熟悉命令行,但喜欢哈德森界面.
所以; 自从上次构建(我们在每个提交中进行构建)以来,在单个构建页面中是否有一种方法可以实现提交差异?
我不再在我的XAML中获得智能感知.不久前,我在VS 2008中更改了一些设置.我相信其中一个与自动加载工具箱有关.其次,我将默认的XAML编辑器更改为XML编辑器而不是设计器.Visual Studio只是表现得太慢了,这似乎解决了我的问题.现在,我需要再做一些设计师的工作而且我没有得到intellisense.如果我转到工具 - >选项 - >文本编辑器 - > XAML,则自动列表成员将显示为灰色.按Ctrl空间为我提供了它,但我不想一直这样做.另外,我注意到我甚至无法将网格从工具箱拖到XAML上.顺便说一句,我确实安装了resharper.这会过度强大一些VS选项吗?有任何想法吗.
c# ×2
java ×2
.net ×1
android ×1
css ×1
diff ×1
drawtext ×1
extjs ×1
extjs4 ×1
frameworks ×1
git ×1
html5 ×1
httpclient ×1
hudson ×1
ide ×1
intellisense ×1
irb ×1
lucene.net ×1
regex ×1
regex-greedy ×1
ruby ×1
solr ×1
svn ×1
xml ×1