您对如何组织和命名实用程序类有任何意见吗?
每当我遇到一些代码复制时,可能只是几个代码行,我将它们移动到实用程序类.
过了一会儿,我往往会得到很多的小静态类,通常只有一个方法,我usualy放在一个utility是它和类臃肿的命名空间.
例子:
ParseCommaSeparatedIntegersFromString( string )
CreateCommaSeparatedStringFromIntegers( int[] )
CleanHtmlTags( string )
GetListOfIdsFromCollectionOfX( CollectionX )
CompressByteData( byte[] )
Run Code Online (Sandbox Code Playgroud)
通常,命名约定会告诉您将类命名为名词.我经常最终得到很多类HtmlHelper,CompressHelper但它们的信息量不大.我也尝试过非常具体的HtmlTagCleaner,通常每个实用程序方法最终会有一个类.
您对如何命名和分组这些辅助方法有任何想法吗?
我需要能够像这样设置我的对象:
$obj->foo = 'bar';
Run Code Online (Sandbox Code Playgroud)
然后在设置之后我需要以下是真的
if($obj['foo'] == 'bar'){
//more code here
}
Run Code Online (Sandbox Code Playgroud) 我正在做一个我需要btree或b + tree数据结构的项目.有没有人知道btree或b + tree的现有实现(带插入,删除,搜索算法)?它应该接受字符串作为输入并形成这些字符串的btree或b + tree.
我正在阅读一家"网络应用程序安全"公司的报告,该公司一直在扫描我正在为之工作的公司的几个网站.从报告中看来 - 似乎是在没有任何人为参与的情况下编写的 - 有几次尝试使用这样的请求打破我们的网站:
DEBUG /some_path/some_unexisting_file.aspx
Accept: */*
More-Headers: ...
Run Code Online (Sandbox Code Playgroud)
我们服务器的结果令我感到惊讶:
HTTP/1.1 200 OK
Headers: ...
Run Code Online (Sandbox Code Playgroud)
正如DEBUG在HTTP 1.1规范中似乎没有提到的那样,我希望结果是400 Bad Request或405 Method Not Allowed.
从早期关于SO的问题,我已经了解到DEBUG动词用于某种类型的ASP.NET应用程序的远程调试,但在该问题或其答案中没有很多细节可用.
DEBUG动词究竟用于什么?200 OK使用此动词时,为什么应用程序会回答无效的URL?这是安全问题吗?围绕DEBUG动词有任何潜在的安全问题,ASP.NET开发人员/系统管理员应该知道吗?
任何见解/建议/参考将不胜感激.
我有一个HTML表单,在"?"之后截断action参数 标记 - 这不是我想要的行为.
这是一个有代表性的HTML代码段:
<form action="http://spufalcons.com/index.aspx?tab=gymnastics&path=gym">
<input type="submit" value="SPU Gymnastics"/>
</form>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,提交按钮会将您带到" http://www.spufalcons.com/index.aspx "页面,实际上忽略了"?tab = gymnastics&path = gym"参数.似乎action = URL中引用的所有HTML和PHP页面都按预期工作.这种行为在所有主流浏览器(IE,FF,Safari,Chrome,Opera)中都是一致的.
以前有人见过这个问题吗?或者可以建议与我的"纯"CSS/HTML/PHP Web开发方法一致的替代和/或解决方法?我已经尝试用HTML实体值替换特殊字符而没有任何影响.我真的不想使用Javascript或按钮PNG或图像映射放弃我的CSS样式的提交按钮.
环境:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">TIA - 特伦特
我已经开始研究Hadoop了.如果我的理解是正确的,我可以处理一个非常大的文件,它会分裂到不同的节点,但是如果文件被压缩,那么文件就无法分割,而且需要由单个节点处理(有效地破坏了优势)运行mapreduce ver并行机器集群).
我的问题是,假设上述内容是正确的,是否可以手动将固定大小的块或每日块拆分大文件,压缩它们然后传递压缩输入文件列表以执行mapreduce?
好的,这将是我第三次击败一匹垂死的马.
但是,这个问题与我之前的两个关于闭包/代表的问题不同,后者询问代表的计划以及闭包的预计规范和实现是什么.
这个问题是关于 - 当我们可以简单地从我们心爱的友好邻居 - 微软窃取委托锁,股票和桶的整个概念时,为什么Java社区在努力定义3种不同类型的闭包.
有两个非技术性的结论我很想进入:
好的,除了以上两种可能性,
Q1..NET风格的代理中是否存在三种(或更多种)封闭形式会解决的弱点或不足之处?
Q2.我在Java和C#之间转换时问这个问题,它让我感到兴奋的是C#代理完全符合我的需要.是否有可在C#代理中当前不可用的闭包中实现的功能?如果是这样,他们是什么因为我看不到我需要什么比C#代表给我足够的东西?
Q3.我知道在java中实现闭包/委托的一个问题是减少语言的正交性,其中不止一种方式暴露于执行特定任务.为了确保java保持其正交性水平,是否值得花费卷积和花费时间来避免代表?在关系设计中,我们知道通过经常充分满足第二范式而破坏正交性是可取的.为简单起见,为什么java不能减少正交性和OO-ness?
Q4.JVM的体系结构在技术上受限于实现.NET样式的委托.如果这个原因是:(虚拟语气强调祈)属实,那么为什么不能三个闭包方案是一个简单的委托关键字或注释背后隐藏的:如果我们不喜欢使用@Delegate,我们可以使用@method.我看不出委托语句格式如何比三个闭包提案更复杂.
假设您需要向用户显示颜色列表.颜色必须显示在具有固定高度的列表中,每种颜色占据该高度的相等部分.
以下是四种颜色的样子,列表高度为90像素,边框周围有厚边框:

上面的图像在以下来源的Firefox 3.6.13中呈现:
<ul style="height: 90px; border: 5px solid black; padding: 0;">
<li style="height: 25%; background: red;">
<li style="height: 25%; background: blue;">
<li style="height: 25%; background: yellow;">
<li style="height: 25%; background: green;">
</ul>
Run Code Online (Sandbox Code Playgroud)
这一切都很好.该列表确实是90像素高度 - 在边界内 - 并且每种颜色获得(看似)该空间的相等份额.现在,让我们在Safari或Chrome中呈现相同的HTML/CSS:

注意绿色行和边框之间的窄白行.对于我们在这里看到的内容,有一个非常简单的解释:0.25 × 90 = 22.5
Safari和Chrome中的WebKit并不真正喜欢非整数像素高度并且会丢弃小数.有四行高度22,我们在列表底部得到2个像素:90 - 4 × 22 = 2
在静态HTML文件的上下文中,我们可以轻松地将元素的高度分别设置为23,22,23,23像素,并且列表在任何浏览器中都会显示正常.另一方面,如果从数据库加载颜色并且计数随每个请求而变化,则需要更灵活的解决方案.
我知道如何通过onload使用Javascript 计算和设置每行的整数值高度来解决这个问题,如果没有其他任何显示,我将发布此解决方案.但是,我会更喜欢纯粹的基于CSS的解决方案.你能想到一个吗?
我想使用java应用程序创建一个隐藏文件夹.该计划应该跨平台工作.那么如何编写一个可以创建隐藏文件夹的程序.
我试过用
File newFile = new File("myfile");
newFile.mkdir();
Run Code Online (Sandbox Code Playgroud)
它创建一个未隐藏的目录.
我正在研究这个主要是.NET的Web应用程序,但是一部分是用PHP编写的.在我的开发环境中,IIS Express是我的首选Web服务器,所以我更希望在这种环境中让PHP和.NET协同工作.
第一个天真的尝试:只需将PHP脚本放入网站,然后在浏览器中加载它们.结果是HTTP Error 404.21 - Not Found以下建议:
- 安装PHP并正确配置处理程序.
- 为此网站安装并启用PHP.
- 如果您使用的是WebMatrix,请按照以下步骤启用PHP:
- 在WebMatrix中打开网站.
- 选择"站点"工作区,然后单击"设置"
- 选中"启用PHP"复选框以安装并启用PHP.
不使用WebMatrix,这对我没什么帮助.然后我继续深入研究与谷歌上的IIS Express和PHP相关的任何内容.从我读到的,它应该是可行的,但我发现有关该主题的一切似乎都假设我的IDE是WebMatrix.事实并非如此.
有谁知道是否可以在IIS Express上安装并将其配置为与基于Visual Studio的网站一起使用,而无需安装WebMatrix?如果有,怎么样?