我的同事们带我回到了我的大学时代,今天早上讨论了排序算法.我们回忆起我们最喜欢的StupidSort,我们其中一个人确信我们已经看到了一种排序算法O(n!).这让我开始寻找可以找到的"最差"排序算法.
我们假设一个完全随机的排序会非常糟糕(即随机化元素 - 它是否按顺序排列?没有?再次随机化),我环顾四周,发现它显然叫做BogoSort,或者是Monkey Sort,或者有时只是随机排序.
Monkey Sort似乎具有最差的表现O(?),最好的表现O(n)和平均表现O(n·n!).
是否存在任何比平均性能更差的命名算法O(n·n!)?或者只是比一般的猴子排序更愚蠢?
我在查找具体信息和示例方面遇到了很多麻烦.我的应用程序中有许多jQuery UI对话框,附加到加载了.ajax()调用的div.它们都使用相同的设置调用:
$(".mydialog").dialog({
autoOpen: false,
resizable: false,
modal: true
});
Run Code Online (Sandbox Code Playgroud)
我只想让对话框调整到加载内容的宽度.现在,宽度只保持300px(默认值),我得到一个水平滚动条.
据我所知,"autoResize"不再是对话框的选项,当我指定它时没有任何反应.
我试图不为每个对话框编写单独的函数,因此.dialog("option", "width", "500")不是一个真正的选项,因为每个对话框将具有不同的宽度.
指定width: 'auto'对话框选项只会使对话框占据浏览器窗口宽度的100%.
我有什么选择?我正在使用jQuery 1.4.1与jQuery UI 1.8rc1.看起来这应该是非常简单的事情.
编辑:我为此实施了一个kludgy解决方法,但我仍在寻找更好的解决方案.
我正在寻找一种快速的方法将关联数组转换为字符串.典型的结构类似于URL查询字符串,但具有可自定义的分隔符,因此我可以使用' &'用于xhtml链接或' &'.
我的第一个倾向是使用,foreach但由于我的方法可以在一个请求中多次调用,我担心它可能太慢.
<?php
$Amp = $IsXhtml ? '&' : '&';
$Parameters = array('Action' => 'ShowList', 'Page' => '2');
$QueryString = '';
foreach ($Parameters as $Key => $Value)
$QueryString .= $Amp . $Key . '=' . $Value;
Run Code Online (Sandbox Code Playgroud)
有更快的方法吗?
我目前正在使用名为s3-upload-stream的node.js插件将非常大的文件流式传输到Amazon S3.它使用多部分API,并且在大多数情况下它运行良好.
但是,这个模块显示了它的年龄,我已经不得不对它进行修改(作者也弃用了它).今天我遇到了亚马逊的另一个问题,我真的想接受作者的推荐并开始使用官方的aws-sdk来完成我的上传.
但.
官方SDK似乎不支持管道s3.upload().s3.upload的本质是您必须将可读流作为参数传递给S3构造函数.
我有大约120多个用户代码模块进行各种文件处理,并且它们与输出的最终目的地无关.引擎为它们提供了一个可管理的可写输出流,然后它们就会输出它.我无法将AWS.S3它们交给对象,并要求它们upload()在不向所有模块添加代码的情况下调用它.我使用的原因s3-upload-stream是因为它支持管道.
有没有办法制作aws-sdk s3.upload()我能管道流的东西?
我有一个pageLoad函数,它在.ascx控件上设置一些我无法更改的css.在页面加载一切正常,但当更新面板更新控件时,我的css不再应用.如何在页面更新后重新运行我的功能?
$(function() {
$("textarea").attr("cols", "30");
$("input.tbMarker").css({ "width": "100px" }).attr("cols","25");
});
Run Code Online (Sandbox Code Playgroud)
这显然只在初始页面加载时运行.如何在更新后运行它?
我有一个模拟对象作为构造函数参数传递给另一个对象.
如何测试已调用模拟对象的属性?这是我目前使用的代码:
INewContactAttributes newContact = MockRepository.GenerateMock<INewContactAttributes>();
newContact.Stub(x => x.Forenames).Return("One Two Three");
someobject.ConsumeContact(newContact);
newContact.AssertWasCalled(x => { var dummy = x.Forenames; });
Run Code Online (Sandbox Code Playgroud)
这有效,除非在"someobject"中,Forenames属性的getter被多次使用.那时我得到"Rhino.Mocks.Exceptions.ExpectationViolationException:INewContactAttributes.get_Forenames();期望#1,实际#2 .."
简单地使用
newContact.AssertWasCalled(x => { var dummy = x.Forenames; }, options => options.Repeat.Any());
Run Code Online (Sandbox Code Playgroud)
不起作用,并给出以下错误:
"期望已从等待期望列表中删除,您是否调用了Repeat.Any()?AssertWasCalled()不支持这种情况."
那么我该如何迎合多次通话呢?
您的单元测试是否构成100%的代码覆盖率?是或否,为什么或为什么不呢.
我找不到Moq和Rhino的特定功能比较.所有的问题都是"你更喜欢哪些以及为什么",或者"这里是你如何在犀牛中进行简单的模拟以及如何在moq中完成".
我无法在任何地方找到深刻的比较.我知道语法上的差异,我不是在寻找答案. 我正在寻找能力比较.例如:
Rhino有Expect.On()用于线程模拟.Moq可以这样做吗?
那么多模拟(用一个模拟实现多个接口).Moq可以这样做吗?
我相信Moq现在可以模拟受保护的成员.犀牛可以这样做吗?
编辑:我最后还看了一些其他.Net框架.
我有一个页面路由像/Comments/Search/3我搜索和显示线程"3"的所有注释.
我正在添加一个排序功能(按日期,作者等).处理它的最佳方法是什么?/Comments/Search/3/Sort/Author还是/Comments/Search/3?sort=author?
如何在MVC中自动处理查询字符串sort = author作为参数?
谢谢
我将我的站点升级为使用传统ASP.Net webforms中的ASP.Net MVC.我正在使用MVC路由将旧.aspx页面的请求重定向到它们的新Controller/Action等效项:
routes.MapRoute(
"OldPage",
"oldpage.aspx",
new { controller = "NewController", action = "NewAction", id = "" }
);
Run Code Online (Sandbox Code Playgroud)
这对于页面非常有用,因为它们直接映射到控制器和操作.但是,我的问题是图像请求 - 我不知道如何重定向这些传入的请求.
我需要将http://www.domain.com/graphics/image.png的传入请求重定向到http://www.domain.com/content/images/image.png.
使用该.MapRoute()方法时的正确语法是什么?
asp.net ×2
asp.net-mvc ×2
c# ×2
javascript ×2
jquery ×2
query-string ×2
rhino-mocks ×2
routing ×2
unit-testing ×2
ajax ×1
algorithm ×1
amazon-s3 ×1
arrays ×1
big-o ×1
getter ×1
implode ×1
jquery-ui ×1
mocking ×1
moq ×1
nmock2 ×1
node-streams ×1
node.js ×1
php ×1
properties ×1
sorting ×1
typemock ×1
updatepanel ×1