目前我有:
$page = basename($_SERVER['REQUEST_URI']);
<li<?php if($page == 'index.php?page=product') print ' id="current"'; ?>><a href="index.php?page=product">Products</a></li>
Run Code Online (Sandbox Code Playgroud)
但是当url类似于index.php?page = product&item = 100
类'id = current'不适用.
任何解决方法?
谢谢你的帮助.
在另一次压力释放之后,软件工程师会遇到什么?好吧,我们在小组中遇到的第一件事是我们在公开场合发布的错误.我们作为软件工程师在压力释放后遇到的最大问题是意大利面条代码,也称为泥球.
追求完美的时间和金钱很少可用,也不应该.为了生存,我们必须尽一切努力让我们的软件按时运转.事实上,如果一个团队有时间完成一个项目,今天的管理人员很可能会将其作为一个标志,以便在下一次提供更少的时间和金钱或更少的人.
您需要在预算范围内按时交付高质量的软件
成本:架构是一项长期投资.支付账单的人很容易解雇,除非有一些切实的直接利益,如税务注销,或者除非有多余的资金和时间可用.这种情况很少发生.更常见的是,客户需要明天工作的东西.通常,控制和管理开发过程的人根本不认为架构是一个紧迫的问题.如果程序员知道工艺是看不见的,而管理者无论如何也不想为此付出代价,那么就会产生恶性循环.
但如果真的如此,那么每个长期的软件项目最终都会导致一团糟.
我们知道并非总是会发生.怎么会?因为管理者不把架构视为紧迫问题的说法是错误的.至少现在.IT领域的管理人员非常清楚可维护性是业务的关键.
业务依赖于驱动它的数据.企业已经变得严重依赖于他们的软件和计算基础设施.有许多关键任务系统必须每周二十四小时/每周七天播出.如果这些系统出现故障,则无法检查库存,无法支付员工费用,无法路由飞机等.[..]
因此,寻求方法使系统远离泥泞的大球是业务的核心.该系统仍然可维护.系统实际上是有效的,而且你作为程序员可以证明它确实如此.你的经理是否问你今天是否完成了编码,她是否会问你是否可以在今天完成修复A,B和C的版本,或者她是否询问将要发布的软件是否真的有效?你证明它有效吗?什么?
现在我的问题:
我们有什么方法可以向我们的经理和/或利益相关者证明我们的软件有效?我们软件单元测试的那些绿灯是否足够好?如果是的话,那不仅仅证明我们的泥球仍在按照我们的预期行事吗?该软件是否可维护?你怎么能证明你的设计是对的?
[后来添加]
Chris Pebble他的回答是让我的团队走上正轨.质量保证绝对是我们正在寻找的东西.谢谢克里斯.与利益相关方达成一致的QA政策不是我的团队所寻求的合乎逻辑的结果.
后续问题是质量保证政策应该是什么?
更多信息:我领导的团队正在构建其他软件团队所使用的Web服务.这就是为什么破坏网络服务立即花钱的原因.当演示层团队的开发人员或实际的测试人员无法前进时,我们立即面临压力并且必须尽快修复错误,这反过来会导致快速破解.
[稍后补充]
感谢所有的答案.这确实是关于'信任'.如果利益相关者不信任该软件,我们就无法发布,他们正在使用使用我们的网络服务的网站自行测试我们的软件.出现问题时,我们测试人员的第一个问题是:它是服务层问题还是表示层问题?这导致我有一个质量保证政策,确保我们的软件可以用于他们正在进行的测试.
因此,我能够(现在)设想与测试人员建立信任的唯一方法是: - 与当前的测试团队交谈,检查他们能够手动执行的测试(来自他们的测试脚本和场景)并确保我们的团队将这些测试作为单元测试已经检查过我们的Web服务.在我们发布presentationlayerteam必须集成的版本之前,这将是一个"签字"的良好起点.需要花费一些精力来澄清为所有这些场景创建自动测试需要一些时间.但它肯定会有用,以确保我们构建的实际工作.
我正在使用Nokogiri :: XML来解析来自Amazon SimpleDB的响应.响应类似于:
<SelectResponse xmlns="http://sdb.amazonaws.com/doc/2007-11-07/">
<SelectResult>
<Item>
<Attribute><Name>Foo</Name><Value>42</Value></Attribute>
<Attribute><Name>Bar</Name><Value>XYZ</Value></Attribute>
</Item>
</SelectResult>
</SelectResponse>
Run Code Online (Sandbox Code Playgroud)
如果我直接将响应交给Nokogiri,则所有XPath查询(例如doc/"//Item/Attribute[Name='Foo']/Value")都会返回一个空数组.但是如果我xmlns从SelectResponse标签中删除属性,它就能完美运行.
是否需要做一些额外的事情来解释名称空间声明?这种解决方法感觉非常像黑客.
我认为在URI中使用冒号是"非法的".然后我看到vimeo.com正在使用像http://www.vimeo.com/tag:sample.
我正在尝试使用resharper testrunner调试单元测试,但它不起作用.在我的断点被点击之前,Visual Studio会弹出一个消息框"没有可用于当前位置的源代码".如果按OK,则表示LoadFromContextException.
想法有人吗?
我有一个StreamReader,偶尔会检查是否有更多要从简单的文本文件中读取.它使用peek属性.问题在于,当我使用peek时,位置会发生变化,而不是假设.
FileStream m_fsReader = new FileStream(
m_strDataFileName,
FileMode.OpenOrCreate,
FileAccess.Read,
FileShare.ReadWrite );
StreamReader m_SR = new StreamReader(m_fsReader);
Console.WriteLine("IfCanRead SR Position " + m_fsReader.Position +
" and Length " + m_fsReader.Length);
if (m_SR.Peek() == -1) {
Console.WriteLine("IfCanRead false 2 SR Position " +
m_fsReader.Position + " and Length " + m_fsReader.Length);
return false;
}
else {
Console.WriteLine("IfCanRead true 2 SR Position " +
m_fsReader.Position + " and Length " + m_fsReader.Length);
return true;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Ganesh非常精彩的jCarouselLite jQuery插件在页面顶部显示滚动的一系列缩略图.容器div必然有溢出:隐藏以限制任何时候显示的缩略图数量.当鼠标悬停在缩略图上时,我想显示更大版本的缩略图.我大部分时间都在使用CSS,但由于溢出设置,我无法说服大图像显示在父div的范围之外,并且在该div中显示"已剪切".
这可能使用CSS吗?
我刚刚开始使用C#.我正在运行一个对象的函数作为一个线程(新的线程(myFunc).Start()).
当函数完成时线程是否会自行消除,还是我必须手动删除它?如果我必须,最好的方法是什么(我可能不知道什么时候完成等)?
感谢名单!
我的asp.net应用程序是3个静态页面(没有数据库),它使用48Mb的内存进行初始化.
我可以配置应用程序以减少内存使用吗?
注意:我已经在IIS中设置了内存限制.我将工作进程的最大值设置为30 MB的物理内存.
我可以采用哪些其他方法来使ASP.NET使用更少的内存?
我正在实现一些算法来教自己关于图形以及如何使用它们.你会推荐什么是在Java中最好的方法?我在想这样的事情:
public class Vertex {
private ArrayList<Vertex> outnodes; //Adjacency list. if I wanted to support edge weight, this would be a hash map.
//methods to manipulate outnodes
}
public class Graph {
private ArrayList<Vertex> nodes;
//algorithms on graphs
}
Run Code Online (Sandbox Code Playgroud)
但我基本上只是做了这件事.有没有更好的办法?
此外,我希望它能够支持诸如有向图,加权边,多图等香草图的变化.