如果我可以选择使用递归或memoization来解决我应该使用的问题?换句话说,如果它们都是可行的解决方案,因为它们提供了正确的输出,并且可以在我正在使用的代码中合理地表达,何时我会使用另一个?
我有一个项目与XmlDataProvider绑定到WPF DataGrid控件.我在DataGrid上的绑定设置如下:
<dg:DataGrid ItemsSource="{Binding Source={StaticResource XmlData}, XPath=Root/People/Person}"
AutoGenerateColumns="False">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="ID" Binding="{Binding XPath=ID}"/>
<dg:DataGridTextColumn Header="Name" Binding="{Binding XPath=Name}"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
Run Code Online (Sandbox Code Playgroud)
用户可以使用DataGrid编辑条目而不会出现任何问题.我无法实现的是允许用户使用DataGrid添加新行(即新Person).我怎么能允许这个?
我编写了一个Ruby应用程序,它从不同格式的源,html,xml和csv文件中解析大量数据.如何找出代码中哪些区域占用时间最长?
有没有关于如何提高Ruby应用程序性能的好资源?或者您是否遵循始终遵循的任何性能编码标准?
例如,你总是加入你的字符串
output = String.new
output << part_one
output << part_two
output << '\n'
Run Code Online (Sandbox Code Playgroud)
或者你会用吗?
output = "#{part_one}#{part_two}\n"
Run Code Online (Sandbox Code Playgroud) 我在我的localhost机器上并行运行IIS和Apache HTTP Server,而Apache正在侦听另一个端口(端口81).IIS正在侦听端口80.但是,如果输入该端口号,我只能访问Apache的虚拟域.例如:
http://virtual.myvirtualdomain.com:81 http://virtual.myvirtualdomain2.com:81
我怎么能这样做,所以Apache自动知道它是81端口,并没有强迫我输入端口号?
编辑:
答案似乎是我需要将IIS重定向到Apache.任何人都可以澄清如何使用IIS 5.1完成这项工作吗?
我试图改进Java Html文档一点点,但我遇到了问题HttpUrlConntion.有一点是,如果用户代理是Java VM,某些服务器会阻止请求.另一个问题是HttpUrlConnection没有设置Referrer或Location头字段.由于几个站点使用这些字段来验证内容是从他们自己的站点访问的,因此我也被阻止了.据我所知,唯一的解决方案是替换HTTP协议的URL处理程序.或者有没有办法修改默认的HTTP Handler?
我怎么知道Drag Drop已经结束了WinForms .net.当拖拽正在进行时,我需要停止部分表单刷新数据视图.
我试过使用一个标志,但我似乎没有抓住我需要的所有事件来保持标志与拖放进度同步.具体来说,我无法判断拖拽操作何时结束而没有拖拽完成,即当用户将项目放在具有allow drop = false的控件上时,或者当用户按下ESC键时.
我见过这个问题: -
但它没有令人满意地解决我的问题(如果有人给我这个问题的答案,我会回答那个答案和我已经有的答案).
我正在尝试将TDD应用于我的一个简单项目.一些细节(以及之前的问题)在这里:
具体是我有一个PurchaseOrderCollection类,它有一个私有的PurchaseOrders列表(在构造函数中传入),而PurchaseOrders有一个布尔属性IsValid.PurchaseOrderCollection具有属性HasErrors,如果列表中的任何PurchaseOrders将IsValid设置为false,则返回true.这是我想测试的逻辑.
[TestMethod]
public void Purchase_Order_Collection_Has_Errors_Is_True_If_Any_Purchase_Order_Has_Is_Valid_False()
{
List<PurchaseOrder> orders = new List<PurchaseOrder>();
orders.Add(new PurchaseOrder(--some values to generate IsValid false--));
orders.Add(new PurchaseOrder(--some values to generate IsValid true--));
PurchaseOrderCollection collection = new PurchaseOrderCollection(orders);
Assert.IsTrue(collection.HasErrors);
}
Run Code Online (Sandbox Code Playgroud)
这与我之前的问题类似,因为这个测试太过耦合了,我必须知道什么使得PurchaseOrder IsValid为false或者true才能通过测试,而这个测试真的不应该关心.问题是不同的(imo)因为类本身不是问题.
基本上我希望能够在不知道任何有关PurchaseOrder的内容的情况下声明具有IsValid false或true的PurchaseOrder.
根据我有限的TDD知识,这是你使用Stubs或Mocks的东西.我的主要问题是,这是正确的吗?或者我应该使用不同的方法吗?或者我是完全有缺陷的,我只是在写这个测试并且认为它错了?
我最初的想法是只使用某种模拟框架并创建一个始终返回true或false的PurchaseOrder.从我读过的内容来看,我需要声明IsValid是虚拟的.所以我的第二个想法是改变它以添加IPurchaseOrder作为PurchaseOrder的接口,并创建一个始终返回false或true的假PurchaseOrder.这些都是有效的想法吗?
谢谢!
我知道@staticmethod,@classmethod和@property,而只能通过散落的文档.Python内置的所有函数装饰器是什么?是在文档中吗?是否在某处保留了最新列表?
是否有内置功能可以从Python中的列表中删除重复项,同时保留顺序?我知道我可以使用一个集来删除重复项,但这会破坏原始顺序.我也知道我可以像这样滚动自己:
def uniq(input):
output = []
for x in input:
if x not in output:
output.append(x)
return output
Run Code Online (Sandbox Code Playgroud)
但是如果可能的话,我想利用内置或更多的Pythonic习语.
c# ×2
python ×2
.net ×1
algorithm ×1
apache ×1
common-lisp ×1
decorator ×1
duplicates ×1
http ×1
http-headers ×1
java ×1
lisp ×1
list ×1
memoization ×1
mocking ×1
performance ×1
port-number ×1
profiling ×1
recursion ×1
ruby ×1
stub ×1
tdd ×1
unique ×1
winforms ×1
wpf ×1
wpftoolkit ×1