我创建了一个简单的类来对我的一些方法进行基准测试 但它准确吗?我对基准测试,计时等等都不熟悉,所以我想在这里可以请一些反馈.此外,如果它是好的,也许其他人也可以使用它:)
public static class Benchmark
{
public static IEnumerable<long> This(Action subject)
{
var watch = new Stopwatch();
while (true)
{
watch.Reset();
watch.Start();
subject();
watch.Stop();
yield return watch.ElapsedTicks;
}
}
}
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
var avg = Benchmark.This(() => SomeMethod()).Take(500).Average();
Run Code Online (Sandbox Code Playgroud)
任何反馈?它看起来是非常稳定和准确的,还是我错过了什么?
class TestClass extends PHPUnit_Framework_TestCase {
function testSomething() {
$class = new Class();
$this->assertTrue($class->someFunc(1));
}
function testSomethingAgain() {
$class = new Class();
$this->assertFalse($class->someFunc(0));
}
}
Run Code Online (Sandbox Code Playgroud)
嗨,我真的必须为我创建的每个测试函数创建$ class吗?或者是否有一个未知的构造函数,我还没有发现,因为构造函数似乎不适用于PHPUnit.
谢谢
当您使用REST使用POST创建新条目时,我看到一些API(例如Google)指定您将XML作为请求的一部分发送,而其他API 则指定您发送键/值对.REST POST是否有标准或最佳实践?
如果我在Emacs中有一个多行句子,它自然会溢出到以下行.现在,如果我的光标位于这样一个句子的开头并按下DOWN ARROW
键,则光标位于下一个句子的开头(可能是4-5行),而不是下一行本身(其他编辑做的).END
和HOME
键的行为相同.
有没有办法可以改变这种行为并将光标放在下一行而不是下一句话?
客户在a.url.com上有一个网站.客户端创建一个cookie,主机为".url.com",路径为"/".客户通过b.url.com重定向到我们.客户端存在编码问题,需要我们删除cookie(长篇故事).
以下代码在我们的测试或生产环境中根本没有调整到期,但在本地工作正常.
if (Request.Cookies["cookie"] != null)
{
HttpCookie myCookie = new HttpCookie("cookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我在我的git存储库中收到此错误:
22:09:15 $ git status
# On branch master
error: Could not read 8124cc15c63be92d534e4cdfa33c38d54deee122
error: unable to read tree object HEAD
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
谷歌搜索error: unable to read tree object HEAD
不会带来太多帮助,这个错误似乎非常罕见.我不知道如何处理它.这可能是硬盘故障吗?
编辑:输出git fsck
如下:
broken link from commit 607328dc80e4901a55b95c683d4fbf43e6df28bf
to tree 8124cc15c63be92d534e4cdfa33c38d54deee122
missing tree 8124cc15c63be92d534e4cdfa33c38d54deee122
dangling tree 56b5d4a5e429d251582ec927bca7ef1225510c41
dangling tree 0259d2d38b18b6136bb6070fb41faf3624453cc6
Run Code Online (Sandbox Code Playgroud) 我在.ASCX文件的顶部有以下定义:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ArticleView.aspx.cs" Inherits="MyNameSpace.ArticleView" %>
Run Code Online (Sandbox Code Playgroud)
在该控件中,我使用<%=%>块来引用我在代码隐藏文件中声明的成员.如果我编译和部署控件,它工作正常.但是在Visual Studio中我遇到了很多设计时错误,"当前上下文中不存在"{some variable}." 而Intellisense也会中断:它适用于UserControl的成员,但找不到我自己声明的成员.还有其他问题.一般来说,一切都指向生成的ASP.articleview_ascx类以某种方式不从MyNameSpace.ArticleView类继承.
我发现如果我将CodeBehind属性切换为"CodeFile":
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ArticleView.aspx.cs" Inherits="MyNameSpace.ArticleView" %>
Run Code Online (Sandbox Code Playgroud)
突然Intellisense工作,所有的设计时错误都消失了.但我不想进行运行时编译,也不想部署我的.ASCX.CS文件 - 所以我不能使用CodeFile.
我检查简单的东西,比如确保我隐藏文件名是正确的和继承类有正确的命名空间,等等(而且由于它改变了属性的CodeFile后正常工作,这些必须是在正确的地方指指点点. ...)但我错过了什么?为什么它不能处理CodeBehind属性?
谢谢,
史蒂夫
更新:从下面的一个帖子 - 基本问题是,为什么不使用CodeFile?答:当我尝试在我的文件中使用CodeFile =进行部署时,在部署之后,我收到以下堆栈跟踪(完整呈现):
/_layouts/Pages/ViewPage.aspx.cs'不存在.在在System.Web.UI.TemplateParser.ProcessCodeFile(VirtualPath codeFileVirtualPath)在System.Web.UI.TemplateParser.ProcessMainDirectiveAttribute(字符串DEVICENAME,字符串名,字符串值,IDictionary的parseData System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath) )
(这是来自于/_layouts/Pages/ViewPage.aspx请求的ViewPage的是,有几个其他控件,包括在我原来的例子中提到的ArticleView页面这恰好是失败的第一个文件. - 如果我回去代码隐藏= IN的ViewPage,遂把ASCX用的CodeFile =会以同样的方式失败.)这似乎是页面编译器抱怨,因为继承的代码隐藏类无法在任何加载的DLL被发现,因此,预计必须有一个CS文件来进行按需编译.
这里的问题是我不想部署CS文件,只需要ASPX/ASCX.阅读了很多这样伟大的文章,我知道各种新的部署模式,虽然我从来没有使用任何东西,只有一个Web应用程序项目(从VS2003转发,我们是2005年的后期采用者和WAP模型已经已经被我们从2003年)在许多VS2005/8个项目交换了加时,我从来没有遇到过的问题与代码隐藏=,直到这个问题的智能感知出现了......虽然它并不能帮助,在这种情况下,我正在部署到SharePoint,这引入了全新的复杂性.
由于我之前没有使用CodeFile进行部署,因此我很可能在构建时错过了我应该在VS中设置的一些选项,以便强制进行预编译.我只需要像今天一样部署一组带有单个代码隐藏DLL的ASPX/ASCX.今天在CodeBehind = ...它正在使用最初提到的Intellisense问题,这正是我想要解决的问题:)
当我确定哪些文件可能与问题相关时,会发布更多内容...
asp.net intellisense code-behind visual-studio-2008 visual-studio
我们在Windows中通过UDP设置建立了客户端/服务器通信系统.我们面临的问题是,当吞吐量增长时,数据包会被丢弃.我们怀疑这是由于UDP接收缓冲区不断被轮询导致缓冲区被阻塞并丢弃任何传入的数据包.是否有可能读取此缓冲区将导致传入的数据包被丢弃?如果是这样,有什么选择来纠正这个?该系统是用C语言编写的.请告诉我这是否过于模糊,我可以尝试提供更多信息.谢谢!
我有两套,由Set.Make(t)返回.我想生成两者中值的所有可能组合.我怎样才能做到这一点?
这可以生成一些对,但不是全部:
List.combine (IntSet.elements odp) (IntSet.elements ftw)
Run Code Online (Sandbox Code Playgroud)
这将在Java中实现:
for (int i : ktr) {
for (int m : mnx) {
System.out.println(i + ", " + m);
}
}
Run Code Online (Sandbox Code Playgroud) 我已经看到了.net Aggregate函数的简单示例:
string[] words = { "one", "two", "three" };
var res = words.Aggregate((current, next) => current + ", " + next);
Console.WriteLine(res);
Run Code Online (Sandbox Code Playgroud)
如果您希望聚合更复杂的类型,如何使用'Aggregate'函数?例如:一个具有2个属性的类,例如'key'和'value',你想要输出如下:
"MyAge: 33, MyHeight: 1.75, MyWeight:90"
Run Code Online (Sandbox Code Playgroud)