寻找好的技术来为开发人员证明"伟大而不是正常"的机器.我工作的公司为每个人购买相同功率不足的500美元系统,并寻找证明投资回报率或使用论据的方法.对不起,我在最初的问题中没有说这个,堆栈是VS 2008,SQL 2005/2008.由于职责要求我们是SQL管理员以及Web/Winform/WebService开发人员.因此,非常典型的是同时打开2个VS会话和至少一个SQL会话.
我需要检测我的应用程序是否在虚拟化OS实例中运行.
我发现了一篇文章,其中包含有关该主题的一些有用信息.同一篇文章出现在多个地方,我不确定原始来源.VMware实现了一个特定的无效x86指令来返回有关自身的信息,而VirtualPC使用幻数和带有IN指令的I/O端口.
这是可行的,但在两种情况下似乎都是无证件行为.我想VMWare或VirtualPC的未来版本可能会改变机制.有没有更好的办法?这两种产品都有支持的机制吗?
同样,有没有办法检测Xen或VirtualBox?
我并不担心平台故意试图隐藏自己的情况.例如,蜜罐使用虚拟化,但有时会掩盖恶意软件用来检测它的机制.我并不在乎我的应用程序会认为它在这些蜜罐中没有虚拟化,我只是在寻找"尽力而为"的解决方案.
该应用程序主要是Java,但我希望在这个特定的功能中使用本机代码和JNI.Windows XP/Vista支持是最重要的,尽管参考文章中描述的机制是x86的通用功能,并且不依赖于任何特定的OS工具.
我有一些代码使用共享网关模式来实现控件容器的反转.我有几百个NUnit单元测试来运行使用这个IOC的代码.他们都工作(在我的机器上!)但我担心这些测试可能会在负载下失败.我似乎记得NUnit(和MSTest)试图在多个线程上并行运行测试(这肯定会触发静态/共享网关上的竞争条件),但我找不到任何说明实际发生情况的文档.我的经验是,NUnit似乎正在顺序运行测试.我的问题是,NUnit(或MSTest)是否并行运行单元测试?如果是这样,在什么条件下?而且,我可以通过某种配置选项关闭它吗?
我需要在我的代码中的控件(Slider.Value)上设置依赖项属性,而不会触发ValueChanged事件(因为我设置了值,而不是用户).在WPF中处理这种情况的最佳方法是什么?
为了澄清,我想要做的是将WPF滑块连接到WinForms用户控件.目前在我的应用程序中,我有一个ValueChanged事件处理程序,它通过方法调用将滑块值传递给WinForms控件.WinForms控件(实际上是本机OpenGL窗口的包装器)需要能够根据它的内部计算动态更改滑块.为此,我使用滑块的抽象(ISlider),我在我的应用程序中实例化该滑块的WPF风格,并通过WinForms用户控件上的.NET属性将句柄传递给WinForms控件.所有这一切当前都在工作,只是当内部逻辑决定滑块需要改变时,它调用ISlider :: SetPos(),然后改变WPF滑块,然后在滑块上触发ValueChanged事件,并且该事件的处理程序提取滑块的位置并将其传递给WinForms控件,该控件首先发起事件.ligaz和Alan Le的建议似乎都应该有效,但我不确定我是否会以最好的方式解决这个问题.
有没有办法更改.NET RichTextBox中的默认选项卡大小?它目前似乎设置为相当于8个空间,这对我来说有点大.
编辑:为了澄清,我想将全局默认值"\ t"显示为控件的4个空格.根据我的理解,SelectionTabs属性要求您先选择所有文本,然后通过数组选择选项卡宽度.如果必须,我会这样做,但我宁愿只更改一次全局默认值,如果可能的话,我不必每次都这样做.
我试图在ControlTemplate中包含的Storyboard中使用DynamicResource.
但是,当我尝试这样做时,我得到一个'无法冻结此Storyboard时间轴树以供跨线程使用'错误.
这里发生了什么?
好的,这是一个有点厚颜无耻的问题.我想构建一个简单的文本编辑器(使用我自己的文本模式屏幕处理).我只想要一个可用于表示文本缓冲区的数据结构的好例子,以及一些简单的char/text插入/删除示例.我自己可以处理所有其余代码(文件i/o,控制台i/o等).一个很好的简单编辑器源的链接将很棒(C或C++).
我试过了:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(f);
Node mapNode = getMapNode(doc);
System.out.print("\r\n elementName "+ mapNode.getNodeName());//This works fine.
Element e = (Element) mapNode; //This is where the error occurs
//it seems to work on my machine, but not on the server.
e.setAttribute("objectId", "OBJ123");
Run Code Online (Sandbox Code Playgroud)
但是这会在将其强制转换为Element的行上抛出java.lang.ClassCastException错误. mapNode是一个有效的节点. 我已经将它打印出来了
我想这个代码可能在Java 1.4中不起作用.我真正需要的是使用Element的替代方案.我试过了
NamedNodeMap atts = mapNode.getAttributes();
Attr att = doc.createAttribute("objId");
att.setValue(docId);
atts.setNamedItem(att);
Run Code Online (Sandbox Code Playgroud)
但是getAttributes()在服务器上返回null.即使它不是,我在本地使用与服务器上相同的文档.它可以打印出getNodeName(),只是getAttributes()不起作用.
我需要在相对较少的物理主机上运行相对大量的虚拟机.每个虚拟机都没有做太多 - 每个虚拟机只需要运行一个基本的网络服务 - 想想SMTP等.此外,每个上的负载将非常轻.
不幸的是,这些数字类似于5个物理主机上的100个虚拟机.每个主机足够体面 - 核心2与2演出的RAM和1Tb磁盘.但是,我知道只需要获取ubuntu的vmware图像并投入该机器就不会让我接近100个实例,并且会接近20.
那么,这个图像与主机的比例是否有任何希望?此外,哪种虚拟机实现最适合此目的 - 即有效地整体使用资源?我们主要在这里使用vmware,但是如果通过切换到Xen等可以获得显着的性能优势,我相信我们会考虑它.
提前感谢您的见解:)
注意:我们最终使用OpenVZ并且工作得很好.ubuntu模板的默认参数让我们每台机器运行大约40个实例.
.net ×2
vmware ×2
wpf ×2
animation ×1
c ×1
c# ×1
c++ ×1
editor ×1
events ×1
glossary ×1
java ×1
marshalling ×1
nunit ×1
open-source ×1
performance ×1
richtextbox ×1
tabs ×1
terminology ×1
unit-testing ×1
virtual-pc ×1
virtualbox ×1
winforms ×1
xen ×1
xml ×1