小编Rog*_*son的帖子

Erlang风格的Node.Js?

对于Node.Js和Erlang,我都是一个完整的菜鸟.但是不可能构建一个模拟Erlang行为的Node.js应用程序吗?

例如,您将json消息传递到分布式node.js服务器园区,甚至将新代码传递给那些没有脱机的服务器,就像erlang一样.

如果您有一个在收到消息时激活的消息处理程序回调,则此消息处理程序可以检查该消息是否是代码更新消息,从而用新代码替换自身(当前处理程序).

所以应该可以让Node.Js服务器没有停机时间来进行代码更新,而不是太大惊小怪,对吧?

erlang message-passing robustness node.js

6
推荐指数
1
解决办法
1855
查看次数

F#参数传递

我一直认为F#有两种不同的方式来传递参数,咖喱风格和元组风格.这实际上是对的吗?

它不仅仅是一种风格,咖喱风格和参数可以是简单的值或元组.

例如

someFunc (a,b) =
Run Code Online (Sandbox Code Playgroud)

这不是一个带有一个咖喱风格参数的函数,恰好是一个元组吗?允许我使用pipleline运算符将元组传递给此函数?(元组元素的名称)

(1,2) |> someFunc
Run Code Online (Sandbox Code Playgroud)

它是否正确?

f# tuples currying

6
推荐指数
2
解决办法
2547
查看次数

单元测试编译器

什么被认为是对复杂单元(如编译器)进行单元测试的最佳方法?

多年来我写了一些编译器和解释器,我发现这种代码很难以一种好的方式进行测试.

如果我们采用类似抽象语法树生成的东西.你会如何使用TDD测试?

小结构可能很容易测试.例如:

string code = @"public class Foo {}";
AST ast = compiler.Parse(code);
Run Code Online (Sandbox Code Playgroud)

因为那不会产生很多ast节点.

但是,如果我真的想测试编译器可以为类似方法生成AST:

