随笔分类 - [20]DesignAnalysis设计分析
-
逻辑层 vs 物理层
摘要:Layer 和Tier都是层,但是他们所表现的含义不同,Tier指的是软件系统中物理上的软件和硬件,具体指部署在某服务器上,而Layer(逻辑层)指软件系统中完成特定功能的逻辑模块,逻辑概念。 Layer是逻辑上 组织代码的形式。比如逻辑分层中表现层,服务层,业务层,领域层,他们是软件功能来划分的。并不指代部署在那台具体的服务器上或者,物理位置。 Tier这指代码运行部署的具体位置,是一个物理层次上的划为,Tier就是指逻辑层Layer具体的运行位置。所以逻辑层可以部署或者迁移在不同物理层,一个物理层可以部署运行多个逻辑层。 从Layer和Tier就会延伸到逻辑架构和物理架构。我们一个逻辑分层 阅读全文
-
OMCS 多媒体连接系统
摘要:OMCS开发手册(00) -- 概述(暨OMCS 1.0正式发布!)作为.NET平台上的开发人员,要开发出一个像样的网络多媒体应用系统,非常艰难,这不仅仅是因为.NET对多媒体的支持比较有限,还因为现有的一些积累几乎都是C或C++的,而.NET在这方面的沉淀相对很少。通常的解决的办法是,通过Pinvoke来调用C或C++的非托管库,有过类似经验的人会知道,这也相当困难。OMCS的出现将使得这一状况大大改观。虽然,OMCS底层也调用了非托管的动态库,但是,这对OMCS的使用者是完全透明的,我们可以像使用任何一个纯的.NET动态库一样来使用OMCS。 OMCS 多媒体连接系统是集成了音频(麦克风) 阅读全文
-
监视和调整硬件性能
摘要:通过使用 Microsoft Windows 中内置的性能计数器,可以监视性能以判断设备需求。进行更改之后,可使用监视功能判断更改是否达到了预期的效果或者是否需要进一步的更改。 此主题介绍了可以用来监视下列硬件组件的计数器,并包括了每个组件的建议值和其他调整策略。监视内存(上)监视处理器容量 (上)监视多处理器系统(上)监视网络容量和带宽 (下)监视和优化硬盘(下)文章列表监视和调整硬件性能(上)监视和调整硬件性能(下)推荐阅读:技术人员,为什么会苦逼监视内存 解决内存不足的问题之后,IIS 上将获得最大的性能改善。在作出任何有关更改硬件配置的决定之前,应首选排除内存问题。应首先监视内存以验证 阅读全文
-
MooseFS使用问题分析总结
摘要:随着数据量越来越大,MFS的使用中也出现过一些问题,这里做了一些分析和总结,下面和大家分享一下:先提一下MFS出问题时出现比较频繁的两个信息:连接中断坏块问题连接中断问题在Master端会出现如下错误:mfsmaster[15861]: connection with client(ip:10.11.18.175) has been closed by peer表示客户端和master的连接中断mfsmaster[15861]: connection with ML(10.11.19.76) has been closed by peer表示Metalogger和Master的连接中断mfsm 阅读全文
-
业务是否有必要与数据存储分离,事务如何处理
摘要:问题:1、业务逻辑与数据库已分离的情况下,怎样保证每个方法访问到最适当的数据(不会造成数据库大数据量查询)2、业务逻辑与数据库已分离的情况下,如何处理事务三层结构下,数据访问层与业务逻辑分离。从对象关系角度看,业务逻辑层的对象依赖于数据访问层。.net平台提供了ado.net对数据库进行操作,connection对象提供了对database连接与transaction的功能。在分层结构下,数据访问层处理了对数据库的操作,实现了domain每一个对象与database的方法。例如对象Customer,提供CustomerDAO.Add(),CustomerDAO.Update()等等的方法,每一 阅读全文
-
YbSoftwareFactory 代码生成插件二次开发IPlugInRepository接口的实现
摘要:每个公司为加快项目的开发效率,都会使用一些成熟的框架或组件,然后在此基础之上进行开发。YbSoftwareFactory也可复用这些框架和组件,通过二次开发来开发一个代码生成插件,把大部分和框架有关的公共代码和组件封装打包压缩到项目文件中,而把和具体业务管理有关的需要变化的代码使用T4模板来生成。然后使用该代码生成插件来快速生成一个适合自身开发习惯的可立即运行的解决方案来提高开发进度,然后在此基础之上进行后续代码的二次开发。 曾经的某公司用户在使用了YbSoftwareFactory来进行首个项目的辅助开发,原本计划28天的项目编码任务仅仅只用了3天,这3天的工作量也就是进行个性化的界面呈现调 阅读全文
-
OEA框架学习:运行时
摘要:一、摘要 在这里主要是写OEA设计方面的知识了。OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客和中可以下到。虽然现在应经知道使用了,但是还是 需要了解框架相关知识运行机制,让我们更好的使用OEA进行开发 OEA 在启动的时候都做了什么事情,我们现在打开VS1010启动调试,我一步步去揭开OEA神秘的面纱。我们这里主要讲WPF的运行生成时。,当然还有其他的客服端 如: WEB二、本文大纲 a、摘要 。 b、准备工作。 c、我们启动项目了,按F5 。 d、老罗瞎说 。三、准备工作 我们先来看一下项目结构.黄色区域是我自己创建的几个项目,其他的都是O 阅读全文
-
MFS学习总结
摘要:公司使用moosefs做图片存储,最近学习了一下,在此小小总结一下,主要分以下几部分:MFS概述、特性和新版改进MFS 工作原理和设计架构MFS的安装、部署、配置MFS的高级特性MFS的性能测试MFS集群的维护MFS的常见问题和建议对策一、MFS概述、特性和新版改进MooseFS是一个分布式存储的框架,其具有如下特性:Free(GPL)通用文件系统,不需要修改上层应用就可以使用(那些需要专门api的dfs很麻烦!)。可以在线扩容,体系架构可伸缩性极强。(官方的case可以扩到70台了!)部署简单。(sa们特别高兴,领导们特别happy!)高可用,可设置任意的文件冗余程度(提供比raid1+0更 阅读全文
-
ESPlatform 群集平台迁移到群集平台
摘要:在ESFramework 开发手册(00) -- 概述中,我们提到过ESFramework的一个优势:仅仅通过修改几行代码或配置就可以将一个基于ESFramework的应用程序平滑迁入到ESPlatform平台中。现在,是到了兑现这一承诺的时候了。将单AS的ESFramework应用迁移到ESPlatform群集平台,在通常情况下,只需要两个步骤:(1)部署并启动应用群集管理服务器ACMS。(2)服务端使用ESPlatform.Rapid.RapidServerEngine替换ESPlus.Rapid.RapidServerEngine。客户端几乎不用做任何修改。一.ESPlatform.R. 阅读全文
-
负载均衡网络设计 把负载均衡当作二层交换机还是三层路由器
摘要:系列文章:负载均衡原理与实践详解 第一篇(重新整理)负载均衡原理与实践详解 第二篇(重新整理)负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础负载均衡原理与实践详解 第四篇 使用负载均衡器的服务器群负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解负载均衡原理与实践详解 第六篇 健康检查机制详解(上)负载均衡原理与实践详解 第七篇 健康检查机制详解(下)负载均衡原理与实践详解 第八篇 网络地址转换(上)负载均衡原理与实践详解 第八篇 网络地址转换(下)负载均衡原理与实践详解 第九篇 服务器负载均衡技术进阶-会话保持(上)负载均衡原理与实践详解 第十篇 服务器负载均衡技术 阅读全文
-
异步上传文件并获得返回值(完全跨域)
摘要:AJAX可以进行数据的异步请求,但对于文件和跨域问题却束手无策。Jsonp可以进行跨域数据的异步请求,但同样不能使用于文件。<form>表单可以进行跨域数据和文件的上传,但却会使页面跳转。那么如何同时实现“异步”+“跨域”+“文件”+“返回值”这几个特性呢?方法如下:原理:将<form>表单通过一个iframe来submit,也就是将<form>的target属性设置为一个iframe的id,这样<form>的action URL就会在这个iframe中打开,那么服务器的返回数据也就会输出到iframe中了。最后再通过主页面也iframe之间的交 阅读全文
-
Context+ContextScope——这是否可以看作一种设计模式?
摘要:相信大家对TransactionScope都比较熟悉。通过TransactionScope,我们可以很容易地将一组操作纳入同一个事务中;或者说TransactionScope创建一个基于事务的上下文范围,在这个范围内共享一个相同的环境事务(Ambient Transaction)。我个人觉得这体现了一种可以重用的模式,即本篇文章介绍的Context+ContextScope模式,这种模式旨在一定范围内创建一个可以共享的上下文信息。我们通过一个简单的例子来对Context+ContextScope模式进行简单说明。比如在一个安全级别比较高的GUI应用中,我们需要对用户的每一个UI操作进行安全审核 阅读全文
-
MVVM开发模式MVVM Light Toolkit
摘要:MVVM模式就不细说了个人理解M是Model,是业务实体model,包含了数据的存取访问V是View,是页面,是展示,是数据的显示,应该是单纯的xaml代码VM是ViewModel,他应该是View上数据,方法,事件的抽象集合,是沟通Model和View的桥梁一。 MVVM Light Toolkit安装目前GalaSoft的 MVVM Light Toolkit这个插件在mvvm开发方面应用比较广泛http://www.galasoft.ch/mvvm/安装地址http://www.galasoft.ch/mvvm/installing/目前正式版本是V3.0二。新建mvvm项目下载安装以后 阅读全文
-
优酷的投票
摘要:正文:优酷牛人--我是传奇的网络投票页面:http://c.youku.com/niuren自己随便选择一个选手,会弹出一个播放的浮动层,上面的投票按钮,点击投票成功后,再次投票,为提示你:你已经投过,请一个小时后在投票!-----看起来这个投票很正常,但是这些都是表面现象。使用firebug我们可以发现,每次投票都会触发一个http请求,我们可以把这个http的链接:http://minisite.youku.com/pub2/i_am_legend/vote.php?id=XMjc1NzExMzE2&callback=c&i=0.19621988418141467我的第一感 阅读全文
-
写出优美的代码
摘要:(本文思想基本来自于经典著作《重构》一书)上一篇http://www.cnblogs.com/ceys/archive/2012/03/09/2388356.html上篇《希望这不是年轻人的蠢话》惹了很多争议,有人踩,有人顶。我说话确实做不到四平八稳,更说不出什么心灵鸡汤。如果要比喻可能有点像辣椒酱,不管你喜不喜欢,这玩意可以帮助下饭。不多说,继续把代码风格这系列写完。三、简化条件表达式和函数调用条件语句要尽可能简单,分别用独立函数表示它们。如果条件表达式根据对象类型不同而选择不同的行为,将这个条件表达式的每个分支放进一个子类内的覆写函数中,然后将原始函数声明为抽象函数。将查询和修改函数分离。 阅读全文
-
Quora的技术探索
摘要:关于问答类的应用,最早接触的是stackoverflow和知乎,而Quora作为知乎的原型,因为其创始人来自FaceBook而吸引了我。事实上关于Quora的技术分析,冯大辉和陈皓都已经有所详细的阐述:《Quora 用了哪些技术 ?》《Quora使用到的技术》。通过他们的文章,我看到了一篇更详细的说明《Quora’s Technology Examined》。看完以后感觉有很多东西值得深入的去学习和整理。于是决定将这篇文章先翻译出来,作为后面web学习的引子吧。下面开始吧:Quora因为其流畅的系统已经给IT创业界掀起了一场风暴。Quora为什么这么给力呢,除了有大量聪明的提问者和回答者的支持 阅读全文
-
[开源]KJFramework.Message 智能二进制消息框架 -- 对于数组的极致性优化
摘要:框架的介绍:1. 已经完成了对于消息内部类型的支持(int, short, long, uint, ushort, ulong, bool ,float, double, byte, sbyte, byte[], decimal, DateTime, IntPtr, Guid)2. 支持内部序列化元数据(.NET可序列化的对象)3. 对于智能对象内部的“智能对象”提供支持。 支持迭代元数据转换。[说明:]KJFramework框架中内置了一套,可以将网络传输实体自动转换为二进制元数据的能力框架。使用此框架,将使得用户不在关心底层传输时对于二进制编码/解码的繁琐过程,解放程序员的脑力劳动。目前此 阅读全文
-
ESFramework Demo -- 简单的FTP服务器Demo(附源码)
摘要:FTP服务器最核心的功能就是提供文件的上传、下载服务。在ESFramework Demo -- 文件传送Demo(附源码)一文中,我们演示了如何在客户端与客户端之间相互传送文件,现在我们就实现一个简单的FTP服务器,以演示如何在客户端与服务器之间传送文件。在阅读本文之前,请务必先掌握ESFramework 开发手册(03) -- 文件(夹)传送一文中介绍的文件传送的流程及相关的API的用法。本Demo主要演示以下功能:(1)客户端浏览服务器默认目录下的所有文件。(2)客户端上传文件到服务器的默认目录下。(3)客户端可以下载服务器默认目录下任何一个文件。一.定义信息类型 根据上面提到的功能需求. 阅读全文
-
OEA体验:查询面板
摘要:一、摘要 在这里主要是写OEA设计方面的知识了。OEA 源码:OEA框架 2.9 Pre-Alpha 源码公布可以到BloodyAngel的博客和中可以下到。虽然现在应经知道使用了,但是还是 需要了解框架相关知识运行机制,让我们更好的使用OEA进行开发 OEA提供了自定义模板机制。我们这里主要是 实现简单的 查询面板二、本文大纲 a、摘要 。 b、远景 。 c、项目结构 。 d、OEA实现方法 。三、远景 圈圈里的就是我们要实现查询条件,这个条件也是比较通用的,我们只要做一次就可以在多个页面上使用这个功能了,爽吧,减少的重复劳动了。这个我们这里只用到了一个表的数据。四、项目结构用到的主要的类 阅读全文
-
Yb Software Factory 代码生成插件二次开发
摘要:YbSoftwareFactory,是一款使用.NET开发的软件代码智能快速生成平台,可方便、快速地生成各种应用程序代码。最新的2.0版支持插件式开发,可根据自身需要进行二次开发来生成能完全满足自身需要的任何代码。本系列将介绍了如何使用YbSoftwareFactory 2.0开发一套完全满足自身需求的代码生成插件的主要步骤和插件组成。一个代码生成插件主要由压缩文件、模板文件和一些实现了相应接口的类组成,典型的代码生成插件的项目目录结构如下:一、压缩文件存储一个解决方案中无需代码生成的公共组件、类、资源和图片等。这些文件可在代码生成前进行自解压操作。如你没有这方面的需求可不提供。二、模板文件使 阅读全文