小编Jef*_*eff的帖子

是否可以在.NET中使用C#实现基于事件的异步模式而无需多线程?

我很惊讶Node.js的架构设计,并想知道C#是否能够进行这样的设计:

异步,基于事件/事件循环,无多线程的非阻塞I/O.

c# events multithreading asynchronous node.js

14
推荐指数
3
解决办法
1万
查看次数

Erlang(函数式编程)与面向对象编程的思维方式

我正在学习Erlang,我正在尝试创建一个非常示例的博客程序.然而,我的思想目前被困在OO世界中(var p = new Post(); p.Title =""; p.Save();).我想了解Erlang中的一些基本思路.而不是创建Post对象在数据结构方面应该做些什么(p.Title,p.DateCreated,p.Body)?我应该使用元组吗?我想了解推荐的做这种事情的方法(特定于Erlang和/或特定于功能编程).或者我在Erlang或FP中做的根本错误是什么?

要求(以OO术语,不确定如何用FP术语解释^ _ ^):

  1. 创建Post对象(id,title,date_created,body,IList)
  2. 创建Comment对象(id,post_id,created_by(name as string),date_created)
  3. 一个帖子可以有多个评论
  4. post.AddComment(点评)

谢谢.

更新:我不是在寻找在Erlang中进行OOP的具体方法,除非它是推荐的方式.我正在寻找标准/推荐的方式来做问题中描述的内容,但我并不是想在Erlang中复制OOP.

oop erlang functional-programming

13
推荐指数
2
解决办法
2294
查看次数

ZeroMQ/ØMQ/ 0MQ如何入门?

我试图使用C#Binding在Windows上使用ZeroMQ/ØMQ/ 0MQ(你喜欢哪个).那里有初学者资料吗?我是否需要在Windows上注册ZeroMQ DLL才能运行C#Binding示例(local_lat/remote_lat)?

更新:几个小时后,我已经在Ubuntu 10.04上运行了zeromq/ruby​​.我在这篇博文中留下了评论,指出如何在Ubuntu 10.04上安装zeromq/ruby​​.但我仍在试图弄清楚如何在Windows/C#.NET上运行一个简单的示例.

在ubuntu 10.04上安装rvm

http://www.christopherirish.com/2010/08/25/how-to-install-rvm-on-ubuntu-10-04/

安装zeromq

http://gist.github.com/574656

如果在安装zeromq后出现错误,请尝试使用此更新库

http://www.apparatusproject.org/blog/tag/zeromq/

.net c# message zeromq

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

如何使用C#中的LINQ在一个通用的IEnumerable(IEnumerable <T>)上进行排序?

在我的通用存储库中,我有以下方法:

public virtual IEnumerable<T> GetAll<T>() where T : class
{
    using (var ctx = new DataContext())
    {
        var table = ctx.GetTable<T>().ToList();
        return table;
    }
}
Run Code Online (Sandbox Code Playgroud)

T是Linq to Sql类,我希望能够在特定属性(即int SortOrder)上使用OrderBy.假如T具有属性名称"SortOrder",则在此属性上执行OrderBy.但我不确定如何实现这一目标.所以我需要一些帮助.谢谢!我觉得动态语言在做这类工作时真的很棒!

来自ScottGu的报价:

虽然编写类型安全的查询对于大多数场景来说都很好,但在某些情况下,您希望能够灵活地动态构建查询

这正是我面临的问题,我想知道这个linq动态助手是否可以制作成官方的.NET库.

c# linq generic-list sql-order-by

12
推荐指数
4
解决办法
1万
查看次数

什么是base32编码?

有关如何实现base32编码或base32编码规范的足够信息,但我不明白它是什么,我们为什么需要它以及主要应用程序在哪里.有人可以解释并提供有关使用情况的真实生活场景吗?谢谢.

crockford base32 维基百科base32

encoding base32

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

addListener在node.js中做了什么?

我试图理解node.js中addListener的目的.有人可以解释一下吗?谢谢!一个简单的例子是:

var tcp = require('tcp');
var server = tcp.createServer(function (socket) {
  socket.setEncoding("utf8");
  socket.addListener("connect", function () {
    socket.write("hello\r\n");
  });
  socket.addListener("data", function (data) {
    socket.write(data);
  });
  socket.addListener("end", function () {
    socket.write("goodbye\r\n");
    socket.end();
  });
});
server.listen(7000, "localhost");
Run Code Online (Sandbox Code Playgroud)

javascript listeners javascript-events node.js

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

使用WCF而不是MassTransit或手写MSMQ客户端等框架有什么好处?

我正在考虑使用MSMQ作为在即将到来的项目中执行异步执行的解决方案.我想知道使用WCF和MassTransit等框架之间的区别,甚至是手写的MSMQ客户端来放置/读取MSMQ上的任务.

基本上,应用程序将是通过服务层(无论是WCF还是普通的Web服务)读取/写入数据的几个网站(内部通过LAN或通过Internet外部).然后,此服务层将执行以下两项操作之一:1.将数据写入数据库2.和/或通过在队列中放置消息来触发后台进程.3.显然它也可以从数据库中检索数据.队列另一端的小代理(Windows服务)将监视队列并根据任务命令执行.

与RPC或分布式执行或其他任何方式相比,此体系结构将非常容易扩展(添加更多队列和代理)并且易于实现.并且代理处理不需要是实时的.代理和服务层是单独的应用程序,除了它们共享公共域对象和存储库等.

你怎么看?欢迎对上述要求的架构建议.谢谢!

architecture wcf soa msmq masstransit

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

你对硬编码的态度是什么?

我的是这样的:

硬编码就是这样!我所有的问题都消失了.只需逐个编码即可.而问题又回来了.

我绝对讨厌它,但事实是"商界人士"倾向于喜欢它,因为它需要更少的时间来获得他们想要的东西.作为一个特别是在企业环境中工作的软件开发人员,大多数人都会说:"是的,为什么要打扰,只需要硬编码".你对硬编码的态度是什么?

coding-style hard-coding

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

功能编程中的领域驱动设计?

FP中是否有相当的DDD?在我看来,DDD仅在OOP范例中有效.

oop domain-driven-design functional-programming

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

如何计算C#中两个给定日期之间的实际月差(日历年不近似)?

示例:给定以下两个日期,结束始终大于或等于开始

start = 2001年1月1日

完成= 2002年3月15日

所以从2001年1月1日到2002年2月底

月= 12 + 2 = 14

2002年3月

15/30 = 0.5

所以总计是14.5个月的差异.

手工锻炼很容易,但我如何优雅地编码呢?目前我有很多if else和while循环的组合来实现我想要的但我相信有更简单的解决方案.

更新:输出需要精确(不是近似值),例如:如果从2001年1月1日开始到2001年4月16日结束,则输出应为1 + 1 + 1 = 3(1月,2月和3月)和16/31 = 0.516个月,所以总数是3.516.

另一个例子是如果我从2001年7月5日开始到2002年7月10日结束,产量应该是11个月到2002年6月底,并且(31-5)/ 31 = 0.839和10/31 = 0.323个月,所以总数是11 + 0.839 + 0.323 = 12.162.

我扩展了Josh Stodola的代码和Hightechrider的代码:

public static decimal GetMonthsInRange(this IDateRange thisDateRange)
{
    var start = thisDateRange.Start;
    var finish = thisDateRange.Finish;

    var monthsApart = Math.Abs(12*(start.Year - finish.Year) + start.Month - finish.Month) - 1;

    decimal …
Run Code Online (Sandbox Code Playgroud)

.net c# datetime

7
推荐指数
1
解决办法
4170
查看次数