从我的角度来看,我们在内部构建了我们自己的"味道"NAnt/Ivy/CruiseControl.Net并且不禁让人觉得其他开发商店正在做同样的工作,但后来每个人都在发现同样的问题和陷阱.
我并不是在抱怨NAnt,Ivy或CruiseControl,因为他们在帮助我们的开发团队更加确定他们的代码质量方面做得非常出色,但这些工具非常受欢迎似乎很奇怪,但我们所有人都重新发明了CI轮.
是否有使用上述工具构建.Net应用程序的预制解决方案?
cruisecontrol.net nant continuous-integration build-process ivy
请考虑以下代码:
<?php
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $conn);
?>
Run Code Online (Sandbox Code Playgroud)
这可以按预期工作,但PHP如何知道mysql_select_db()在以下示例中调用时要使用的数据库连接?
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
?>
Run Code Online (Sandbox Code Playgroud)
PHP文档声明"如果未指定链接标识符,则假定mysql_connect()打开的最后一个链接." (PHP:mysql_select_db())
存储或检索的最后一个连接在哪里?
我使用MSpec相对较新,因为我编写了越来越多的测试,显然减少重复,你经常需要根据Rob Conery的文章使用基类进行设置
我很高兴使用AssertWasCalled方法来验证我的期望,但是你在哪里设置了stub的返回值,我发现在基类中设置上下文注入我的依赖项很有用但是(我认为)意味着我需要在我觉得错误的因委托中设置我的存根.
我错过了更好的方法吗?
我在Delphi 2010中一直在试验TMask,它似乎按预期工作,除了在一种情况下:当掩码名称包含[或]时,掩码似乎总是返回false.例如:
var
MaskObj : TMask;
begin
MaskObj:= TMask.Create('c:\[test]\*');
try
Result:= MaskObj.Matches('c:\[test]\text');
finally
FreeAndNil(MaskObj);
end;
end;
Run Code Online (Sandbox Code Playgroud)
返回false....
是的,[和]是文件名中的合法字符.因此,如果我想排除例如c:[test]*中的所有文件,我该怎么办?我唯一的解决方案是在检测到[但是这对于大量文件来说会很慢时执行StringReplace :
if (pos('[', Mask)>0) then
begin
mask:= ReplaceString(Mask, '[','_', etc...
// and do the same for the file name---
end;
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?
我有一个奇怪的问题(至少对我来说:))与MySQL的锁定工具.
我有一张桌子:
create table `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
有了这些数据:
+ ---- +
| id |
+ ---- +
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 10 |
| 11 |
| 12 |
+ ---- +
现在我有2个客户端在开头执行这些命令:
set autocommit = 0;
设置会话事务隔离级别可序列化;
开始;
现在最有趣的部分.第一个客户端执行此查询:(意图插入id等于9的行)
SELECT*from test where id = 9 FOR UPDATE;
空集(0.00秒)
然后第二个客户端做同样的事情:
SELECT*from test where …
我在一个结构严重的svn repo中有一个分支,需要被剥离并移动到另一个svn存储库.(我正试图清理一些).
如果我做了一个svn log而不是停止复制/重命名,我可以看到我关心的所有3427个提交.除了编写一些主要脚本之外,有没有办法将修订版转出?
我会按照这个问题的建议,但这个分支已被移动到所有地方,我也想保留这些动作.
谁能检查我的解决方案?
如果字符串“ cat”和“ dog”在给定的字符串中出现相同的次数,我想返回true。有各种字符串,它们的“ cat”和“ dog”数目不同。
public boolean catDog(String str)
{
int catAnswer = 0;
int dogAnswer = 0;
int cat_Count = 0;
int dog_Count = 0;
for (int i=0; i< str.length()-1; i++)
{
String sub = str.substring(i, i+2);
if ((sub.equals("cat"))) cat_Count++;
if ((sub.equals("dog"))) dog_Count++;
catAnswer = cat_Count;
dogAnswer = dog_Count;
} //end for
if(dogAnswer == catAnswer ) {return true;}
// else
return (dogAnswer != catAnswer);
}
Run Code Online (Sandbox Code Playgroud)
更新:
如果我使用i + 3,则会收到错误代码Exception:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:7(行号:10)-因此,我使用i + 2(没有错误报告)
更改为i <str.length()-4可以得到全真响应,尽管某些测试字符串包含不相等数量的“ cat”和“ dog”标记
问题的症结在于,当各种字符串中存在“ cat”和“ dog”的可变数字时,响应要么全为真要么全为假 …
我的网站的error.log文件说
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://URL/TO/REFERER
Run Code Online (Sandbox Code Playgroud)
我的问题是,什么是LogLevel?我用谷歌搜索了它,但似乎我只是得到了关于java的东西.我们的网站是PHP.
更新
我添加LogLevel debug到apache2.conf并重新启动了apache但在错误日志中没有任何不同.
我在IIS 6中使用自定义错误页面:
<customErrors redirectMode="ResponseRedirect" mode="On" defaultRedirect="Error2.aspx"/>
Run Code Online (Sandbox Code Playgroud)
我想禁用自定义错误页面的身份验证,因为引发的错误与身份验证模块有关,我不想进入无限循环,我想向用户显示一个干净的错误页面.我一直在尝试以下配置来做到这一点.
<location path="Error2.aspx">
<system.web>
<authentication mode="None"/>
<authorization>
<allow users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
我收到设置身份验证模式的行的System.Configuration.ConfigurationErrorsException.
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.
我已经验证应用程序的文件夹下的子目录中没有其他web.config文件.Applications文件夹在IIS中配置为应用程序,错误页面位于应用程序的根目录下.为IIS中的错误页面设置的文件权限包括匿名和Windows身份验证(我也尝试过匿名).
我似乎无法弄清楚如何从内存中的位图加载pictureBox图像.是否可以或者我必须为位图创建临时文件?