小编the*_*onk的帖子

构建云的Erlang应用程序

我正在开发一个将部署到AWS的套接字服务器,到目前为止,我们已经按照与Erlang in Practice中的示例项目类似的结构设置了基本的OTP应用程序,但我们希望避免使用全局消息路由器,因为这不会很好地扩展.

通过分布式应用程序的OTP设计指南以及" 了解你一些Erlang"中的相应章节(Distribunomicon分布式OTP),看来内置的分布式应用程序机制适用于已知主机名和IP的内部部署解决方案.群集配置是提前确定的,而在我们预期的设置中,应用程序需要动态地上下扩展,并且节点的IP地址将是随机的.

对不起,这是一个冗长的构建,我的问题是,是否有部署到云的分布式Erlang应用程序的设计指南,需要处理所有动态扩展?

谢谢,

cloud erlang distributed amazon-ec2 amazon-web-services

11
推荐指数
2
解决办法
1267
查看次数

可以跨进程或机器边界使用Reactive Extensions(Rx)吗?

依旧记得在很久以前就看到了一些关于此的讨论,但此后一直没有听到任何消息.所以基本上你能订阅远程机器上的IObservable吗?

.net c# system.reactive

10
推荐指数
3
解决办法
2592
查看次数

为什么Enumerable.Except返回DISTINCT项?

刚花了一个多小时调试我们代码中的错误,最后结果证明是我们不知道的Enumerable.Except方法:

var ilist = new[] { 1, 1, 1, 1 };
var ilist2 = Enumerable.Empty<int>();
ilist.Except(ilist2); // returns { 1 } as opposed to { 1, 1, 1, 1 }
Run Code Online (Sandbox Code Playgroud)

或更一般地说:

var ilist3 = new[] { 1 };
var ilist4 = new[] { 1, 1, 2, 2, 3 };
ilist4.Except(ilist3); // returns { 2, 3 } as opposed to { 2, 2, 3 }
Run Code Online (Sandbox Code Playgroud)

查看MSDN页面:

此方法首先返回那些未出现在第二个元素中的元素.它也不会返回第二个中没有出现的元素.

在以下情况下我得到它:

var ilist = new[] { 1, 1, 1, 1 };
var …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

10
推荐指数
1
解决办法
425
查看次数

如何找出当前的溢出检查上下文?

有没有办法在C#中做到这一点?

例如,如果调用了您的方法,并且您想知道调用者是否已将方法调用放入已检查的块中?

.net c# overflow

9
推荐指数
1
解决办法
100
查看次数

C#以编程方式下载GitHub私有仓库的示例

我看到GitHub仓库的下载路径是表格

https://github.com/{username}/{reponame}/archive/{branchname}.zip
Run Code Online (Sandbox Code Playgroud)

对于私人仓库,可以理解的是,您需要提供凭据才能下载仓库,任何人都可以提供有关如何提供HTTPS基本身份验证的C#示例,以便我可以通过编程方式下载仓库吗?

谢谢,

.net c# authentication https github

9
推荐指数
2
解决办法
5385
查看次数

DataContractJsonSerializer何时包含类型信息?

我注意到,对于DataContractJsonSerializer,序列化的JSON字符串有时包含形式的类型信息

{"__type":"MyClass:#MyNamespace", ... }
Run Code Online (Sandbox Code Playgroud)

基于我的观察,它似乎只是在它序列化一个基类型但是通过已知的子类型而不是有意义的时候这样做,但是我没有找到任何官方文件来证实这个或者实际上无论如何迫使序列化器一直展示遇到自定义类型时的此行为.

任何人都可以确认我的观察是否正确吗?更好的是,如果您知道一种方法来指示序列化程序始终序列化自定义类型的类型信息,那么这是否可行?

谢谢,

.net wcf serialization json

8
推荐指数
1
解决办法
3682
查看次数

扩展实体框架模型以包含新属性

我是EF的新手,请原谅我这是否是一个菜鸟问题.

基本上,我们使用Model First为我们的"平台"项目设置EF模型,并在我们构建在此平台之上的许多应用程序中共享.在其中一些应用程序中,我们希望扩展类以包含其他属性,而无需更改平台中的模型.这是否可以使用EF 4,如何在不修改.edmx文件的情况下执行此操作?

我注意到生成的类都是部分的,所以我可以创建一个具有相同名称的新的部分类来包含新属性,但是有没有需要处理的映射?

ps在正常情况下我宁愿使用继承并创建一个新类来保存新属性而不是再次,我不知道如何用EF做这个...这里的任何启示都将非常感激!

非常感谢,

.net c# entity-framework

8
推荐指数
2
解决办法
2万
查看次数

Lazy.Force()和Lazy.Value之间有什么区别

Lazy.Force<T>扩展方法的MSDN文档中说:

强制执行此值并返回其结果.与价值相同.相互排除用于防止其他线程也计算该值.

这是否意味着它等同于Lazy<T>使用ExecutionAndPublication LazyThreadSafetyMode创建实例,以便只有一个线程可以初始化实例?

谢谢

.net f# lazy-evaluation

8
推荐指数
1
解决办法
417
查看次数

为什么Seq模块中的某些功能已经优化而其他功能不在F#中?

这是我之前关于模块和函数与模块等效项相比要慢得多的问题的后续内容.SeqitermapArrayList

查看源代码,我可以看到一些函数,例如isEmptylength执行非常简单的类型检查,以便在使用之前优化数组和列表IEnumerator.

[<CompiledName("IsEmpty")>]
let isEmpty (source : seq<'T>)  = 
    checkNonNull "source" source
    match source with 
    | :? ('T[]) as a -> a.Length = 0
    | :? list<'T> as a -> a.IsEmpty
    | :? ICollection<'T> as a -> a.Count = 0
    | _ -> 
        use ie = source.GetEnumerator()
        not (ie.MoveNext())

[<CompiledName("Length")>]
let length (source : seq<'T>)    = 
    checkNonNull "source" source
    match source with 
    | :? ('T[]) as a …
Run Code Online (Sandbox Code Playgroud)

collections performance f#

8
推荐指数
1
解决办法
334
查看次数

为什么F#map使用可变操作实现接口?

当我意识到F#map实现了IDictionary <'Key,'Value>并且ICollection<KeyValuePair<'a, 'b>>考虑到两者都支持变异(添加和删除)作为合同的一部分时,我感到有些惊讶.

map当你试图引起变异时,看看它的实现只是排除!

let map = [| (1, "one"); (2, "two") |] |> Map.ofArray
let dict = map :> IDictionary<int, string>
dict.Add(3, "three");;
Run Code Online (Sandbox Code Playgroud)

上面的代码抛出异常:

System.NotSupportedException:无法突变映射值.在Microsoft.FSharp.Collections.FSharpMap 2.System-Collections-Generic-IDictionary2-Add(TKey k,TValue v)at.$ FSI_0007.main @()因错误而停止

这是预期的.

对于一个不可变的集合,它能够将自己暴露为一个可变的集合,只有当它的集合的消费者试图导致变异时才抛出异常似乎是一个危险的决定.

我在这里错过了什么吗?

f# dictionary map immutability

8
推荐指数
2
解决办法
1103
查看次数