Fork me on GitHub
摘要: 新闻《微软宣布成立.NET基金会全面支持开源项目 包括C#编译器Roslyn》,看到大家对微软的开放都很兴奋。在此之前在.NET社区也有了大量的开源项目,所列的24个项目也是早就开源,这次的重大意义在于成立了一个实体---.NET基金会,它将促进对.NET 的开放式创新,终于可以让大家认识到了.NE...阅读全文
posted @ 2014-04-05 13:54 张善友 阅读(6027) 评论(16) 编辑
摘要: 本文的标题来自Scott Hanselman 的 Xamarin Evolve 2013 Talk Video - How C# Saved My Marriage,想写下这些东西主要是今天看到了CSDN的一个极客头条《观点:.NET向何处去?》和传智播客.Net学院:《Linux+Mono公开课》的视频看了2个开头的视频,邹华栋 老师讲的很不错,适合初学者,期待后续Jexus 和 nginx 公开课。但是课程中也有一些错误的地方, 本文将自己的一些看法及时记录下来和更多的人分享。阅读全文
posted @ 2013-05-18 09:53 张善友 阅读(17706) 评论(74) 编辑
摘要: 一则新闻《软件服务提供商Xamarin融资1200万美元》,更详细的内容可以看Xamarin的官方博客Xamarin raises $12M to help you make better apps faster →。这篇新闻里告诉了我们目前Mono的用户规模“使用Xamarin软件的应用开发者已经超过15万,其中付费用户约为7500名。在Xamarin的客户中,还包括一些知名的企业,如美国国家仪器(National Instruments)和数字音乐订阅服务商Rdio等”。一直关注和研究Mono项目,今天把平常自己写的和园子里同学写的Mono的相关文章整理了一下,发现从2011年开始已经有非常的多人开始在项目中使用Mono,这里列一下这么多年来的园子里的相关博客内容和大家分享阅读全文
posted @ 2012-07-28 11:08 张善友 阅读(25178) 评论(69) 编辑
摘要: 在 One ASP.NET 的架构图中,微软将 WebAPI 和 SignalR 归类到 Services 类型与 MVC、Web Forms 同列为一等公民,未来的 ASP.NET 5 尽管还在beta阶段,由它的架构图中可以发现原来就非常相似的 MVC 与 WebAPI 统一合并到 MVC 的大框架中了,而 SignalR 在未来依然在 Services 扮演着重要的角色。 SignalR ...阅读全文
posted @ 2015-03-27 13:50 张善友 阅读(120) 评论(1) 编辑
摘要: 在dotnetconf 2015会宣布了4.12-14 在波特兰召开 .NET Fringe http://dotnetfringe.org/ ,中文社区很少有相关的介绍,本文向大家介绍下这个.NET社区的重大事件,今年春节以来,我本着建设.NET 社区的想法开始运营微信公众号opendotnet,...阅读全文
posted @ 2015-03-22 08:48 张善友 阅读(1500) 评论(9) 编辑
摘要: 今天,微软召开了“.Net 社区虚拟大会”(dotnetConf),包括微软的 Scott Hanselman 和 Xamarin 的 Miguel De Icaza 在内的知名人士,都将在 Channel 9 的直播上与大家见面。这次大会已经结束,大家可以通过在线视频继续观看,今年的dotnetc...阅读全文
posted @ 2015-03-20 13:49 张善友 阅读(440) 评论(3) 编辑
摘要: 去年 11 月的时候,微软开源了 .NET CoreFX,然后是今年 2 月份的 .NET CoreCLR。自那时以来,已经有大约 3500 人在 GitHub 上进行了提交,而且贡献者的人数还在持续增长——他们不仅来自社区、还来自微软内部。今天,微软召开了“.Net 社区虚拟大会”(dotnetConf),包括微软的 Scott Hanselman 和 Xamarin 的 Miguel De ...阅读全文
posted @ 2015-03-19 13:33 张善友 阅读(2062) 评论(10) 编辑
摘要: Mono团队支持的最低版本的Mono是2.4,属于即将退役的Ubuntu 10.04 LTS版本。可以看出Mono的产品生命周期管理和微软一样的规范, 有规范的产品生命周期管理是客户放心使用你的产品的保证,表明Mono产品开始进入成熟期了。阅读全文
posted @ 2015-03-14 08:53 张善友 阅读(669) 评论(0) 编辑
摘要: 在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目阅读全文
posted @ 2015-03-01 07:45 张善友 阅读(1574) 评论(3) 编辑
摘要: GRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。阅读全文
posted @ 2015-02-27 21:36 张善友 阅读(1585) 评论(4) 编辑
摘要: 微软发布ASP.NET 5 支持在Windows、Mac和Linux上构建程序,Visual Studio 2015 CTP6(社区预览版)现已发布了。感兴趣的朋友们可以登录官网下载【http://www.visualstudio.com/downloads/visual-studio-2015-c...阅读全文
posted @ 2015-02-25 18:09 张善友 阅读(1398) 评论(1) 编辑
摘要: 经常碰到有同学对.NET跨平台存在各种疑惑和误解,原因是什么呢?当然我是知道.NET的跨平台不是问题,而且微软2014年的努力可圈可点,而且还有很多人对.NET的前景感到困惑。春节期间突然明白了,这就是皮裤原理呀,微信红包的火爆让我想起很有必要运营一个微信公众号:dotNET跨平台的话题,让开源圈了...阅读全文
posted @ 2015-02-24 11:13 张善友 阅读(3694) 评论(22) 编辑
摘要: 介绍NSQ是一个实时的分布式消息平台。它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架。这篇文章介绍了 基于go语言的NSQ的内部架构,它能够为高吞吐量的网络服务器带来 性能的优化,稳定性和鲁棒性。可以说, 如果不是因为我们在bitly使用go语言,NSQ就不会存在。这里既会...阅读全文
posted @ 2015-02-19 17:05 张善友 阅读(437) 评论(0) 编辑
摘要: Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务, 可用于实现DDD+EventSourcing/CQRS系统。传统的三层体系结构包括无状态的前端,无状态的中间层和存储层在可伸缩性方面是...阅读全文
posted @ 2015-02-17 22:30 张善友 阅读(475) 评论(0) 编辑
摘要: 随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core。经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞清楚这三个.NET 实现之间的关系和将来如何演进。到目前为止(2015.2.17),微软在Windo...阅读全文
posted @ 2015-02-17 12:54 张善友 阅读(706) 评论(2) 编辑
摘要: Microsoft开源了Bond,一个跨平台的模式化数据处理框架。Bond支持跨语言的序列化/反序列化,支持强大的泛型机制能够对数据进行有效地处理。该框架在Microsoft公司内部的高扩展服务中得到了广泛的应用。阅读全文
posted @ 2015-02-14 12:30 张善友 阅读(514) 评论(0) 编辑
摘要: 在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。 两种常用算法 令牌桶(Token Bucket)和漏桶(leaky bucket)是 最常用的两种限...阅读全文
posted @ 2015-02-08 21:53 张善友 阅读(505) 评论(1) 编辑
摘要: 继去年12月宣布.NET Core开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft于昨日在 .NET Framework Blog上 宣布开源.NET Core 的执行引擎 CoreCLR,同时该项目将继续托管在 Github 上。CoreCLR是.NET Core的执行引擎,负责垃圾...阅读全文
posted @ 2015-02-07 21:39 张善友 阅读(442) 评论(1) 编辑
摘要: Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之前的版本为:Visual Studio 2015 Preview,多了一个 CTP,虽然都为预览版,但这次 CTP 的版...阅读全文
posted @ 2015-02-07 21:27 张善友 阅读(636) 评论(0) 编辑
摘要: Redis在豌豆荚的使用历程——单实例==》多实例,业务代码中做sharding==》单个Twemproxy==》多个Twemproxy==》Codis,豌豆荚自己开发的分布式Redis服务。在大规模的Redis使用过程中,他们发现Redis受限于多个方面:单机内存有限、带宽压力、单点问题、不能动态扩容以及磁盘损坏时的数据抢救。 Redis通常有3个使用途径:客户端静态分片,一致性哈希;通过P...阅读全文
posted @ 2015-02-02 22:42 张善友 阅读(881) 评论(0) 编辑
摘要: RemoteIE,这是一个基于微软Azure的服务,它允许开发者在最新版本的IE(Windows 10技术预览版)中测试他们的网页,而不需要安装或在虚拟机中设置对应的系统。要想使用这项服务,开发者需要在https://www.modern.ie/zh-cn/tools 网站上注册账户,他还有一个好处是可以借助Azure 访问google。 登录后可以选择使用那个地区的Azure虚拟机,有美国东...阅读全文
posted @ 2015-01-27 07:08 张善友 阅读(434) 评论(3) 编辑
摘要: 微软MVP Openday 1月30日在北京召开,到时全国上百位 MVP 专家将齐聚北京。当然还有亚太的其他国家地区的MVP 也会来北京,1月31日微软 MVP 项目组主办的年度微软技术社区分享大会--2015 微软社区大课堂 Community Camp !。 超过 30 位微软最有价值专家 MV...阅读全文
posted @ 2014-12-22 21:23 张善友 阅读(1210) 评论(4) 编辑
摘要: etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复...阅读全文
posted @ 2014-12-21 11:38 张善友 阅读(513) 评论(0) 编辑
摘要: mono 3.10.0 正式发布:性能进一步改进,以前已经写过一篇 Centos 7.0 安装Mono 3.4 和Jexus 5.6。下面我们在CentOS 7上通过源码安装Mono 3.10, 需要安装最新的libgdiplus3.8。 1. 安装依赖项yum -y install wget gl...阅读全文
posted @ 2014-12-17 23:10 张善友 阅读(839) 评论(3) 编辑
摘要: Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方式来建立 Docker Host,本文将会介绍如何在 Azure 上使用 Docker运行Docke...阅读全文
posted @ 2014-12-16 23:40 张善友 阅读(1415) 评论(3) 编辑
摘要: STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。由于其设计简单,很容易开发客户端,因此在多种语言和多种平台上得到广泛...阅读全文
posted @ 2014-12-16 21:37 张善友 阅读(340) 评论(0) 编辑
摘要: Frozen UI是一个开源的简单易用,轻量快捷的移动端UI框架。基于手Q样式规范,选取最常用的组件,做成公用离线包减少请求,升级方式友好,文档完善,目前全面应用在腾讯手Q增值业务中。css组件包括按钮,列表,表单,通知,提示条,弹出框,选项卡,等级图标,角标,红点,1px解决方案等。css使用模块...阅读全文
posted @ 2014-12-09 12:54 张善友 阅读(1139) 评论(1) 编辑
摘要: 通过Remote Desktop Connection Manager (RDCMan),当前最新版本是 v2.7。 通过这款软件,我们便可以轻松的管理和访问数个RDP。左边的列表中我们可以创建总的分区列表(即 RDCMan Group),该列表保存采用的是RDG扩展名,使用时通过"File"菜单下的"Open"调用这个文件即可。这样一来我们可以将所管理的远程连接信息和配置快速的转移到其他装有 R...阅读全文
posted @ 2014-12-08 22:12 张善友 阅读(667) 评论(2) 编辑
摘要: 随着.NET的原来越开放,不仅仅是开源这么简单了,也意味着.NET程序员要关注越来越多的平台,涵盖.NET Mic Framework, Xamarin,Mono,.NET等等,从windows到linux,mac,从嵌入式到移动设备、PC 、小型机服务器等等复杂的环境,如何让我们的代码在所有的平台...阅读全文
posted @ 2014-12-07 17:49 张善友 阅读(3670) 评论(10) 编辑
摘要: SQLite在3.7.0版本引入了WAL (Write-Ahead-Logging),WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,引入WAL机制之前,SQLite使用rollback journal机制实现原子事务。 rollback jou...阅读全文
posted @ 2014-12-03 22:08 张善友 阅读(537) 评论(0) 编辑
摘要: 本文是雷锋网对我的访谈整理的文章,源地址是 http://www.leiphone.com/news/201411/6KaGhD7PDABnvrRf.html2014年11月13日,微软表示开源.NET,包含整个.NET服务器端的核心类别,ASP.NET5.0、.NETCommonLanguageR...阅读全文
posted @ 2014-11-19 22:54 张善友 阅读(1025) 评论(0) 编辑
摘要: .NET基于MIT这一非常宽松的许可协议开源,此外微软还提供了一份专利承诺,都有助于.NET得到应用,同时避免开源、Unix和自由软件社区曾出现过的持续数年的问题。他的团队可以利用微软的开源实现,来解决Mono代码库不完整或者存在错误的地方。阅读全文
posted @ 2014-11-13 06:52 张善友 阅读(14908) 评论(79) 编辑
摘要: 按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP和MQTT是应用层的协议。在这三者之间, TCP是HTTP和MQTT底层的协议。大家对HTTP很熟悉,这里简要介绍下MQTT。MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是...阅读全文
posted @ 2014-11-09 20:08 张善友 阅读(2483) 评论(1) 编辑
摘要: rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。采用 Erlang 实现的工业级的消息队列(MQ)服务器。 RabbitMQ的官方站:http://www.rabbitmq.com/ AMQP(高级消息队列协议...阅读全文
posted @ 2014-11-01 15:44 张善友 阅读(1560) 评论(5) 编辑
摘要: 微软发布于10月6日发布了Visual Studio “14”CTP 4,本次发布的更新主要包括:ASP.NET vNext runtime和一些工具的优化(ASP.NET vNext runtime and tooling improvements),主要更新摘要: ASP.NET vNext Runtime ASP.NET vNext Tooling Performance imp...阅读全文
posted @ 2014-10-30 06:59 张善友 阅读(630) 评论(0) 编辑
摘要: 关于ESENT,我能想到最恰当的比喻是,它是Microsoft世界的BerkeleyDB,鲜为人知,很少有.NET开发人员使用它,rhino-queues项目使用就是它,但它的性能和可靠性已经经受住了时间的考验。ESENT是一个原生支持Windows的嵌入式数据库引擎,它是CodePlex上的一个托管项目(https://managedesent.codeplex.com/),最新的Windows...阅读全文
posted @ 2014-10-19 22:45 张善友 阅读(636) 评论(0) 编辑
摘要: MimeKit 给.NET 社区带来了一流的 MIME 解析器,它能处理复杂的各种Mime, 性能好。而且开箱即用支持 S/MIME 和 PGP。MimeKit 和 MailKit 支持最新的国际化的电子邮件标准,是.NET 中为一个支持完整支持这些标准电子邮件库,最近正式发布了1.0版本。如果你想...阅读全文
posted @ 2014-10-19 09:53 张善友 阅读(1403) 评论(13) 编辑
摘要: Microsoft Office 365 团队给了所有现任的MVP 12个月的微软 Office 365 企业 E3 订阅,今天激活账号并试用了一下,发现非常强大,本文简要介绍下Office 365 企业 E3 ,微软的Office365 企业E3 版本在中国有2个版本,一个是和世纪互联合作的中国特...阅读全文
posted @ 2014-10-17 22:06 张善友 阅读(596) 评论(1) 编辑
摘要: Mono是Xamarin资助的一个项目,是微软的.NET框架的开源实现。它使得使用C#、F#和其他.NET语言进行跨平台开发成为可能。Xamarin在Mono之上构建了跨平台开发工具以及像Xamarin.Forms(可以使用跨平台代码辅助创建原生的体验)这样的框架产品。开发工具和框架在开发者之间都有应用(Xamarin最近获得了5400万美元C轮融资,会继续在这方面发力)。Xamarin也已经在和...阅读全文
posted @ 2014-10-16 06:58 张善友 阅读(2829) 评论(6) 编辑
摘要: Github上有个在azure上搭建Open VPN的项目,使用基于https的SSTP协议,可以顺利的在Azure上搭建VPN。主要就是在Azure上 Linux虚拟机搭建一个Open VPN 项目地址:https://github.com/azure-openvpn/azure-openvpn.github.io 使用说明:http://azure-openvpn.github.io/ ...阅读全文
posted @ 2014-10-12 17:18 张善友 阅读(1857) 评论(2) 编辑
摘要: Xamarin Evolve 正在举行,现在已经放出2本免费的Xamarin.Forms 免费电子书,据现场的同学说这两天还有Xamarin.Forms 重磅消息发布:Creating Mobile Apps with Xamarin.Forms 电子书下载PDF from Microsoft Vi...阅读全文
posted @ 2014-10-08 13:28 张善友 阅读(1539) 评论(2) 编辑
摘要: Web 开发,特别是前端 Web 开发,正迅速变得像传统的后端开发一样复杂和精密。前端生成过程,可以囊括SASS 和LESS扩展、CSS/JS的压缩包、JSHint 或 JSLint的运行时 、或者更多。这些生成任务和进程都和像Gulp和Grunt这样的工具一起协调工作。此外,类似于npm和bower这样的管理系统将客户端库作为软件包来管理。 FlotVisualization 就是使用 gru...阅读全文
posted @ 2014-10-04 17:12 张善友 阅读(1012) 评论(0) 编辑
摘要: 通常我们需要监测ASP.NET MVC 或 Web API 的应用程序的性能时,通常采用的是自定义性能计数器,性能计数器会引发无休止的运维问题(损坏的计数器、权限问题等)。这篇文章向你介绍一个新的替代性能计数器的工具Metrics.NET,因为是它是内部的,所以我们能够向系统中添加更多更有意义的度量标准。 Metrics.NET(https://github.com/etishor/Metrics.NET)是一个给CLR 提供度量工具的包,它是移植自Java的metrics,支持的平台 .NET 4.5.1, .NET 4.5, .NET 4.0 和 Mono 3.8.0,在c#代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控阅读全文
posted @ 2014-10-03 08:05 张善友 阅读(4830) 评论(13) 编辑