OSC 第 82 期高手问答精华汇总 —— Matlab 与 .NET 混合编程调用

OSCHINA 第 82 期高手问答(7月8日- 7月14日)我们请来了 @asxinyu  (董斌辉)为大家解答关于 .NET 学习,.NET 开源项目资源,以及 Matlab 与 .NET 混合编程调用 方面的问题。

原文地址:

http://www.oschina.net/question/865233_242457 

董斌辉,@asxinyu  ,.NET 技术爱好者,博客园推荐博客博主。主要研究技术有: 数学建模、机器学习、.NET 开源项目、Matlab 及混合编程。热爱开源,热爱分享, 致力于针对 .NET 新手、业余学习者的基础 .NET 技术普及和分享,让更多人用编程来解决日常问题。

伴随微软开源的脚步,.NET 开源家族也在不断壮大,在微软强有力的支持下,.NET技术的应用也将会更加广泛。简单、优雅和强大的 C# 编程语言,强大生产力开发工具 Visual Studio,以及丰富完善的基础类库和帮助文档等,都将吸引更多人接触和使用.NET技术来改变生活,改变世界。大家可以就 .NET 学习,.NET 开源项目资源,以及 Matlab 与 .NET 混合编程调用等技术进行提问。

精彩问答

@notmmao:懂大,据我了解.net有很多版本.从1.x到4.5差不多有5-6个版本.您推荐使用哪个版本,有啥理由?

@noonoo:越新越好。但可能.4.0安装的最多吧,

@asxinyu:你好,.NET的版本的确是很多,用哪个版本主要是看你的项目需求,因为有些历史原因,有些项目只是维护,只能用老版本,如果条件可能,用比较新版本比较 好,4.0或者4.5吧,理由嘛,比较简单,因为新版本包括的东西更多,支持更多,而且现在新版本的.NET环境部署也方便,不是很大。最不推荐的应该是 3.5,最大最麻烦,不尴不尬。原则就是:在满足项目需求的基础上使用最新版本吧。

@七月July:C#做爬虫有哪些比较好的开源项目,在Linux上用MONO部署.Net性能怎么样?谢谢

@asxinyu:你好,Linux上或者Mono部署.NET这个,我具体没有试过,但现在微软开源的力度很大,这方面发展应该会更好,博客园就有不少这样的文章,其实普 通项目,在Linux部署不一定划算,找几个懂Linux的工程师也不一定划算,当然Linux也是趋势之一,只是没有那么多时间去研究吧。

另外,C#做爬虫,不知道你说的是全文检索 还是 单纯的 采集数据?现在更多的 是 采集某些特殊数据 ?全文检索有Lucene .net,采集数据的话 htmlagilitypack 都是不错的选择,还有一个开源的搜索引擎项目Iveely ,可以看看这里:http://www.cnblogs.com/liufanping/p/4489864.html

@七月July:主要是数据采集,我也做过些小项目,你对抓取AJAX页面有什么好的解决方案吗?我一般是用chrome抓包。

@asxinyu:ajax一部分也可以直接模拟请求来搞定,但是可能会有一些特殊比较变态的,也不行。推荐你一个 网络爬虫类项目HttpHelper ,里面做的封装比较多,可以省不少事情。当然要学习,如果获取不到新版本,可以私信我,有老版本可以学习

@AT4:有木有工作流跟自定义表单的相关文章或者较好的开源项目推荐的?

@asxinyu:你好,.NET工作流最常见的我就不推荐了,百度里面都是。我推荐一个大家可能接触比较少的,你可以参考参考,同时它也有表单设计器。

RoadFlow 是一款集成工作流引擎的ASP.NET MVC快速开发平台,由从事多年工作流开发与实施的技术团队开发。该工作流平台是根据多年对企事业单位工作流应用经验总结而成,是一款符合于国情的工作流 平台,特别适合于国内无标准,复杂多变的工作审批流转。拥有全浏览器兼容的可视化流程设计器、表单设计器、基于角色的权限管理等先进设计理念,是您开发 OA、CRM、HR、ERP等大型系统的最佳基础平台。

网址:http://www.cqroad.cn/

@lazyss:.net有没有类似于appfuse等这样的框架?

@asxinyu:你说的appfuse是java下的一个web综合开发框架吗?这方面开源的暂时比较少吧,更多的是注重某些独立功能,但现在有很多部分开源或者部分商业的.NET快速开发框架,也是综合的web快速开发,其实自己开发久了,进行总结,也可以形成这样一套东西。

@七月July:学习C#有没有必要再去学习C/C++,我也是觉得c/c++有点难才转的C#。

