Fork me on GitHub
摘要: 希望对Windows上的.NET开发人员顺利跨入Linux 的Mono平台开发提供帮助。对于Linux平台上的Mono开发人员也有借鉴意义。平时工作中我主要使用的RedHat系的CentOS,整理的dotNET跨平台研究的相关文档,主要针对的Linux 发行版是CentOS 6和 7,主要是在CentOS平台上进行dotNET跨平台开发的相关文档。将整理的文档放在Github: https://github.com/geffzhang/opendotnet 希望大家能够一起来完善这方面的文档。阅读全文
posted @ 2015-07-27 05:42 张善友 阅读(1504) 评论(9) 编辑
摘要: 写下本文纪念下10年的历程和微软MVP的攻略手册,希望能为想成为MVP的你提供指引。阅读全文
posted @ 2015-05-18 06:30 张善友 阅读(7219) 评论(50) 编辑
摘要: 一则新闻《软件服务提供商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 张善友 阅读(26682) 评论(72) 编辑
摘要: Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。使用起来也较 为简单。Consul用Golang实现,因此具有天然可移植性(支持Linux、win...阅读全文
posted @ 2015-08-02 09:22 张善友 阅读(21) 评论(0) 编辑
摘要: 希望对Windows上的.NET开发人员顺利跨入Linux 的Mono平台开发提供帮助。对于Linux平台上的Mono开发人员也有借鉴意义。平时工作中我主要使用的RedHat系的CentOS,整理的dotNET跨平台研究的相关文档,主要针对的Linux 发行版是CentOS 6和 7,主要是在CentOS平台上进行dotNET跨平台开发的相关文档。将整理的文档放在Github: https://github.com/geffzhang/opendotnet 希望大家能够一起来完善这方面的文档。阅读全文
posted @ 2015-07-27 05:42 张善友 阅读(1504) 评论(9) 编辑
摘要: 安装之前先要看看自己的系统支不支持,具体的可以看:https://www.visualstudio.com/en-us/visual-studio-2015-system-requirements-vs.aspx,直接到微软官方网站进行下载:https://www.visualstudio.com/...阅读全文
posted @ 2015-07-23 22:57 张善友 阅读(515) 评论(2) 编辑
摘要: Disque是Redis之父Salvatore Sanfilippo新开源的一个分布式内存消息代理。它适应于"Redis作为作业队列"的场景,但采用了一种专用、独立、可扩展且具有容错功能的设计,兼具Redis的简洁和高性能,并且用C语言实现为一个非阻塞网络服务器。 Redis的作者Salvatore Sanfilippo(网名Antirez)发表的一篇博客文章,介绍了自己几个月以来在晚上和周末开发...阅读全文
posted @ 2015-07-23 21:36 张善友 阅读(254) 评论(1) 编辑
摘要: Windows 10 RTM正式版要7月29日发布,微软的另一个重磅软件Visual Studio 2015已经率先发布,今天如期放出了正式版本。Visual Studio 2015包括许多新功能和更新,如通用Windows应用开发工具、面向iOS、Android、Windows的跨平台移动开发工具(包括Xamarin、Apache Cordova、Unity)、可移植C++库、适用于Androi...阅读全文
posted @ 2015-07-21 06:03 张善友 阅读(11364) 评论(40) 编辑
摘要: 早上在微博上看到郭安定老师的微博,我在微博上也改了下发了一条,萌生写这篇文章。 已故的中国社会学家费孝通认为文化应包含三个层次:第一个层次是生产、生活的工具,国家社会用什么样的器物、工具来生产、生活。比如中国人用筷子、西方人用刀叉、印度人用手抓,所用的器物不一样。这当然也包括国家打仗时用什么,用洋枪大炮、还是用大刀长矛?这是器物层次;第二是组织层次,按照费先生的定义,包括这个社会里面怎么把人...阅读全文
posted @ 2015-07-12 11:14 张善友 阅读(1632) 评论(7) 编辑
摘要: 在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变。和Visual Studio 2015 RC一起安装的ASP.NET 5运行时是beta4,前几天微软发布了这个运行时的beta5版本。整个升级包括如下几个方...阅读全文
posted @ 2015-07-07 20:48 张善友 阅读(391) 评论(0) 编辑
摘要: ASP.NET 5 在项目结构上做了很大的改变,我们以前熟悉的目录结构与项目文件内容都不太一样了,本篇文章带大家了解 ASP.NET 5 到底跟以前有哪些不一样的地方。我们先用 Visual Studio 2015 建立一个全新的 ASP.NET 5 网站项目,打开VS2015,创建Web项目,.n...阅读全文
posted @ 2015-06-21 07:27 张善友 阅读(1323) 评论(3) 编辑
摘要: ASP.NET 5 引入了一个新型的运行时,让我们可以现场交付模式组合式构建应用程序,而不依赖于宿主机上的.NET框架。这种新模式为我们提供了命令行工具(DNVM、DNX、DNU)用于管理我们的.net 版本,依赖的库和运行环境,我们可以不需要Visual Studio,只需要一个文本编辑器和命令行...阅读全文
posted @ 2015-06-19 23:32 张善友 阅读(695) 评论(3) 编辑
摘要: TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇"。TinyFox本身的功能是html服务器,所有的WEB应用,通过加载含有一个OwinMain方法的"应用程序适配器"或"插件"实现,TinyFox与应用程序之间的数据交流格式是...阅读全文
posted @ 2015-06-13 19:29 张善友 阅读(2692) 评论(23) 编辑
摘要: 微软北京时间2015.5.20 在其 .NET Foundation GitHub 开源项目页中开放了 WCF 分布式服务框架的代码。WCF突然之间成为一个热门话题,在各大网站上都有不同的报道:dotnetfoundation.org、news.ycombinator.com、infoq.com。在 Hacker News 上,这则消息一度成为头条,然而内容下的评论大多偏向负面。很多开发者都抱怨现...阅读全文
posted @ 2015-05-21 21:39 张善友 阅读(1238) 评论(2) 编辑
摘要: 写下本文纪念下10年的历程和微软MVP的攻略手册,希望能为想成为MVP的你提供指引。阅读全文
posted @ 2015-05-18 06:30 张善友 阅读(7219) 评论(50) 编辑
摘要: 概述在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus、 mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用。这篇文章是描述如何在 Linux/Unix 环境中使用Mono运行. NET的应用程序的一部分。安装Mono 4首先你需要有...阅读全文
posted @ 2015-05-17 16:40 张善友 阅读(1940) 评论(10) 编辑
摘要: ASP.NET Web API 2.1内建支持XML、Json、Bson、form-urlencoded的MiME type,今天重点介绍下Bson。BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造...阅读全文
posted @ 2015-05-16 21:53 张善友 阅读(858) 评论(0) 编辑
摘要: 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版采纳了 systemd。本文简要介绍了这三种 init 系统的使用和原理,每个 Linux 系统管理员和系...阅读全文
posted @ 2015-05-16 17:26 张善友 阅读(366) 评论(0) 编辑
摘要: JustDecompile是Telerik公司推出一个免费的.net反编译工具,支持插件,与Visual Studio 集成,能够创建Visual Studio project文件。JustDecompile与Reflector相比的话,个人更喜欢JustDecompile,因为他免费,而且对于一些...阅读全文
posted @ 2015-05-09 20:42 张善友 阅读(1959) 评论(7) 编辑
摘要: ReactJS通常也被称为"React",是一个刚刚在这场游戏中登场的新手。它由Facebook创建,并在2013年首次发布。Facebook认为React在处理SPA问题上可以成为Angular的替代品,因此如果你认为Angular和React这两种框架是竞争对手,那你的理解就对了。不过,与Ang...阅读全文
posted @ 2015-05-03 08:18 张善友 阅读(2917) 评论(10) 编辑
摘要: Mono 4.0 已经发布,二进制包已经准备好,具体的发布说明参见:http://www.mono-project.com/docs/about-mono/releases/4.0.0/. 今天在Mac上更新了Mono 4 和Xamarin Studio 5.9。Mono 4.0 已经完整支持ASP.NET MVC 5了。之前的Mono 3.12.1 版本可以支持ASP.NET MVC 2-4,如果是要在Mono上运行ASP.NET MVC 5,建议使用Mono 4.0.1版本。阅读全文
posted @ 2015-05-02 08:51 张善友 阅读(1919) 评论(8) 编辑
摘要: 在 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 张善友 阅读(1618) 评论(1) 编辑
摘要: 在dotnetconf 2015会宣布了4.12-14 在波特兰召开 .NET Fringe http://dotnetfringe.org/ ,中文社区很少有相关的介绍,本文向大家介绍下这个.NET社区的重大事件,今年春节以来,我本着建设.NET 社区的想法开始运营微信公众号opendotnet,...阅读全文
posted @ 2015-03-22 08:48 张善友 阅读(2102) 评论(10) 编辑
摘要: 今天,微软召开了“.Net 社区虚拟大会”(dotnetConf),包括微软的 Scott Hanselman 和 Xamarin 的 Miguel De Icaza 在内的知名人士,都将在 Channel 9 的直播上与大家见面。这次大会已经结束,大家可以通过在线视频继续观看,今年的dotnetc...阅读全文
posted @ 2015-03-20 13:49 张善友 阅读(926) 评论(3) 编辑
摘要: 去年 11 月的时候,微软开源了 .NET CoreFX,然后是今年 2 月份的 .NET CoreCLR。自那时以来,已经有大约 3500 人在 GitHub 上进行了提交,而且贡献者的人数还在持续增长——他们不仅来自社区、还来自微软内部。今天,微软召开了“.Net 社区虚拟大会”(dotnetConf),包括微软的 Scott Hanselman 和 Xamarin 的 Miguel De ...阅读全文
posted @ 2015-03-19 13:33 张善友 阅读(2558) 评论(10) 编辑
摘要: Mono团队支持的最低版本的Mono是2.4,属于即将退役的Ubuntu 10.04 LTS版本。可以看出Mono的产品生命周期管理和微软一样的规范, 有规范的产品生命周期管理是客户放心使用你的产品的保证,表明Mono产品开始进入成熟期了。阅读全文
posted @ 2015-03-14 08:53 张善友 阅读(1099) 评论(0) 编辑
摘要: 在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目阅读全文
posted @ 2015-03-01 07:45 张善友 阅读(1984) 评论(3) 编辑
摘要: GRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。阅读全文
posted @ 2015-02-27 21:36 张善友 阅读(2380) 评论(5) 编辑
摘要: 微软发布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 张善友 阅读(2983) 评论(1) 编辑
摘要: 经常碰到有同学对.NET跨平台存在各种疑惑和误解,原因是什么呢?当然我是知道.NET的跨平台不是问题,而且微软2014年的努力可圈可点,而且还有很多人对.NET的前景感到困惑。春节期间突然明白了,这就是皮裤原理呀,微信红包的火爆让我想起很有必要运营一个微信公众号:dotNET跨平台的话题,让开源圈了...阅读全文
posted @ 2015-02-24 11:13 张善友 阅读(4431) 评论(24) 编辑
摘要: 介绍NSQ是一个实时的分布式消息平台。它的设计目标是为在多台计算机上运行的松散服务提供一个现代化的基础设施骨架。这篇文章介绍了 基于go语言的NSQ的内部架构,它能够为高吞吐量的网络服务器带来 性能的优化,稳定性和鲁棒性。可以说, 如果不是因为我们在bitly使用go语言,NSQ就不会存在。这里既会...阅读全文
posted @ 2015-02-19 17:05 张善友 阅读(772) 评论(0) 编辑
摘要: Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务, 可用于实现DDD+EventSourcing/CQRS系统。传统的三层体系结构包括无状态的前端,无状态的中间层和存储层在可伸缩性方面是...阅读全文
posted @ 2015-02-17 22:30 张善友 阅读(833) 评论(0) 编辑
摘要: 随着微软的.NET开源的推进,现在在.NET的实现上有了三个.NET Framework,Mono和.NET Core。经常被问起Mono的稳定性怎么样,后续Mono的前景如何,要回答这个问题就需要搞清楚这三个.NET 实现之间的关系和将来如何演进。到目前为止(2015.2.17),微软在Windo...阅读全文
posted @ 2015-02-17 12:54 张善友 阅读(1766) 评论(2) 编辑
摘要: Microsoft开源了Bond,一个跨平台的模式化数据处理框架。Bond支持跨语言的序列化/反序列化,支持强大的泛型机制能够对数据进行有效地处理。该框架在Microsoft公司内部的高扩展服务中得到了广泛的应用。阅读全文
posted @ 2015-02-14 12:30 张善友 阅读(1038) 评论(0) 编辑
摘要: 在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。 两种常用...阅读全文
posted @ 2015-02-08 21:53 张善友 阅读(1116) 评论(1) 编辑
摘要: 继去年12月宣布.NET Core开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft于昨日在 .NET Framework Blog上 宣布开源.NET Core 的执行引擎 CoreCLR,同时该项目将继续托管在 Github 上。CoreCLR是.NET Core的执行引擎,负责垃圾...阅读全文
posted @ 2015-02-07 21:39 张善友 阅读(668) 评论(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 张善友 阅读(1547) 评论(0) 编辑
摘要: Redis在豌豆荚的使用历程——单实例==》多实例,业务代码中做sharding==》单个Twemproxy==》多个Twemproxy==》Codis,豌豆荚自己开发的分布式Redis服务。在大规模的Redis使用过程中,他们发现Redis受限于多个方面:单机内存有限、带宽压力、单点问题、不能动态扩容以及磁盘损坏时的数据抢救。 Redis通常有3个使用途径:客户端静态分片,一致性哈希;通过P...阅读全文
posted @ 2015-02-02 22:42 张善友 阅读(4876) 评论(1) 编辑
摘要: RemoteIE,这是一个基于微软Azure的服务,它允许开发者在最新版本的IE(Windows 10技术预览版)中测试他们的网页,而不需要安装或在虚拟机中设置对应的系统。要想使用这项服务,开发者需要在https://www.modern.ie/zh-cn/tools 网站上注册账户,他还有一个好处是可以借助Azure 访问google。 登录后可以选择使用那个地区的Azure虚拟机,有美国东...阅读全文
posted @ 2015-01-27 07:08 张善友 阅读(544) 评论(3) 编辑
摘要: 微软MVP Openday 1月30日在北京召开,到时全国上百位 MVP 专家将齐聚北京。当然还有亚太的其他国家地区的MVP 也会来北京,1月31日微软 MVP 项目组主办的年度微软技术社区分享大会--2015 微软社区大课堂 Community Camp !。 超过 30 位微软最有价值专家 MV...阅读全文
posted @ 2014-12-22 21:23 张善友 阅读(1367) 评论(4) 编辑
摘要: etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复...阅读全文
posted @ 2014-12-21 11:38 张善友 阅读(742) 评论(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 张善友 阅读(1064) 评论(3) 编辑
摘要: Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方式来建立 Docker Host,本文将会介绍如何在 Azure 上使用 Docker运行Docke...阅读全文
posted @ 2014-12-16 23:40 张善友 阅读(2055) 评论(4) 编辑