摘要:
在MongoDB中一起使用$or和sort()时,查询性能差的一种解决方案在前面文章曾经提到,在MongoDB中一起使用$or和sort()时,查询性能会很差,详见:http://www.cnblogs.com/xinghebuluo/archive/2011/12/01/2270590.html在mongodb的计划中,2.5.w版本中可能会修改这个bug。我的项目中也遇到了这个问题,后来自己想了一个解决方案,暂时规避了这个问题,现在把这个方案分享出来,和大家讨论一下.这个解决方案是受到了mongos的源代码的启示,众所周知mongodb是分布式架构,那么在我们使用mongos查询并使用排序 阅读全文
posted @ 2013-05-29 16:26
HackerVirus
阅读(794)
评论(0)
推荐(0)
摘要:
使用avalon ms-ui绑定实现基于组件的开发让日子过得轻松,必须让代码不断往上抽象。avalon的一切就是为这个崇高的目的而迸进——操作数据即操作DOM,远离DOM进行前端开发。javascript之所以在生命的前十年碌碌无为,都是因为开发者被这些兼容性问题搞怕了。在前十年,人们都是用着那些很底层的原生DOM方法,JS方法进行编程,效率异常低下。随着Prototype.js, jQuery等库的出现, 把几乎所有能封装都给封装了, 我们的生活才变得美好起来。但开发企业内部管理系统,却鲜有听说用jQuery来搞,大家都爱用开箱即用的EXT UI框架。UI组件无疑是比jQuery这些DOM操 阅读全文
posted @ 2013-05-29 16:13
HackerVirus
阅读(194)
评论(0)
推荐(0)
摘要:
深度剖析Byteart Retail案例:应用程序的配置Byteart Retail提供了相对简单的配置方式:对于应用程序中所需要的参数,都是通过web.config文件进行配置的。这一点与框架系统的配置不同。框架系统至少应该提供两种配置方式:直接编写代码的方式,以及web/app.config的方式,这是为了迎合不同的使用场景而设计的。因为作为一套框架而言,它为应用程序的正确运行提供了支撑平台,因此,它需要向开发者提供直接编写代码的配置方式,以迎合测试的需要;同时,在生产环境中,用户还应该能够以配置文件的方式(.NET的标准做法是使用web/app.config文件)对框架进行配置,以便能够 阅读全文
posted @ 2013-05-29 15:58
HackerVirus
阅读(153)
评论(0)
推荐(0)
摘要:
Enterprise Services中遇到的问题最近准备把《C#高级编程》里边没有看的一些章节看完,甚至由此痛恨板砖,并提出“书非拆不能读也”的座右铭。以下是我读.Net Enterprise Services一章,并尝试写Demo时遇到的问题。创建程序集注意事项 1、要创建库应用程序,而非控制台或者WinForm应用程序等可执行的应用程序; 2、类要继承自ServicedComponent; 3、程序集特性要放在命名空间上面; 4、类要有公开的默认构造函数;强命名 强命名要选用不带密码的.snk文件而非代密码的.pfx类型。客户端 .Net客户端要引用.dll程序集(从开发位置... 阅读全文
posted @ 2013-05-29 15:57
HackerVirus
阅读(414)
评论(0)
推荐(0)
摘要:
lucasfeng迭代的是人,递归的是神(一)把递归调用展开,是分析递归调用的利器!一、递归调用的一般结构。递归函数一般有如下特征:recursionFun(){ //第一部分:递归结束条件,前期处理。 if 递归结束条件 return; //第二部分:递归调用。 recusionFun(); //第三部分:递归调用后期处理,也可能有return语句。}二、递归调用的4种形式。下面看递归调用的4种形式:1、void recursionFun(int n){ if (n == 0) { return; } cout << n; recursionFun(n - 1);}recursi 阅读全文
posted @ 2013-05-29 10:16
HackerVirus
阅读(322)
评论(0)
推荐(0)
摘要:
分析事务与锁(三)上接SQL SERVER 查询性能优化——分析事务与锁(二)接下来看看SP_WHO2这个系统存储过程,如果你查询这个系统存储过程的源代码,就可以发现这个系统存储过程是整理master.sys.sysprocesses系统视图中的内容。在此用sp_who2来说明一下。第一步,在查询分析器中执行例二,例三代码。(就是上一篇文章SQL SERVER 查询性能优化——分析事务与锁(二)中的示例)--例二第二步,再打开一个查询分析器界面,在此界面中输入execsp_who2,如下图,在此界面中你可以很容易的观察到锁与被锁的关联,看到进程“56”被“53”锁住。Use testGoBeg 阅读全文
posted @ 2013-05-29 10:14
HackerVirus
阅读(165)
评论(0)
推荐(0)
摘要:
JBPM4学习之路(二):流程部署画流程图要部署流程,得先有流程,要有流程,得先有流程图,那要流程图,得画呗。我们画的流程图如下:步骤:拖一个开始节点,一个结束节点,两个任务节点。设置两个任务节点。第一个任务节点的设置如下。第二个任务节点设置如下。整个流程图的设置如下。连线。XML文件的内容如下:<?xml version="1.0" encoding="UTF-8"?><processname="qingjia"xmlns="http://jbpm.org/4.4/jpdl"><st 阅读全文
posted @ 2013-05-29 10:13
HackerVirus
阅读(984)
评论(0)
推荐(0)
摘要:
防止并发修改 之 离线乐观锁代码示例(菜鸟必读)背景小明和小强同时签出了源代码,如果小强先提交,那么提交成功是合理的,接着小明提交了修改,这时源代码服务器就会告诉小明有人在他读取之后做了修改,问他如何处理,源代码服务器会让小明把修改合并后再提交。这就是乐观锁策略,当然源代码服务也可以配置为悲观锁以避免并行修改。合理的规避并发修改是企业应用中不能回避的问题,但现实场景是,很多团队都回避这个问题。今天我介绍一下如何使用离线乐观锁处理并发修改。相关文章:再谈在线悲观锁、离线悲观锁、在线乐观锁和离线乐观锁。思路CAS:Compare And Swap,只有当要修改的值在我读取后没有被修改,才会被交换( 阅读全文
posted @ 2013-05-29 10:00
HackerVirus
阅读(256)
评论(0)
推荐(0)
摘要:
Python自动化测试 (一) Eclipse+Pydev 搭建开发环境C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置。 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣。而有些语言的开发环境的配置非常麻烦, 这让新手有挫败感,没有好的“初体验”,可能会对这门语言心存敬畏, 而失去兴趣。作为一个.NET程序员, 用惯了Visual Studio。 Visual Studio的强大功能,比如智能提示,自动完成等,可以大量减少我们的记忆量和工作量。如果没有智能提示, 那要疯掉了。 现在年纪大了,根本记不住那些函数名, 阅读全文
posted @ 2013-05-29 09:57
HackerVirus
阅读(180)
评论(0)
推荐(0)
摘要:
YbSoftwareFactory 代码生成插件二次开发【十二】:超级灵活方便的应用程序设置管理API 通过应用程序设置可以动态存储和检索应用程序的属性设置和其他信息。应用程序设置是提高应用程序灵活性的必备手段之一。通常的应用程序设置可写人数据库、配置文件(如Web.Config的"appSettings"配置节)和Properties.Setting(WinForm、WPF客户端可选)等。 本文要介绍的应用程序设置管理采用数据库存储的方式,实现了如下的目标: 1、支持多种数据库,同时预留接口,用户可对API进行灵活扩展,支持如XML等任意形式的存储方式。 2、支持多应用程 阅读全文
posted @ 2013-05-29 09:42
HackerVirus
阅读(212)
评论(0)
推荐(0)