如果该字符串以"1"开头,如何从任何字符串中删除第一个"1"?
"1hello world" => "hello world"
"112345" => "12345"
Run Code Online (Sandbox Code Playgroud)
我正在考虑做
string.sub!('1', '') if string =~ /^1/
Run Code Online (Sandbox Code Playgroud)
但我想知道有更好的方法.谢谢!
我有一个.NET DLL和应用程序.DLL是用C++/CLI编写的,它是"混合的",即部分托管代码和部分原生代码.
我有两个目标:
1.混淆所有托管代码,使其无法被反汇编
2.混淆混合DLL的公共方法/类,以便没有人可以在自己的应用程序中使用DLL,即加扰公共名称.
是的,我理解混淆不完美,人们仍然可以弄清楚,等等等等.这两个目标是管理要求.我发现可以处理的唯一应用程序似乎是Dotfuscator专业版.不幸的是,这是令人难以置信的烦人的应用程序之一,你必须请求推销员告诉你价格.有没有人知道另一种解决方案,或者知道购买便宜的合法副本的好地方?
不要告诉我在托管代码中重写DLL,这需要一个月的工作,我永远不会得到批准.:-)
请注意,我对混淆的好坏并不特别偏执.任何扰乱应用程序中所有方法和类的名称的东西都可能足够好.
以下是我尝试的其他混淆器:
Dotfuscator Community Edition随Visual Studio 2008一起提供,但不支持混合程序集.
Eazfuscator .NET简单而且免费,但不支持混合程序集.
单个许可证的{smartassembly}是500美元.它有一些有趣的功能,但它不支持混合程序集.
蝾螈是800美元.声称完全支持混合程序集,但每当我尝试使用混淆的dll时,应用程序崩溃了
单个开发人员许可证的.NET Reactor为180美元.它支持混合DLL的"部分"混淆.不幸的是,如果你混淆DLL上的公共类型它不起作用,.exe无法找到类.它有能力将DLL合并/打包成.exe,但是当你使用混合DLL执行它时它不起作用(exe无法找到DLL的程序集,即使它是.exe的一部分)
单个许可证的Skater是300美元.我没有在他们的网站上看到任何声称它支持混合组件的东西,我厌倦了尝试应用只是为了失望所以我会假设它没有.
我也尝试过Microsoft的ILMerge,看看我是否可以将DLL与.exe合并然后进行混淆,但看起来它也混淆了DLL.
有关替代Dotfuscator的建议或购买合法副本的好地方吗?我找到了几个声称卖得便宜的无名网站,但我认为这些是俄罗斯盗版.
我需要使用Lucene在Books数据库上进行多字段级搜索.
例如:我的搜索条件是这样的:
(Author:a1 and title:t1) OR (Author:a2 and title:t2) OR (Author:a3 and title:t3)
Run Code Online (Sandbox Code Playgroud)
其中a1,t1等等分别是作者姓名和书名.如何获取为此类条件构建的Lucene Query对象?
谢谢!
假设我想要一个项目,以及一对多的待办事项,并想要任意重新订购待办事项?
在过去,我添加了一个带编号的订单字段,当有人想要更改订单时,必须使用新的订单号更新所有商品.这可能是最糟糕的方法,因为它不是原子的,需要多次更新.
我注意到Django有一个多值的CommaSeparatedIntegerField,它可以通过将订购的密钥存储在项目表的一个字段中的待办事项表中的项目来包含订单.
我考虑过一个杜威十进制系统,如果我想把项目3放在1和2之间,我会把它的订单号改为1.5.
有些东西告诉我,虽然我有一个更容易的选择...
你如何命令一对多的关系?
使用silverlight作为主机,是否有可能构建一个良好的中型到全尺寸应用程序?
需要做的一些事情: - 动态页面(一个silverlight"屏幕"可以在屏幕之间切换,就像普通应用程序一样. - 类似于从浏览器启动的java applet
我看到Telerik为WPF销售RadControls ......但是这对我来说是有用的(如果Silverlight可以通过网络成为一个富客户端平台).
我正在重构一些客户端-服务器代码,它使用术语“响应”、“结果”和“回复”来表示同一件事(来自服务器的答案)。虽然它并不是那么重要,但在编写新代码时很难猜测要使用哪个词,所以我想将这三个术语统一为一个术语并进行适当的重构,但我不确定哪个词是“最好”,如果有这样的事情的话。
根据优先级和标准对此案例的命名有什么建议吗?
以下代码在Python 2.5和3.0中按预期工作:
a, b, c = (1, 2, 3)
print(a, b, c)
def test():
print(a)
print(b)
print(c) # (A)
#c+=1 # (B)
test()
Run Code Online (Sandbox Code Playgroud)
但是,当我取消注释行(B)时,我得到了UnboundLocalError: 'c' not assigned一行(A).的值a和b被正确地打印.这让我感到困惑,原因有两个:
为什么在行(A)处抛出运行时错误,因为后面的行(B)语句?
为什么变量a和b打印符合预期,同时c引发错误?
我能想到的唯一解释是,赋值创建了一个局部变量,即使在创建局部变量之前,它也优先于"全局"变量.当然,变量在存在之前"窃取"范围是没有意义的.cc+=1c
有人可以解释一下这种行为吗?
我正在使用一个包含Action列的循环创建HTML.该列是一个超链接,当用户点击调用JavaScript函数并传递参数时...
例:
<a href="#" OnClick="DoAction(1,'Jose');" > Click </a>
<a href="#" OnClick="DoAction(2,'Juan');" > Click </a>
<a href="#" OnClick="DoAction(3,'Pedro');" > Click </a>
...
<a href="#" OnClick="DoAction(n,'xxx');" > Click </a>
Run Code Online (Sandbox Code Playgroud)
我希望该函数使用正确的参数调用Ajax jQuery函数.
有帮助吗?
我在一些代码中注意到了一段时间的以下语法:
if( NULL == var){
//...
}
Run Code Online (Sandbox Code Playgroud)
要么
if( 0 == var){
//...
}
Run Code Online (Sandbox Code Playgroud)
和类似的事情.
有人可以解释为什么写这个的人选择这种符号而不是常用的var == 0方式)?
这是一种风格问题,还是以某种方式影响性能?
我正在尝试评估是否应该将.NET Framework作为我的新Windows应用程序的要求.我相信.NET是编写Windows客户端应用程序的最佳和最有效的方式,因此它归结为下一个最佳替代方案的痛苦程度.具体来说,我试图避免安装.NET客户端配置文件,它下载28MB,如果它像常规的.NET Framework安装程序,则需要永远.
我之前使用过wxWidgets和WTL,认为两者都是不错的选择.静态链接的wxWidgets可执行文件是30MB,但它将被打包.WTL占用空间小,但是使用丑陋的代码创建.我使用了一些MSI创建者,但它不是WiX或NSIS,这似乎是最好的免费选项.
我正在寻找任何建议,客户端配置文件安装程序的经验,小型自定义业务应用程序的经验或任何相关的建议.
编辑:我这里只赚了几千美元,所以我正在寻找免费或便宜的东西(在我已经拥有的Visual Studio之后).我不介意用一种新语言学习,但我更喜欢一种正在使用的语言.
.net ×2
c++ ×2
c ×1
client ×1
comparison ×1
django ×1
function ×1
html ×1
javascript ×1
jquery ×1
lucene ×1
mixed ×1
obfuscation ×1
parameters ×1
python ×1
refactoring ×1
ruby ×1
scope ×1
silverlight ×1
sql ×1
string ×1
syntax ×1
terminology ×1
variables ×1
windows ×1