Fork me on GitHub

2013年8月12日

摘要: 使用传入的总记录数实现一条sql语句完成分页查询问题:在传统的分页查询的实现中不可避免的需要两条sql语句,一条用于查询数据一条用于查询总记录数。如下面的实际代码所示:Img1当然如果使用存储过程的话是可以渐少一次数据库来回的,但是它依然是两条sql语句,一条查数据一条查总记录数。但我们在架构层面拒绝使用存储过程,因为它将逻辑分散在了应用程序和数据库中,不好维护,并且在SqlServer2008中也没有足够的证据证明存储过程更高效。很多人的直觉认为查询总记录数的那行没有必要,但是直觉只是第一步,项目中需要的是解决方案。解决方案:从客户端输入总记录数,从而避免一次对总记录数的查询。首先将分页查询 阅读全文
posted @ 2013-08-12 18:55 HackerVirus 阅读(2840) 评论(0) 推荐(0)
摘要: 启迪思维:二叉树很多初级点的程序员会认为树结构无用论,也有初级程序员仅仅以为只有面试才会用到,还有自认为实际工作用不到(我身边工作好几年程序员懂树结构也没有几个),其实归根到底还是不清楚树的实际用途,下面分享我参加培训时候一个小尴尬。因为项目数据量很大(有很多表数据量都上亿的),对写sql能力要求很高,项目组会经常组织些数据库方面的培训,前段时间又参加公司一个SQL原理分析的一个培训,在培训中讲师问“为什么SQL走索引查询速度很快呢?”,我直接大声说“索引底层数据结构是B树,查询的时候用二分查找”,结果整个大房间就我一个人声音,所有同事都看过来,场面有点尴尬。上一篇文章分析树基本概念、名词解释 阅读全文
posted @ 2013-08-12 18:50 HackerVirus 阅读(260) 评论(0) 推荐(0)
摘要: 公司自动化测试“蛋疼到蛋碎”的过程。。前两个月,Boss说要搞自动化测试,这里说明一下,之前公司测试都是测试人员手动点来点去(个人觉得这样确实比较蛋疼,手点麻了也测不出太多的BUG,还要反复操作相同的步骤,这也有些太难为我们公司搞测试的两个小妹妹了。) 开始决定是用selenium工具,决定了就开始干起来,安装Eclipse,JDK,配置环境变量.......!这里说一下,本公司测试人员没有太多开发经验,所以这些都是在开发人员协助下完成的,风风火火前前后后差不多搞了一个星期,就在我们觉得可以用的时候,发现问题一大推,测试人员对工具不熟悉,测试用例不太会编写,最主要的是程序一直不稳定,这个时候. 阅读全文
posted @ 2013-08-12 18:48 HackerVirus 阅读(313) 评论(0) 推荐(0)
摘要: 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以通常,我们都是在业务层和界面层使用枚举类型,这能够为我们编程带来便利,但在数据访问层,不使用枚举类型,因为很多数据库都不支持,比如我们现在用的SqlServer2008就不支持枚举类型的列,用的时候也是将枚举类型转换成int 类型,数据库存储的是int 类型的数据,在访问数据的时候进行枚举类型和int类型的转换,例如下面的例子: public enum RoleNames { User, Manager, Admin }假设有一个实体类Users,如果实体类不支持枚举... 阅读全文
posted @ 2013-08-12 18:46 HackerVirus 阅读(429) 评论(0) 推荐(0)
摘要: 修改模板中的控件首先,想问大家一个问题,你们如果要给一个Button添加背景图片会怎么做?(呵呵,这个问题又点小白哈)是这样吗? 如果也是这样的话,那你们有没有碰到这个问题呢,当鼠标放到按钮上,背景会被改变呢?如图:正常显示鼠标放到按钮上按钮就变成这样了,你们有没有碰到这样的事情?那你们又是怎么解决的呢,希望高手指点下。不胜感激……我们的解决方案是做一个模板,把背景图片当作内容赋给Button代码如下: ... 阅读全文
posted @ 2013-08-12 18:34 HackerVirus 阅读(249) 评论(0) 推荐(0)
摘要: 对普通函数、宏函数、内联函数的作用机制的探索这次我们来分析的是C/C++程序员经常遇到的问题,如何在普通函数、宏函数、内联函数之间做取舍,其实它们三者之间并没有什么绝对的你好我差的说法,只要掌握了三者的作用机制的话,结合实际情况一般都能做出正确的选择。下面我们一个个介绍上面的三个方法:1、普通函数就和它的名字一样,它代表着千千万万在普通不过的函数,说它普通并不是因为它负责的工作很普通,而是相较于宏定义和内联来说的,这样的函数有可能存在于类中,那时候我们叫它成员函数,而如果不在类中,我们一般都是叫它···函数,所以在这里我把它们通通叫做普通函数了。这类函数在程序的执 阅读全文
posted @ 2013-08-12 18:31 HackerVirus 阅读(264) 评论(0) 推荐(0)
摘要: 文件与文件组在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性。在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性。SQL Server允许在某些文件损坏或离线的情况下,允许数据库依然保持部分在线,从而保证了高可用性。文件和文件组 有关文件和文件组的基本概念,有很多文章已经阐述过了。这里我只是提一下,文件组作为SQL Server访问文件的一个抽象层而存在。因此SQL Server上所做的操作不是直接针对文件,而是针对文件组。 使用多个文件组和文件不仅仅是为了分散IO和提高性能,还有高可用性方面的原因。有关一个数据库应该包含几个文件或文件组,Paul Randa 阅读全文
posted @ 2013-08-12 18:30 HackerVirus 阅读(339) 评论(0) 推荐(0)
摘要: 利用connect建立前端开发服务器对于前后端完全分离的系统,开发时候我们需要给前端配置服务器,当然我们可以选择Nginx之类的服务器进行配置,但我们也能使用NodeJS构建高自由度的前端开发服务器。简单静态服务器下面是一个简单的静态服务器:var http = require('http'), url = require('url'), fs = require('fs') path = require('path');function getContentType(_path){ var contentType, ext = 阅读全文
posted @ 2013-08-12 18:27 HackerVirus 阅读(483) 评论(0) 推荐(0)
摘要: 实现了一个简单的key-value存储系统源码下载: kvfs.rar正文: 所谓的Key-Value就是每次存储一个数据时,是根据Key进行索引存储的。为了实现Key的快速查找功能,我使用了B-tree存储结构。B-tree被大量用于数据库的索引中,所以选用B-tree想必不会有太大的问题。Value是对应该Key的值,他的长度是未知的,所以要实现这样一个存储系统,必须要解决从Key值到文件位置的映射关系。问题一:实现文件的"自由"读写问题二:实现BTree问题一:实现文件的"自由"读写。 基本思想:所有内容被存储到一个文件中,文件被划分成同一大小的粒 阅读全文
posted @ 2013-08-12 18:22 HackerVirus 阅读(464) 评论(0) 推荐(0)
摘要: TFS二次开发系列:五、工作项查询本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表。 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似:Select [标题]from workitemswhere [工作项类型]='任务' and [指派给] = 'administrator'order by [标题] 我们通过多个步骤来学习,一、我们连接TFS服务: //TFSURI Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs"); ... 阅读全文
posted @ 2013-08-12 18:21 HackerVirus 阅读(397) 评论(0) 推荐(0)