摘要: 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装。 阅读全文
posted @ 2008-12-29 10:36 莫贝特(MBetter) 阅读(1544) 评论(3) 推荐(3) 编辑
摘要: jQuery Intellisense in VS 2008 转自:http://weblogs.asp.net/scottgu/ Last month I blogged about how Microsoft is extending support for jQuery. Over the last few weeks we've been working with the jQuery team to add great jQuery intellisense support within Visual Studio 2008 and Visual Web Developer 2008 Express (which is free). This is now available to download and use. Steps to Enable jQuery Intellisense in VS 2008 To enable intellisense completion for jQuery within VS you'll want to 阅读全文
posted @ 2008-12-15 13:08 莫贝特(MBetter) 阅读(775) 评论(0) 推荐(0) 编辑
摘要: Adding a Strong Name to an existing DLL that you don't have the source to There are times when you need a DLL to have a strong name; putting it in the GAC for example. With 3rd party DLL's this could be a pain. This is how you do it: From a VS.NET command prompt, enter the following: 阅读全文
posted @ 2008-11-26 09:39 莫贝特(MBetter) 阅读(280) 评论(0) 推荐(0) 编辑
摘要:  最近一直在搞Share Point 和Workflow 的项目.好不容易做了出来,被老板喷了一顿.说样式太丑,performance太低.其实并不是不想去修饰Share point Webpart的界面.而是实在不知道怎么去做.,不知道如何使用自定义的Js方法和css样式.但是都被老板指出来了.不做不行.做吧.于是上网搜了一堆的文档,终于找到一个比较满意的方法.提供给大家share一下.(已经会的expert ,请不要喷俺了)   由于SharePoint WebPart 不像asp.net,可以拖拽控件,而且没有前台代码.你只能发布倒sharepoint上进行浏览.由于没有前台的HTML,只有后台的cs文件.所以不能通过通常的在html中进行引用.不过最终你通过浏览器查看源码的时候,肯定还是 或者这种形式.关键问题是你如何才能达到这样的目的. 阅读全文
posted @ 2008-11-21 19:37 莫贝特(MBetter) 阅读(3150) 评论(7) 推荐(0) 编辑
摘要: 这是 Mashable 搜集的最新 Web 开发工具箱,包括拖放式 Web 程序创建工具,代码库,项目管理,测试程序,以及支持各种编程语言的框架,从 Ajax 到 Ruby 到 Python。这是第二部分。 阅读全文
posted @ 2008-11-05 08:49 莫贝特(MBetter) 阅读(374) 评论(1) 推荐(1) 编辑
摘要: BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。 阅读全文
posted @ 2008-10-27 16:46 莫贝特(MBetter) 阅读(563) 评论(0) 推荐(1) 编辑
摘要: 用 例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例方法最早是由Iva Jackboson博士提出的,后来被综合到UML规范之中,成为一种标准化的需求表述体系。用例的使用在RUP中被推崇备至,整个RUP流程都被称作 是"用例驱动"(Use-Case Driven)的,各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输入工件,用例模型奠定了整个系统软件开发的基础。 阅读全文
posted @ 2008-10-10 15:45 莫贝特(MBetter) 阅读(407) 评论(0) 推荐(1) 编辑
摘要: 一个企业软件能力类似于一个人在一个特定领域的能力,是逐步获得和增长的。如果一个人在其领域的发展过程中能得到一个很好的指南,那么他或她就会不断达到一个个设定的目标,并变得成熟起来,否则可能会盲目发展,离自己的目标越来越远,甚至南辕北辙。一个企业的软件能力发展也同样需要一个良好的指南,SW-CMM正是这样一个指南,它以几十年产品质量概念和软件工业的经验及教训为基础,为企业软件能力不断走向成熟提供了有效的步骤和框架。 阅读全文
posted @ 2008-10-10 13:08 莫贝特(MBetter) 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 数据库技术是信息资源管理最有效的手段。   数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计的各阶段:   A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。   B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。   C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。   D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 阅读全文
posted @ 2008-09-18 14:55 莫贝特(MBetter) 阅读(1415) 评论(0) 推荐(1) 编辑
摘要: 一、数据库设计过程   数据库技术是信息资源管理最有效的手段。   数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计的各阶段:   A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。   B、在概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。   C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。   D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 阅读全文
posted @ 2008-09-18 14:53 莫贝特(MBetter) 阅读(672) 评论(0) 推荐(1) 编辑
摘要: 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:   1、分页速度一般维持在1秒和3秒之间。   2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。   虽然在超大容量情况下,这个分页的实现过程是很快的,但在分前几页时,这个1-3秒的速度比起第一种甚至没有经过优化的分页方法速度还要慢,借用户的话说就是“还没有ACCESS数据库速度快”,这个认识足以导致用户放弃使用您开发的系统。   笔者就此分析了一下,原来产生这种现象的症结是如此的简单,但又如此的重要:排序的字段不是聚集索引! 阅读全文
posted @ 2008-09-18 08:59 莫贝特(MBetter) 阅读(715) 评论(0) 推荐(1) 编辑
摘要: 建立一个web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。   更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法是非常浪费资源的。现在流行的分页方法一般是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。 阅读全文
posted @ 2008-09-18 08:52 莫贝特(MBetter) 阅读(550) 评论(0) 推荐(1) 编辑
摘要: 1:sql server 索引优化一 2:sql server 索引优化二 3:sql server sql 优化 4:sql 优化之:实现小数据量和海量数据的通用分页显示存储过程(系列四) 5:sql 优化之:聚集索引的重要性和如何选择聚集索引(系列五) 阅读全文
posted @ 2008-09-18 08:47 莫贝特(MBetter) 阅读(568) 评论(0) 推荐(1) 编辑
摘要: 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:   select * from table1 where name='zhangsan' and tID > 10000   和执行:   select * from table1 where tID > 10000 and name='zhangsan'   一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name='zhangsan'的,而后再根据限制条件条件tID& gt;10000来提出查询结果。   事实上,这样的担心是不必要的。SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。 阅读全文
posted @ 2008-09-18 08:32 莫贝特(MBetter) 阅读(616) 评论(0) 推荐(1) 编辑
摘要: 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:  其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。 阅读全文
posted @ 2008-09-17 21:49 莫贝特(MBetter) 阅读(1100) 评论(0) 推荐(1) 编辑
摘要: (一)深入浅出理解索引结构   实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:   其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。 阅读全文
posted @ 2008-09-17 21:41 莫贝特(MBetter) 阅读(992) 评论(1) 推荐(1) 编辑
摘要: 数据库作为数据的一个容器,不但对程序的performance有很大的影响,而且对应用程序的扩展有非常大的影响.所以对应用程序来说,一个具有良好设计的数据库是非常重要的.那么如何才能设计出性能好,又支持扩展的数据库呢?这是我们大家都要去探索的问题.现在有很多版本的数据库设计的流程.然而这也只是目前阶段能设计出一个比较好的数据库的一个途径.更好更优的数据库设计流程是我们追求的目标.但是现在,我们先来了解下目前阶段标准的数据库设计流程.以助于我们在开发应用程序的时候能用到. 阅读全文
posted @ 2008-09-16 10:26 莫贝特(MBetter) 阅读(9067) 评论(6) 推荐(2) 编辑
摘要: 最近倍感轻松,因为负责的项目已经正式上线了.回顾这1年半的时间,真是酸甜苦辣,五味俱全.先来说下我们的项目,费用大概加起来接近300万,项目分为3个Phase,历时15个月终于正式结束了.所以在此回顾一下项目,并总结一下其中的经验和教训.欢迎各位拍砖. 由于我们以前很少做项目(基本都是产品),所以在刚开始接到这个项目的时候,说真的,公司并没有成功的经验来供我们参考, 所以在我们项目结束后,来统计投入和收益的时候,我们竟然发现其实我们在项目的第一阶段基本不赚任何钱.这是因为项目开始时,我们投入的人力高达20个人,其中包括一半是外包人员(然而这些不稳定的外包人员不但没有给我们的项目带来帮助,而且是我们一个很大的问题.后面我们会讲到这个问题). 阅读全文
posted @ 2008-09-10 15:28 莫贝特(MBetter) 阅读(4416) 评论(43) 推荐(0) 编辑
摘要: google官网上已经可以下载,不过我下载下来了.就分享一下吧.不过好像都是js文件.牛XX. 下载 The easiest way to download Google Doctype is with a Subversion client. If you only want the sample code, use this command: svn checkout http://doctype.googlecode.com/svn/trunk/goog goog If you want the entire project (code, test cases, and articles), use this command instead: svn checkout http://doctype.googlecode.com/svn/ doctype 阅读全文
posted @ 2008-09-04 14:37 莫贝特(MBetter) 阅读(606) 评论(2) 推荐(0) 编辑
摘要: 昨天在浏览新闻的时候看到了google browser:chrome.兴奋的不得了,而且还在cnblogs的首页发布了google将要出浏览器的信息.今天是chrome的beta版本. 于是早上起来很早(google的东西我一直认为非常棒,当然想去试试了),就去下载尝试,初体验感觉非常棒,好像客户端确实很强.但是在查看 chrome使用内存的时候,发现了进程竟然有三了chrome的进程!!奇怪为什么?我只打开了一个而已.我尝试用Firefox打开了相同的几个页面 Google chrome也的确占用内存很小,不过感觉还是不爽 1:竟然不支持 Iciba的英文抓词,由于本人英文不是很好,在看外文网站的时候,喜欢打开iciba,一边看一边翻译,无论我的鼠标在Chrome 上怎么动,就是翻译不出来.郁闷.看来看E文文章,Google Chrome不是首选了. 阅读全文
posted @ 2008-09-03 09:23 莫贝特(MBetter) 阅读(3214) 评论(62) 推荐(0) 编辑
摘要: 今天早上起来,在浏览新闻时,突然看到,google要推出浏览器.赶紧把这个小心告诉大家,期待ing..................... 好像有几个特点: 1:open source 2:优化了javascript的性能. 3,特别的 tab,不像FF一样,tab放在了最上方. ......E文不是很好,自己看吧 阅读全文
posted @ 2008-09-02 09:54 莫贝特(MBetter) 阅读(1811) 评论(5) 推荐(0) 编辑
摘要: 在C#中,我们可能经常用到使用非常方便的Hashtable,不知大家是否知道它的另外一个名字:散列表.事实上Hashtable使用了某种算法,通过键(key)来确定每个对象的位置,实际上,该算法并不完全是Hashtable类提供的.它有两个部分,其中的一部分的代码是有key类来完成.我们平常在使用Hashtable的时候,key我们一般使用string类(部分算法string已经提供,Microsoft已经替我们做了),所以不会有任何的问题,但是如果key类是用户自己编写的,就必须自己编写这部分算法了. 阅读全文
posted @ 2008-09-02 00:01 莫贝特(MBetter) 阅读(5474) 评论(18) 推荐(0) 编辑
摘要: 对于像我这样的初学者来说,每次看书看到Event 和Delegate的时候,就头脑发昏.往往会跳过这些章节,去阅读其他的章节,因为读这些章节需要很大的勇气,看不懂,太打击自己的学习兴趣.之前已经却步了很多次了.这次真是硬着头皮把她读完,又到Cnblogs上搜索了很多前辈的关于Event and Delegate的文章,才逐渐的有所了解. Delegate and Event是C#中很重要的概念.所以无论如何,作为net程序员,你必须要懂得,在这里我把我所理解的Delegate and Event 记录下来,希望对初学者有所帮助. 阅读全文
posted @ 2008-08-25 14:36 莫贝特(MBetter) 阅读(2985) 评论(21) 推荐(0) 编辑
摘要: 在web开发的过程中.我们希望我们的web有统一的风格,我们传统的做法是用frame去做,在net中已经存在类似的控件Master Pages,而我们这个系列将逐步的介绍MasterPages. 本系列将由浅入深的介绍MasterPages控件,包括什么是Master Pages,怎样创建MasterPages,以及如何才能更好的使用Master Pages. 阅读全文
posted @ 2008-08-13 11:32 莫贝特(MBetter) 阅读(2145) 评论(6) 推荐(0) 编辑
摘要: 最近一直在看阅读到了装箱和拆箱的章节,想弄清楚到底什么是装箱和拆箱,装箱和拆箱如何再程序中高效的运用.于是就搜集了很多资料,并把其中一些认为比较好的以及自己的看法贴出来大家共享.由于本人C#能力有限,如果文中有任何不正确的地方,忘前辈们指正. 我们将通过实际的例子以及ILDASM.exe工具去查看装箱和拆箱的过程(至于ILDASM.EXE的用法请查看MicroSoft的帮助). 一::我们想看下装箱和拆箱的对象 装箱:值类型=引用类型. 拆箱:引用类型=值类型 阅读全文
posted @ 2008-08-12 00:00 莫贝特(MBetter) 阅读(7080) 评论(20) 推荐(1) 编辑
摘要: 前两篇文章我们简单的讲了如何创建Master Page,如何为Master Page 添加多个ContentPlaceHolder以及如何定义ContentPlaceHolder的显示与否.本文主要介绍Master Page页的Header部分.如何定义功能丰富的header信息. 阅读全文
posted @ 2008-08-11 13:34 莫贝特(MBetter) 阅读(1316) 评论(3) 推荐(0) 编辑
摘要: 经过了 我们已经了解了如何创建Master Pages.接着我们学习如何在Master Page上创建多个内容页面.如何处理页面的显示与否. 阅读全文
posted @ 2008-08-06 10:30 莫贝特(MBetter) 阅读(1381) 评论(0) 推荐(0) 编辑
摘要: 今天看了,在派生类的构造函数这一小节中讲到了派生类中如何调用父类构造函数的问题.一个简单的继承,竟然报错,查了资料.也还是不清楚它的原理.书中的实例是: 父类:一个含有带参数的构造函数 阅读全文
posted @ 2008-08-04 22:47 莫贝特(MBetter) 阅读(3165) 评论(6) 推荐(0) 编辑
摘要: 本篇为Master Pages 系列的第一篇.所以激动无比,因为刚开始写Blog,所以错误有可能在所难免,请各位达人批评指正,在下悉心接受并改正. 介绍: 设计良好的站点LayOut有两个很好的特性.一个就是整个网站保持统一的网站风格,我们可以看下Http://www.asp.met (图1),基本上每个页面都的Top,Bottom,这样能保证网站看起来有统一的风格. 阅读全文
posted @ 2008-08-01 13:14 莫贝特(MBetter) 阅读(2251) 评论(2) 推荐(0) 编辑
摘要: 使用用静态构造函数的原因之一是因为:类的一些静态字段或者属性,需要在第一次使用类之前,从外部源中初始化 阅读全文
posted @ 2008-07-31 12:41 莫贝特(MBetter) 阅读(673) 评论(4) 推荐(0) 编辑