[TestMethod]
public void Can_parse_integer_instance_method_in_class ()
{
   string code = @"public class Foo {  public int method(){ return 0;}}";
   AST ast = compiler.Parse(code);
Run Code Online (Sandbox Code Playgroud)

你会断言什么?手动定义代表给定代码的AST,并断言生成的AST符合手动定义的AST看起来非常简洁,甚至可能容易出错.

那么像这样的TDD复杂场景的最佳策略是什么?

tdd parsing unit-testing compiler-theory abstract-syntax-tree

6
推荐指数
2
解决办法
1866
查看次数

从SignalR消耗共享的IObservable

可以说我有一个IObservable<Something>服务器端,存储在静态字段或其他任何东西.

让我们假设我有一个SignalR集线器,它有一个Subscribe方法和一个有notify功能的signalR客户端.

public static IObservable<string> Events;
protected void Application_Start()
{
   //dummy observable just to generate events for me..
   Events = Observable
       .Timer(TimeSpan.Zero, TimeSpan.FromMilliseconds(50))
       .Select(l => l.ToString());
...snip..
}
Run Code Online (Sandbox Code Playgroud)

和:

public class MyHub1 : Hub
{        
    public void Subscribe()
    {
        Clients.All.notify("start");
        WebApiApplication.Events
            .Subscribe(s => Clients.Caller.notify(s));
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

myHub.client.notify = function (event) {
     console.info(event);
};
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能使所有客户共享可观察信息?也就是说,我希望每个连接客户端在订阅后接收最后200个事件.然后每个客户端应该实时滴答相同的事件.

我想Replay应该以某种方式使用IObservable 的方法.我希望这个行为非常类似于聊天,用户可以实时查看最后的x条消息+每个新事件.

除了如何实际构成可观察的查询之外,在Asp.NET中存储和设置共享事件流的最佳方法是什么?

c# asp.net system.reactive signalr

6
推荐指数
1
解决办法
1502
查看次数

Azure Kusto 时间序列

我们在使用 Azure Kusto 中的时间图表时遇到一些问题。在此图表中,我们对一段时间内的 http 异常进行了分组。

问题在于图表仍然报告不存在异常的时间点的最后看到的值。参见红色标记。在这个特定案例中,我们看到图表在 5:28 报告了 /poll 端点上的 3.23k 异常。而当时事实上并不存在这样的错误。

在此输入图像描述

查询看起来像这样

AppServiceHTTPLogs
| where TimeGenerated > ago(1d)
| where ScStatus >= 500
| summarize count() by tostring(CsUriStem), bin(TimeGenerated, 30m)
| render timechart
Run Code Online (Sandbox Code Playgroud)

使用柱形图可以解决这个问题,但这会带来不那么清晰的代价。还有其他选择吗?

我们能否以某种方式将缺失值默认为 0?

azure kql azure-data-explorer

6
推荐指数
1
解决办法
6070
查看次数

Asp.NET MVC 3项目模板没有显示出来

我安装了Async CTP,不知道它会导致Asp.NET MVC 3出现问题.所以我按照每个可能的卸载指令重新安装了SP1和MVC 3.

但是,MVC 3模板不会显示在新项目对话框中. 我确保目标平台在对话框中是.NET 4,因此不是原因.

关于如何重新出现MVC 3模板的任何想法?

asp.net-mvc visual-studio async-ctp asp.net-mvc-3

5
推荐指数
2
解决办法
8697
查看次数

插入dest并更新源代码

在SQL Server 2008中,是否可以将源表中的数据插入到dest表中,并同时从dest表中使用@@ identity更新源表?

表来源:

Id - UniqueId
Name - varchar(10) 
RealId [null] - int 
Run Code Online (Sandbox Code Playgroud)

表目的地

Id - [id] INT identity
Name - varchar(10)  
Run Code Online (Sandbox Code Playgroud)

我想将行从Source传输到Dest,并RealId从Dest表更新到@@ identity值

我可以以任何我喜欢的方式修改Source,Dest表可能不会被更改.

我最好的选择是什么?

另请注意,"名称"列可能包含重复项,因此我无法真正加入该列.

(真正的表格要复杂得多,但这应该给出我想要的东西)

t-sql sql-server-2008

5
推荐指数
1
解决办法
1222
查看次数

IIS的响应时间很慢

也许这不属于stackoverflow(?)

我有一个在IIS7上运行的经典ASP.NET webforms站点.问题是即使是静态资源的响应时间也非常慢.在某些情况下,提供250k css文件需要2秒以上.

还有一个包含json数据的静态文本文件用于测试目的.如果我手动请求该文件,则此文件大约需要10-20毫秒.如果从网页请求相同的文件(JQuery ajax调用),则相同的文件需要300ms来获取,并且根据firebug,它的所有服务器等待时间.

ASP.NET是否在提供文件时做了一些时髦的东西?什么能引起这种奇怪行为的想法?

(在vs.net devserver中本地运行相同的站点不会显示相同的问题)

[编辑]一些更新

文本文件具有查询字符串参数以避免本地缓存.每次查询字符串参数更改时,加载需要300毫秒.使用相同的params请求相同的文件将其缩短到20ms(并且firebug和webinspector都说文件是通过网络加载的,而不是从本地缓存接收的)

是什么导致这个?

即使没有任何查询字符串参数,静态图像也表现得很奇怪.由jquery加载的图像需要3-400毫秒..手动请求相同的图像需要20毫秒(没有任何缓存)

asp.net jquery iis-7

5
推荐指数
1
解决办法
3528
查看次数

使用Entity Framework 5在SQL Server中连接字符串和数字的最佳方法?

出于某种原因,微软决定不支持EF5中的简单连接.

例如

Select(foo => new 
           {
             someProp = "hello" + foo.id + "/" + foo.bar
           }
Run Code Online (Sandbox Code Playgroud)

如果foo.id或foo.bar是数字,这将抛出.

我发现的解决方法显然是代码:

Select(foo => new 
           {
             someProp = "hello" + 
             SqlFunctions.StringConvert((double?)foo.id).Trim()  + 
             "/" + 
             SqlFunctions.StringConvert((double?)foo.bar).Trim() 
           }
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但看起来很可怕.

那么,有更好的方法来实现这个更清洁的代码吗?我对这个客户端不感兴趣,所以没有.AsEnumerable()请回答.

c# entity-framework expression-trees entity-framework-5

5
推荐指数
1
解决办法
1016
查看次数

如何使用C#使用Protobuf进行非阻塞套接字读取?

假设我想从网络套接字执行非阻塞读取.我可以异步等待套接字读取x字节,一切都很好.

但是如何通过protobuf将其与反序列化相结合?

从流中读取对象必须阻塞?也就是说,如果流包含的解析器数据太少,那么必须在后台进行一些阻塞,以便读者可以获取所需的所有字节.

我想我可以使用lengthprefix分隔符并读取第一个字节,然后计算出在解析之前我必须获取的最小字节数,这是正确的方法吗?例如,如果我的缓冲区是500字节,则等待那500个字节,并解析长度前缀,如果长度超过500,则再次等待,直到读取所有内容.

结合非阻塞IO和protobuf解析的惯用方法是什么?

(我现在正在使用Jon Skeet的实现http://code.google.com/p/protobuf-csharp-port/)

c# nonblocking protocol-buffers async-await

5
推荐指数
1
解决办法
798
查看次数