我需要确保任何数量的网站和服务都没有被玷污.目前,我要靠它使用卷曲简单5分钟的cronjob和URL的文件,检查所有的反应是正确的(200或很少301).
这一切都在基础层面上工作,我对更复杂的开源工具(统计,响应时间,漂亮的图形)感兴趣 - 你用什么?
对于我作为程序员的工作,我需要Windows.它将安装在VMWare Fusion中.我将writnig大多数是C-代码Matlab的MEX-文件,一些DSP开发,使用Visual Studio C和C++的教程一些简单的命令行工具,并希望一些简单的图形用户界面.我将使用VisualDSP ++,Bloodshed Dev-Cpp,Matlab mex-compiler和Visual Studio.
虚拟机主要必须在MacBook 2,1 GHz/4 Gb上运行.
现在我的问题是:
谢谢你的意见!
我的同事坚持在代码中明确指定命名空间而不是使用using指令.换句话说,每次在代码中出现此类型时,他都希望为每种类型使用完全限定名称.就像是
public class MyClass
{
public static void Main()
{
System.Console.WriteLine("Foo");
}
}
Run Code Online (Sandbox Code Playgroud)
代替:
using System;
public class MyClass
{
public static void Main()
{
Console.WriteLine("Foo");
}
}
Run Code Online (Sandbox Code Playgroud)
你可以想象后果.
他给的职业选手:
我的缺点:
你怎么看待这件事?
我经常被要求对由真正的火箭外科医生建造的系统进行维护工作.这有很多错误,很难知道从哪里开始.
不,等等,我将从一开始就开始:在项目的早期阶段,设计师被告知系统需要扩展,他会读到可扩展性问题的根源是应用程序和数据库之间的流量服务器,所以他确保最小化这种流量.怎么样?通过将所有应用程序逻辑放在SQL Server存储过程中.
认真.大量的应用程序由HTML前端制定XML消息.当中间层接收XML消息时,它使用文档元素的标记名作为它应调用的存储过程的名称,并调用SP,将整个XML消息作为参数传递给它.它接收SP返回的XML消息并将其直接返回到前端. 应用程序层中没有其他逻辑.
(这里是在中间层验证对架构库传入的XML消息的一些代码,但我删除了,经查1后)只有消息的极少数曾与架构,2)消息实际上并没有符合对于这些模式,以及3)在验证消息之后,如果遇到任何错误,该方法将丢弃它们."这款保险丝盒可以节省时间 - 它来自工厂预装的便士!")
我以前见过那些做错事的软件.很多.我写了很多.但我从来没有见过任何像钢铁般的决心做出错误的事情,在每一个可能的转折点,这都体现在这个系统的设计和编程中.
好吧,至少他跟他所知道的一样,对吧?嗯.显然,他所知道的是Access.他并不真正理解 Access.或数据库.
以下是此代码中的常见模式:
SELECT @TestCodeID FROM TestCode WHERE TestCode = @TestCode SELECT @CountryID FROM Country WHERE CountryAbbr = @CountryAbbr SELECT Invoice.*, TestCode.*, Country.* FROM Invoice JOIN TestCode ON Invoice.TestCodeID = TestCode.ID JOIN Country ON Invoice.CountryID = Country.ID WHERE Invoice.TestCodeID = @TestCodeID AND Invoice.CountryID = @CountryID
好的.您也不信任查询优化器.但是这个怎么样?(最初,我打算在你曾经遇到过的源代码中最好的评论中发布这个内容吗?但我意识到还有更多的内容要写,而不仅仅是这一条评论,事情就失控了.)许多实用程序存储过程结束时,您将看到如下所示的代码:
-- Fix NULLs SET @TargetValue = ISNULL(@TargetValue, -9999)
是的,那段代码完全是你不能让自己相信它正在做的事情,以免你被激怒.如果变量包含NULL,则通过将其值更改为-9999来警告调用者.以下是这个数字的常用方法:
-- Get target value EXEC …
我的应用程序处理来自不同来源的电子邮件,例如Outlook和IMAP邮箱.在解析它们之前,我将它们写入临时目录(将它们保留在内存中不是一个选项).在解析时,我可能正在写临时目录的附件(例如,如果它们太大而无法保留在内存中或用于全文提取).
但是在野外,有两件事情发生在一开始似乎很奇怪,但都可以追溯到病毒扫描程序的行为:
我有时无法打开几毫秒前我自己写过的文件.它们显然被病毒扫描程序锁定,以确保它们是干净的.我得到一个例外.
如果病毒扫描程序认为文件存在危险,则会在某个时间点将其删除.
为了解决这个问题,我已经写了再试一次,如果打开失败,或者如果存在的文件做一些检查的一些方法,但我无法在应用每个部分使用它们(第三方代码,例如过滤器) ,所以事情变得更好,但不是100%完美,因为这个原因,我的源代码看起来很难看.
你如何应对病毒扫描程序?
有没有一种方法,使一个Python模块加载DLL在我的应用程序目录,而不是与Python安装附带的版本,而无需对Python安装变化(当时这需要我做了一个安装程序,并小心我没"通过覆盖python模块和更改dll版本全球范围来打破其他应用程序的人...)?
具体来说,我想python的使用sqlite3.dll的我的版本,而不是与Python附带的版本(这是旧的并没有出现有FTS3模块).
我有一个仅限Internet Explorer的Web应用程序.
我正在探索如何自动化测试.
Selenium看起来是一个很好的工具,但是为了能够激活链接等,我需要告诉它它们在哪里.该应用程序并未构建此类测试,因此id关键元素通常没有属性.
没问题,我想,我可以使用XPath表达式.但是,如果通过检查页面的来源来完成,那么找一个正确的XPath,例如一个按钮,就是一种巨大的痛苦.
使用Firefox/Firebug,我可以选择元素,然后使用"Copy XPath"来获取表达式.
我有IE开发人员工具栏,它令人沮丧地接近.我可以单击以选择感兴趣的元素并显示有关它的各种信息.但我看不出任何方便的方法来确定它的XPath.
那么有没有办法用IE做到这一点?
你可以添加新的语句(例如print,raise,with)Python的语法?
说,允许..
mystatement "Something"
Run Code Online (Sandbox Code Playgroud)
要么,
new_if True:
print "example"
Run Code Online (Sandbox Code Playgroud)
如果你应该,而不是如果它是可能的(没有修改python解释器代码)
我有一个类,我想允许几个(~20 +)配置选项.每个选项打开或关闭一项功能,或以其他方式改变操作.为了实现这一点,我使用默认值编写了一个单独的选项类.但是,我不得不在保护条件下丢弃我的代码来确定方法应该如何表现.我差不多完成了,但现在代码似乎闻到了.
是否有一个首选的方法/模式来实现这样的类?
编辑:更具体地说,我正在研究解析类.每个选项配置基本解析算法的互斥部分.例如,我的课程中有几个区域如下所示:
if (this.Option.UseIdAttribute)
attributeIDs = new Hashtable();
else
attributeIDs = null;
public Element GetElementById(string id)
{
if (string.IsNullOrEmpty (id))
throw new ArgumentNullException("id");
if (attributeIDs == null)
throw new Exception(ExceptionUseIdAttributeFalse);
return attributeIDs[id.ToLower()] as Element;
}
Run Code Online (Sandbox Code Playgroud) 我希望我的网站保持版本控制(特别是Subversion)并svn co在有稳定版本更新时使用更新它,但是我担心这样做的安全性,因为所有.svn文件夹都是公开的,这些包括各种私人数据,其中至少是我网站的完整源代码!
我有什么办法可以防止这种情况发生吗?