如果你希望你的应用程序在较长的一段时间内都能够适应业务逻辑的变化,那么,强烈建议你选用面向领域的多层分布式架构。在这种情况下,领域模型将降低由业务逻辑变化而引起的高额代价,组件之间、层与层之间低耦合的结构,使得在每次出现业务逻辑变更的时候,你都能够将领域模型隔离出来进行调整和测试,而不需要更改应用程序的其它部分,这样有效地降低了需求变更带来的开发风险,并节省了项目开支。详细内容,请参看http://www.cnblogs.com/daxnet/archiv
系统 2019-08-12 09:27:11 2610
MooseFileSystem是一个具备容错功能的网络分布式文件系统,它将数据分布在网络中的不同服务器上,MooseFS通过FUSE使之看起来就是一个Unix的文件系统。MooseFS文件系统结构包括以下四种角色:1管理服务器managingserver(master):负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷贝2元数据日志服务器Metaloggerserver(Metalogger):负责备份master服务器的变化日志
系统 2019-08-12 09:27:02 2610
很惭愧,做了两年的软件开发,那些业务逻辑该放在业务逻辑层,哪些业务逻辑该用存储过程来实现,心里一直是一团浆糊。从大学开始,我就对SQL语句有着说不出的讨厌,所以我对数据库技术知之甚少,所以要实现某个功能,首先想到的就是抽象业务流程,设计接口,抽象类型,提取核心流程做基础设计,最后才考虑数据的存储,所以我建表几乎是从来不考虑满足那个什么三范式的。类型到数据表的相互映射,也是中规中矩的自己造轮子,利用特性、反射,从不用成熟的ORM框架。因为做的项目较小,数据处
系统 2019-08-12 01:33:04 2610
编译:产生目标代码。运行:执行目标代码。编译程序:这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项
系统 2019-08-12 01:33:19 2609
thrift支持多语言的RPC,一直都想深入学习了解thrift,最近有空,就上网查了些资料,学习了一下,对它的使用有了一些了解。本篇是写thrift的安装,使用方法会另起一篇来写。本文使用thrift的版本是0.9.1。1.windows平台安装直接下载编译好的exe文件,就可以使用了。下载链接在这里新建目录,C:\ProgramFiles\thrift,把下载好的thrift-0.9.1.exe文件放在里面。把C:\ProgramFiles\thrif
系统 2019-08-12 01:31:46 2609
github上一般托管的代码都是公开的,任何人都可以查看、复制下载等,而私有的项目则需要付费。所以可以自己搭建一个git服务,自己人用。首先安装git:sudoapt-getinstallgit安装完之后,就去创建一个裸的仓库gitinit--barexxdir.git(指定裸仓库路径,习惯以.git结尾)#创建一个裸的git仓库注意:要区别gitinit和gitinit--bare的区别:gitinit是用来创建一个仓库,用来存放项目源代码的地方。git
系统 2019-08-12 09:27:34 2607
最近接手了别人的一个DOTNET项目,编译、调试一切都OK(心里暗暗高兴),发布吧,结果放到服务器上一运行出现ConfigurationError错误,提示:“Accesstothepath"c:\wwwroot\jsweb\web.config"isdenied.”。记得几年前做DOTNET项目经常遇到这个错误,于是努力回忆原来是怎么改的,所有权限设置了一溜够,2多小时还是没解决。果断放弃,先下班回家。路上突然想起IIS在对待web.config的注释上
系统 2019-08-12 01:33:35 2607
Kosmosdistributedfilesystem(KFS)是一个专门为数据密集型应用(搜索引擎,数据挖掘等)而设计的存储系统,类似于Google的GFS和Hadoop的HDFS分布式文件系统。KFS使用C++实现,支持的客户端包括C++,Java和Python。以前曾在开源KFS基础上做过开发,这里介绍一下如何进行KFS的源码编译与安装过程(以kfs-0.5为例)。1.安装依赖软件为了编译和运行KFS文件系统,需要安装以下软件包:Boost(1.34
系统 2019-08-12 01:32:51 2607
又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上。最近还写了一个发邮件的组件以及性能测试请看《NET开发邮件发送功能的全面教程(含邮件组件源码)》,还弄了个MSSQL参数化语法生成器,会在9月整理出来,有兴趣的园友可以关注下我的博客。分享原由,最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊……博文示例:GUID生成Int64值后是否还具有唯一性测试Random
系统 2019-08-12 01:31:54 2607
IActiveView和IMap以其Map,PageLayout之间的关系.在ArcMap中,PageLayout和Map分别对应不同的视图:layout和dataview.在同一时刻,只有一个视图为激活状态,也就是所谓的activeview.IMxDocument::ActiveView持有当前激活状态的对象.详见http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.
系统 2019-08-12 09:27:34 2606
DependenceInversionPrinciple”依赖倒置原则说明:要依赖于抽象,不要依赖于具体。客户端依赖于抽象耦合。抽象不应当依赖于细节;细节应当依赖于抽象;要针对接口编程,不针对实现编程。优点:使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。怎样做到依赖倒置?以抽象方式耦合是依赖倒转原则的关键。抽象耦合关系总要涉及具体类从抽象
系统 2019-08-12 01:33:35 2606
OpenCASCADEConictoBSplineCurves-Parabolaeryar@163.comAbstract.RationalBezierCurvecanrepresentconiccurvessuchascircle,ellipse,hyperbola,.etc.ButhowtoconvertaconiccurvetoBSplinecurveisstillquestion,i.e.RepresentaconiccurveinBSplinef
系统 2019-08-12 01:33:28 2605
安装插件简易方法:菜单--》Preferences->浏览插件包会打开C:\DocumentsandSettings\用户名\ApplicationData\SublimeText2\Packages把下面三个插件放里面,以后可以直接使用线安装插件default菜单:汉化包PackageControl插件:方便在线安装插件ConvertToUTF8插件:解决GBK文件乱码汉化包下载:点这里!!SublimeText2.0.1版本Build2217汉化包
系统 2019-08-12 01:31:48 2604
今天看Data-IntensiveTextProcessingwithMapReduce这本书的第三章的时候,里面有写到在map端优化wordcount。对数据密集型数据进行分布式处理的时候,影响数据处理速度的非常重要的一个方面就是map的输出中间结果,在传送到reduce的过程中,很多的中间数据需要进行交换以及包括一些相应的处理,然后再交给相应的reduce。其中中间数据需要在网络中传输,另外中间数据在发送到网络上之前还要写到本地磁盘上,因为网络带宽和磁
系统 2019-08-12 09:26:51 2601
以前一直听说过Github,但是自己一直不会用。最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功。首先简单介绍一下Git和Github集中化的版本控制系统(CentralizedVersionControlSystems,简称CVCS)。这类系统,诸如CVS,Subversion以及Perforce等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者
系统 2019-08-12 01:33:13 2601