![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经验之谈
尹自强
这个作者很懒,什么都没留下…
展开
-
SQL查询优化技术
导致SQL查询语句性能低下的3个常见原因以及优化方法1.影响SQL性能的原因 影响SQL性能的因素很多,如初始化参数设置不合、导入了不准确的系统统计数据从而影响程序的正确判断等。纯粹从SQL语句出发,影响SQL性能的不外乎以下3个重要原因: (1)在大记录集上进行高成本操作,如使用了引起排序的谓词等。 (2)未建立恰当的索引,导致转载 2011-10-28 00:59:59 · 503 阅读 · 0 评论 -
Visual Studio中的引用项目和直接引用DLL文件
在VS中引用类库时有多种方法,其中用的最多的就是在引用时选择项目选项卡引用本解决方案下的类库项目和选择浏览选项卡直接引用类库DLL文件,实际上这两种引用方式略有不同,今天就为大家总结下。C#本地项目(控制台,winform)引用类库项目,这时对引用DLL类库做出任何修改会立刻生效,不用保存和生成类库。如果删除类库项目,则本项目中引用的DLL也被删除。引用类库DLL,这时对类库的修改转载 2012-03-04 16:45:36 · 1655 阅读 · 0 评论 -
Asp.Net UrlRewrite 简单方法
1.网站Bin目录下添加"ActionlessForm.dll"和"UrlRewriter.dll"两个文件 2.在Web.config配置文件中添加4个节点 < 3.重写规则,节点与节点同级原创 2012-02-17 23:36:45 · 423 阅读 · 0 评论 -
构建高性能ASP.NET站点 网站优化需要考虑的方面
网站优化需要考虑的方面在用ASP.NET开发网站的时候,性能是永远需要考虑和关注的问题,性能不仅仅只是程序代码执行时候的速度,而是涉及到方方面面的东西。就拿ASP.NET的一个请求来讲,从浏览器向服务器的ASP.NET网站发送请求开始一直到最后整个页面呈现在我们面前,其中请求经过的每一个步骤,都是有不同的调优方式的,而且调用的方法也很多,不仅仅只是常见的:缓存,多线程,异步等。本系列的转载 2012-03-11 21:46:01 · 193 阅读 · 0 评论 -
SQL Server 2005控制用户权限访问表
一、需求在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限。写这篇文章就是说明下这个操作过程。其实这只是SQL Server权限管理很简单的一小块,有些地方并没有深入理解和讲述,只是希望对一些刚入门的童鞋有帮助,其它大侠就当是:我当堂吓一跳,然后得啖笑。二、操作步骤1.转载 2012-03-11 21:37:51 · 202 阅读 · 0 评论 -
程序员从初级到中级10个秘诀
有关程序员如何从初级跃升到中级的信息极少。以下是为了实现这种转变需要你去做的10件事。1.学习另一门语言其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造为更好的程序员。能学会一门与你日常使用的语言风格迥异的语言则更佳。打个比方,如果你是C#程序员,学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大。我说“学另一门语言”的转载 2012-03-11 21:52:13 · 443 阅读 · 0 评论 -
.NET开发不可错过的25款必备工具
【Csdn独家译稿 7月12日】这些年来,我们的.NET开发团队不断在更新升级开发工具,这也提供了一个机会,让我们能对.NET系列的开发工具做出不断的评估和规范。以下是我们总结出的一些.NET开发不可错过的高效工具。1.Two monitors——必备的。2.Visual Studio——同样的,也是必备的。3.Launchy——一款免费的必备工具。它能帮助开发者快速调用电脑中的程序快转载 2012-03-11 21:58:03 · 285 阅读 · 0 评论 -
.net集合类的研究-哈希表(一)--Hashtable,Dictionary<TKey,TValue>
今天来探究哈希表,.net内置的哈希表容器是Hashtable类,而Dictionary是对应的泛型哈希表.哈希表-Hashtable的实例化一般我们实例化ArrayList或List的时候,如果不指定容量,则其内部是赋值为一个静态的空数组。当有添加操作时,会实例化为一个长度为4的数组,如果容量满了以后,再添加,就会自动扩充为两倍的容量。哈希表也有一个类似的情况,new Hashtab转载 2012-04-02 11:12:51 · 308 阅读 · 0 评论 -
单链表与List<T>究竟哪个遍历速度快?
):“C#事件的背后是一个委托链表(单链表),单链表的遍历调用性能远低于数组链表(List)”。这句话让我比较纳闷,因为从我的直觉来说,两种做法之间即使性能有差距,也不该是“远高于”啊。不过我提出这个疑问之后,firelong回应到(还是原话)“间接指针移动,和i++哪个快慢很难辨析吗?”于是我想,还是做个试验吧。试验代码很简单:public class Node{ public N转载 2012-04-02 11:27:25 · 984 阅读 · 0 评论 -
c# 泛型集合Dictionary<TKey,TValue>
泛型最常见的用途是泛型集合,命名空间System.Collections.Generic 中包含了一些基于泛型的集合类,使用泛型集合类可以提供更高的类型安全性,还有更高的性能,避免了非泛型集合的重复的装箱和拆箱。 很多非泛型集合类都有对应的泛型集合类,我觉得最好还是养成用泛型集合类的好习惯,他不但性能上好而且 功能上要比非泛型类更齐全。下面是常用的非泛型集合类以及对应的泛型集合类:转载 2012-04-02 11:30:41 · 473 阅读 · 0 评论 -
如何成为“10倍效率”开发者
Brad Feld 的一篇文章 The Rise of Developeronomics 中提到了“10倍效率的开发者(10x developer)”的概念(伟大的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving 在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson 和 Jonathan Locke)询问如何成为“10倍效率的开发者”转载 2012-04-02 11:38:42 · 285 阅读 · 0 评论 -
网页制作常用秘籍花招集合
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 no 可用于Table 2. 取消选取、防止复制 3. onpaste="return false" 不准粘贴 4. oncopy="return false;" oncut="return false;" 防止复制 5. IE地址栏前换成转载 2012-04-04 12:06:28 · 317 阅读 · 0 评论 -
.net集合类的研究--哈希表(二)--HashSet<T>
.Net3.5之后出现了HashSet,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现,HashSet和Dictionary使用了相同的存储方式和哈希冲突算法,那么,它跟Dictionary和Hashtable在使用上到底有什么不同?HashSet对集合运算的操作HashSet是一个Set集合,虽然List、Colle转载 2012-04-02 11:18:54 · 288 阅读 · 0 评论 -
SQL Server 2005 数据类型和.Net数据类型的对应关系
SQL Server 2005 数据类型.NET Framework 数据类型LINQ 数据类型bigintSystem.Int64longbinarySystem.Byte[]System.Data.Linq.BinarybitSystem.Booleanboo转载 2012-04-02 11:31:22 · 282 阅读 · 0 评论 -
ASP.NET服务端GZIP压缩(CompressionModule压缩模块)
本人推荐的一个模块,同样可以压缩aspx页面请求的所有资源及支持强大自定义功能的压缩模块,与HttpCompress6.0一样能自定义要压缩那种类型的资源及不压缩那种类型的资源、也可定义要压缩指定的页面或不压缩指定的页面,并且还有开启Cache资源的功能及指定压缩目录的强大功能,另外也不会像HttpCompress6.0会出现axd文件无效的BUG,这样此压缩模块就能完美支持各种ajax框架!!转载 2012-04-06 16:22:04 · 480 阅读 · 0 评论 -
软件项目成员的业绩考核
项目经理:是否实现了公司的战略目标,或者项目目标. 具体的目标,一般是用利润来衡量,项目的合同价格主要由销售部门来谈,项目经理必须准确的计算成本来配合报价,并且在项目过程中控制成本。有的时候利润并不是优先目标,其他可能的目标是:赢得客户;打响品牌;锻炼队伍等,如果你以打响品牌为第一目标,那你就要严格控制质量,不太考虑成本和利润。公司可以把若干目标按优先顺序列出,项目经理能实现前几个即为成功,如果全转载 2012-06-01 14:19:26 · 367 阅读 · 0 评论 -
实现业务系统中的用户权限管理--设计篇
B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能转载 2012-06-01 14:43:26 · 473 阅读 · 0 评论 -
数据库查询优化技术
数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句。举例来说,如果数据的量积累到一定的程度,比如一个银行的账户数据库表信息积累到上百万甚至上千万条记录,全表扫描一次往转载 2012-05-21 23:30:20 · 212 阅读 · 0 评论 -
如何让你的SQL运行得更快
人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从转载 2012-05-21 23:34:19 · 187 阅读 · 0 评论 -
26个ASP.NET常用性能优化方法
数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。 ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最转载 2012-05-25 16:32:13 · 553 阅读 · 0 评论 -
给IT新人的15个建议:苦逼程序员的辛酸反省与总结
很多人表面上看着老实巴交的,实际上内心比谁都好强、自负、虚荣、甚至阴险。工作中见的多了,也就习惯了。有一些人,什么事都写在脸上,表面上经常得罪人,甚至让人讨厌。但是他们所表现的又未必不是真性情。我相信大多数人都看过《豪门夜宴》这部香港老电影。张学友、梁朝伟演的拍马屁的场景太有意思了,其中有这样一段:当两马屁精帮老板说出主意,老板马上叫停,然后拍一下脑门:“哦。。。我想到了。。。”,把别人的id转载 2012-06-20 12:05:33 · 416 阅读 · 1 评论 -
C#中using关键字的作用及其用法
C#中using关键字的作用及其用法using的用途和使用技巧。 using关键字微软MSDN上解释总共有三种用途: 1、引用命名空间。 2、为命名空间或类型创建别名。 3、使用using语句。 1、引用命名空间,这样就可以直接在程序中引用命名空间的类型而不必指定详细的命名空间。 这个就不用说了吧,比如大家最常用的:using转载 2012-06-23 19:24:59 · 426 阅读 · 0 评论 -
一个程序员的成长的六个阶段
第一阶段此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。 第二阶段此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。 第三阶段此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”转载 2012-06-26 16:23:12 · 229 阅读 · 0 评论 -
关于程序员如何提高自己的一些感言
我个人有接三年的软件开发经验,也做过不少大中型的项目,尝过成功的滋味,也体验过失败的痛苦,自己感觉还达不到高手的境界,和真正的高手还有不小的差距。要想提高自己首先不能满足于现状,我始终相信better enough is not better enough,要为自己树立一个更高的目标。有了目标还需要自己的不断努力,个人认为要成为高手还需要遵循以下条款。1. 扎实的基本功 离散数学、数转载 2012-06-26 16:20:13 · 308 阅读 · 0 评论 -
程序员怎样提高自己-驱动你的同事
想像这样一种场景,PM安排一个任务给你,但Scope比较广,涵盖到一些你不了解的技术和从没打过交道的Team。那么完成这个任务就要驱动其他Team的同事,但你的级别又不是那么高,说的话不一定有人愿意鸟你。那怎么办,和PM的时间都说定了,难道要动用上级资源来协调?这里总结几种我自己的方法,如果大家觉得有用就不枉此写!1. 用PM驱动你的方法驱动你的同事PM怎么驱动你的呢,看看这个谈话:P转载 2012-06-26 16:19:24 · 541 阅读 · 0 评论 -
程序员怎样提高自己-学会提问
大家一定有体会,在一个新项目开始时和客户交流或和Team里讨论新需求、新设计文档时,讨论的组织者会说如果有问题大家一定要提出来。可是开会的时候总是问题并没有那么多,但是一下来开始设计或编码的时候,觉得好像很多东西都不清楚,问题一下子就全出来了,我们怎么解决这种困惑。换句话说,如果能有效解决这种问题,自己的能力就会提高一大步。 一般在讨论之前,有一个准备过程,每个人都会拿到自己对应的文档,分析转载 2012-06-26 16:21:45 · 604 阅读 · 0 评论 -
jquery控制css的display(控制元素的显示与隐藏)
使用jquery真的很方便,比如要控制div的显示与隐藏,一句话就搞定了,请看下面使用说明。$("#id").show()表示display:block,$("#id").hide()表示display:none;$("#id").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。$("#id").css('display','转载 2012-08-07 14:57:51 · 336 阅读 · 0 评论 -
思维导图
我使用思维导图已经有一段时间了,也有了一些自己的经验,甚至,在工作和生活中,思维导图已经是我必不可少的一项工具。当智哥问我能不能用一句话解释清楚思维导图的时候,我迟疑了一下,还是没法说清楚(看来要将《金字塔原理》列入读书计划了:)。这些天我读了两本有关思维导图的书:《大脑使用说明书》和《开启大脑》,都是思维导图的创始人东尼.博赞的作品。我还读了一些相关的博客,尽量让自己对思维导图能有全面的认识。以转载 2012-07-25 13:17:10 · 1632 阅读 · 0 评论 -
在SQLServer中查询时区分大小写
SQL Server默认的排序规则是Chinese_PRC_CI_AS,这种排序规则是不区分大小写的,包括不区分半角和全角。 若查询语句select title from article where title like ‘%java%’,可以找到标题中含有java、JAVA、java的。 如果需要区分大小写,指定排序规则就可以了。在上面的例子中,如果只查询包含字符串”转载 2012-08-08 11:26:41 · 592 阅读 · 0 评论 -
大型ERP等数据库系统常见几种设计
1. 自增长 primary key 采用自增长 primary key主要是性能。早期的数据库系统,经常采用某种编号,比如身份证号码,公司编号等等作为数据库表的 primary key。然而,很快,大家就发现其中的不利之处。 比如早期的医院管理系统,用身份证号码作为病人表的 primary key。然而,第一,不是每个人都有身份证;第二,对于国外来的病人,不同国转载 2012-07-27 10:02:33 · 424 阅读 · 0 评论 -
规范化-数据库设计原则
摘要IBM 为社区提供了 DB2 免费版本 DB2 Express-C,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。关系型数据库是当前广泛应用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而,随转载 2012-07-27 10:04:17 · 279 阅读 · 0 评论 -
最全的CSS浏览器兼容问题
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名. CSS技巧 1.div的垂直居中问题 vertical-ali转载 2012-08-17 16:40:29 · 404 阅读 · 0 评论 -
线程间操作无效:从不是创建控件“XX”的线程访问它
委托和以前C语言中的函数指针非常类似,但它是类型安全的,代码Dim d As New SetTextCallback(AddressOf SetText),可理解为将d指向了SetText,public delegate sub SetTextCallback(byval print as string) 这句是声明委托类型,可理解为函数指针原型. 1.在FORM_LOAD中加代码转载 2012-08-28 21:17:50 · 612 阅读 · 0 评论 -
C# 异步UDP通讯
C#下的Socket编程有同步和异步之,他们的具体区别偶还是没有完全搞清楚,最近研究的了一下这方便的东西,写在此做个记录。在UDp监听某一端口通讯的时候,可以采用同步,使用线程,然后接受阻塞的模式,但是还可以使用异步的方法,比如下列子: using System.Net.Sockets;using System.Net;using System;using System.Text转载 2012-08-28 20:52:52 · 609 阅读 · 0 评论 -
防止XSRF(cross-site request forgery 跨站点请求伪造)攻击
XSRF全称是 cross-site request forgery(跨站点请求伪造),也称为CSRF,是一种常见的web攻击方式。攻击形式描述如下:1.用户登录并访问一个正常的站点 http://www.a.com;2.在同一个浏览器实例下,用户打开了恶意网站 http://www.b.com;(至于用户怎么会打开这个恶意网站,可能是恶意网站通过一些链接或者垃圾邮件等等形式诱骗用户点转载 2012-09-29 14:09:34 · 2193 阅读 · 1 评论 -
引用新浪微软Google的CDN加载jQuery
在网页中我们经常使用jQuery库,选择使用的jQuery加载源,能有效加快网站的加载速度,目前最佳的选择就是使用Sina或Google或Microsoft提供的CDN jQuery源。速度和稳定的原因,国内站点建议大家选用顺序为新浪微软Google的新浪的CDNhttp://lib.sinaapp.com/js/jquery/1.6/jquery.jshttp://lib.sin转载 2012-09-13 10:00:01 · 712 阅读 · 0 评论 -
针对数据库开发人员的性能调优小提示
性能调优并不是一件简单的事情,根本没有任何万能方案,但是你可以使用一些基本原则去实施.在一般的认为中,性能调优是DBA的职责.但是实际上,DBA是没有时间去仔细检查对存储过程所做的每个变更.所以学会一些基本的调优或许可以帮你省去重写代码的时间.这里我列出了15个事项,开发人员在写代码的时候应该理所当然的考虑这些事项以达到性能调优的目的.这些是SQLServer性能上的一些小技巧-比较简转载 2012-09-29 16:19:20 · 460 阅读 · 0 评论 -
网站大并发处理解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2012-09-30 00:18:34 · 597 阅读 · 0 评论 -
经验之谈
程序不进行类型转换,但必须处理字符,数据插入数据库时自动适配增删改操作和查询操作分开存放数据库字段的说明尽量详细工厂类中抽象,数据库访问类继承工厂需要使用标签时,标签内尽量只包含需要回发的控件(尽量少),有利于减少页面__VIEWSTATE值、简洁页面。不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。 不要使用动态拼装SQL,可原创 2011-12-20 13:21:08 · 204 阅读 · 0 评论 -
C#基础概念二十五问
当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题:1.静态变量和非静态变量的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.internal 修饰符起什么作用?6.sealed 修饰符是干什么的?转载 2012-11-20 12:46:39 · 267 阅读 · 0 评论