@asxinyu:语言之争,没有意义,语言的选择,完全在内心。我虽然C#基础懂了不少,也是以前从Matlab转过来的,全部是自学,当你的需求到达一定程度,你还会去 学其他语言的,我前不久刚刚搭建了Java开发环境,准备把Java的一些开源项目拿到.net上来用,同时以前也看过py的东西,还买了2本厚厚的书, 如果有需要,还是可以用得上的。至于C++的问题,其实不能说没用,C#和C++混用都是可以的,我的建议是不要特意去学,深入了解一门语言,同时你有 C++的基础,碰到一些对效率或者C++有要求的时候,你可以拿来用,任务驱动,可以节省时间,而且在这种过程中,你解决问题的能力会更强

@Rwing:请问您怎么看.NET在web开发方面的前景?

@asxinyu:你好,这个问题太大,而且我本身做web开发很少。我只想举一个例子,博客园就是.NET的一个应用,它的访问量大约在每天500-600万个ip,pv超过1千万。随着微软的开源力度,web开发的前景应该是不错的,毕竟可以到Linux进行部署

@netexplorer:您好!我也是.Net平台上的开源爱好者,在博客园上拜读过不少您的文章,受益匪浅,感谢!现在项目想引入一套分布式计算框架,能够作为容器承载业务逻辑,并进行跨进程,跨服务器的交互。非功能性方面的要求包括:高并发,高可用,负载均衡,热更新等。想问下开源方面有什么值得推荐的。谢谢! 

@魁拔:Akka.net或orleans。Akka.net和orleans这两个有哪些区别?要我说没有什么区别。都是 actor框架。不同的是orleans希望显式的基于.NET中的Task逻辑树构建运行时的并行和串行,而akka.net希望基于显式的 ActorPath(它中有一种显式的明确的如同Url似的逻辑路径)构建运行时的并行和串行。要我说的话:Akka.net好!

@pj220:用Math.NET等计算库跟使用Matlab混合编程相比,在计算速度上有多大的差距?

@asxinyu:计算速度总体没有比较过,但肯定是比混编效率高吧,混编的问题其实更多的是部署,再就是初始化的时候效率很低,特别是大型计算,虽然可以通过一些手段来降 低影响,但目前来说,如果能直接用Math.NET就不要用混编吧,.NET方面开源的数值就是和算法类库其实很多,可以去我的博客详细了解,包括机器学 习的也有不少,混编只是一个特殊时期的产物,Matlab在最新版本中,也有进行改进,而且也有全新的工具包,可惜成本太高。。。

@pj220:.Net下有没有什么比较好的专门用于离散信号处理的开源项目?

@asxinyu:.NET信号处理的开源项目有的,看这一个:http://www.mathdotnet.com/ ,也是Math.NET的一个子项目,以前还见过一个,不记得了,想起来再发给你。

@要吃九个橙子:.net to php to java 对C#还是那么念念不忘,现在在Linux下开发,我就想问一句MS官方什么时候正式支持linux(非web)

@asxinyu:呵呵,这个什么时候能到和windows一样的程度,还真不知道,但是看微软的动作,这一天应该不远。Mono现在发展势头也不错。坐等吧,技术是没有尽头的,哪一天又冒出一个新的,也不一定

@浩浩好好:在学习开源的ddd框架,比如ApWork,ABP等,看到都是用的EF,为什么我听到EF对性能有损坏?

@asxinyu:我不用EF,ORM用的是XCode,这个问题博客园有很多文章讨论过,EF不是性能有损坏,可能和设计以及使用上也有关系,要玩转它,还是要点功夫的,用不好,性能肯定杯具,要发挥极致的性能,也要下功夫。由于我没使用过,所以不好直接评价。

@阳阳露:我使用c#大概有4-5年左右了,但是一直是独立开发者,没有长时间跟过团队\公司做过大项目。目前最大的困扰是:1、想学习c#更深入一点的东西应该学习什么,能推荐几本书最好了;2、除了微软本身的MVC、WCF之外,做一个大型的项目应该用什么样的技术架构?看java和php都有很多成熟的框架来增加开发效率,甚是羡慕

@asxinyu:呵呵,C#高级编程吧,一书在手,应有尽有。。。另外,个人的定位要注意吧,一味的去学所有的技术,跟不上的,必须要有所取舍。。。把简单的技术用在解决更多的复杂业务中

原文地址:

http://www.oschina.net/question/865233_242457 

你可能感兴趣的:(OSC 第 82 期高手问答精华汇总 —— Matlab 与 .NET 混合编程调用)