关于领域驱动设计(DDD)中聚合设计的一些思考
关于DDD的理论知识总结,可参考这篇文章。 DDD社区官网上一篇关于聚合设计的几个原则的简单讨论: 文章地址:http://dddcommunity.org/library/vernon_2011/,该地址中包含了一篇关于介绍如何有效的设计聚合的一些原则,共3个pdf文件。该文章中指出了以下几个聚合 ...
SQL Server数据库损坏、检测以及简单的修复办法
简介 在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也同样如此,或许几年内您没有遇见过数据库中出现这类情况,而一旦遇见这类情况,往往伴随着数据的丢失,宕机,严重甚... ...
EntityFramework与TransactionScope事务和并发控制
最近在园子里看到一篇关于TransactionScope的文章,发现事务和并发控制是刚接触Entity Framework和Transaction Scope的园友们不易理解的问题,遂组织此文跟大家共同探讨。 ...
Web API 强势入门指南
这篇文章中主要介绍Web API的主要作用以及与其他同类型框架的对比,最后通过一些相对复杂的实例展示如何通过Web API构建http服务,同时也展示了Visual Studio构建.net项目的各种强大。 ...
架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)
在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务。通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解。 远程调用是系统与系统之间的通信机制,它的另一种理解就是进程间的通信。做分布式系统的开发,远程调用技术是其核... ...
.NET开发邮件发送功能的全面教程(含邮件组件源码)
今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能。在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1) 邮件基础理论知识 2) 邮件发送相关.NET类库 3) 介绍我开发的一个发送邮件的小组件(MailHelpe... ...
你还可以再诡异点吗——SQL日志文件不断增长
前言今天算是遇到了一个罕见的案例。SQL日志文件不断增长的各种实例不用多说,园子里有很多牛人有过介绍,如果我再阐述这些陈谷子芝麻,想必已会被无数次吐槽。但这次我碰到的问题确实比较诡异,其解决方式也是我第一次使用。下文将为各位看管详细介绍我的解决思路。现象一客户反馈数据库的日志文件不断增长,已分配的磁... ...
在树莓派Raspbian下安装支持Hard Float的.NET环境
树莓派Raspbian官方源下的Mono只能支持Soft Float,所以如果想运行Winform的话必须使用Soft Float版的Raspbian,本文使用支持Hard Float的Mono实现在Hard Float版的Raspbian下运行Winform程序以及ASP.NET。 ...
C#开源实现MJPEG流传输
本文为Dennis Gao原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。许久以前写了篇文章《基于.NET打造IP智能网络视频监控系统》,记录和介绍了自己几年来积累和演练的一个系统。发现几个月过去了,没有任何进展。目前已经实现了 UDP+RTP 方式在不同物理机之间的媒体流传输。... ...
如何在高并发分布式系统中生成全局唯一Id
如何在高并发分布式系统中生成全局唯一Id。 1、 使用数据库自增Id 2、 单独开一个数据库,获取全局唯一的自增序列号或各表的MaxId 3、 Sequence特性 4、 通过数据库集群编号+集群内的自增类型两个字段共同组成唯一主键 5、 通过设置每个集群中自增 ID 起始点 6、 GU... ...
我的公司培训讲义(1):.NET开发规范教程
这是1年多以前我在公司所做讲座的讲义,现在与园友们分享,欢迎拿去使用、一起讨论。文中有若干思考题,对园友们是小菜一碟。另有设计模式讲义一篇,随后发布。博文上了首页,感谢博客园团队推荐,也感谢所有园友的支持。经园友提醒,我们推荐新手使用ReSharper插件,它可以自动提示不符合代码规范的地方。1概述... ...
毫秒必争,前端网页性能最佳实践
你愿意为打开一个网页等待多长时间?我一秒也不愿意等。但是事实上大多数网站在响应速度方面都让人失望。现在越来越多的人开始建立自己的网站,博客,你的网页响应速度如何呢?在这篇文章中我们来介绍一下提高网页性能的最佳实践及相应问题的解决方案,让站长或者即将要成为站长的朋友了解如何去测试和提高网站响应速度,对... ...
Chrome插件(Extensions)开发攻略
本文将从个人经验出发,讲述为什么需要Chrome插件,如何开发,如何调试,到哪里找资料,会遇到怎样的问题以及如何解决等,同时给出一个个人认为的比较典型的例子…… ...
那些年黑了你的微软BUG
本篇文章将详细地描述一个 .NET4.0 中 ConcurrentQueue 类的内存泄漏的 Bug,并详解通过 WinDbg 查找内存泄漏的过程。 ...
关于bug分析与异常处理的一些思考
前言:工作三年了,工作内容主要是嵌入式软件开发和维护,用的语言是C,毕业后先在一家工业自动化控制公司工作两年半,目前在一家医疗仪器公司担任嵌入式软件开发工作。软件开发中,难免不产生bug;产品交付客户使用后,难免不产生问题,那么关于bug分析和异常处理则是软件开发和维护中无法躲避的工作内容。工作至今 ...
[激励机制]浅谈内部竞争——如何让你的员工玩命干活?
我是标题党,标题是故意气你的,千万表拍我。公元2012年12月12号,Clark 拿出所有积蓄创办了一个公司,招了看上去还不错的5个员工组成了一个小型团队。紧接着,摆在他面前的一个很明显的问题就是——如何让他们玩命干活?好吧,有点太直白了,招致你的反感真是抱歉。咱们换个说法——如何激励他们去追求卓越... ...
Async和Await异步编程的原理
本文不是关于Async和Await异步编程的入门,是对Async和Await异步编程实现原理的深入研究。本文通过对包含Async和Await关键字的代码的反编译,来揭示Async和Await异步编程的背后实现。 ...
程序猿也爱学英语(上),有图有真相
这篇文章大概介绍了我学英语的一些基本资料以及心得体会,先后从发音(Pronunciation,基本常用单词积累(Vocabulary),新概念英语(New Concept English),究竟需不需要学语法(English Grammar?),走遍美国(Family Album U.S.A.),常... ...
如何设计一门语言(七)——闭包、lambda和interface
人们都很喜欢讨论闭包这个概念。其实这个概念对于写代码来讲一点用都没有,写代码只需要掌握好lambda表达式和class+interface的语义就行了。基本上只有在写编译器和虚拟机的时候才需要管什么是闭包。不过因为系列文章主题的缘故,在这里我就跟大家讲一下闭包是什么东西。在理解闭包之前,我们得先理解... ...