代码改变世界

艾伟:编写自文档化的代码

2011-08-28 23:55 by 狼人:-), 149 阅读, 0 推荐, 收藏,
摘要:文所以载道也。 —— 宋·周敦颐《通书·文辞》 对于我们程序员来说,我们的工作也是写作——几乎每天都要写代码;而且还要载“道”,不仅仅要满足客户的需求,还要让代码具有高度的可读性,这样其他的程序员可以更容易地对代码进行修改和扩展。 按这样的要求,我们需要为代码编写足够的文档,也就是将代码“文档化”。常见的做法有两种,外部文档和注释。 外部文档 外部文档指的是在代码文件之外编写的附加文档,比如在Word文档中采用大量的篇幅(如UML图、表格)来设计或记录相关的包、类型、类型成员、成员参数之类的信息。这看起来很规范,但如果你用过这种方式,一定会讨厌它。这种方式的主要问题在于: 阅读全文

艾伟:一次挂死(hang)的处理过程及经验

2011-08-28 23:55 by 狼人:-), 347 阅读, 0 推荐, 收藏,
摘要:前言: CPU占用率低,内存还有许多空余,但网站无法响应,这就是网站挂死,通常也叫做hang。这种情况对于我这样既是CEO,又是CTO,还兼职扫地洗碗的个人站长来说根本就是家常便饭。以下是一次处理hang的经验及总结,前后用了一个月,不仅涉及程序排查,数据库优化,还有硬件升级的苦恼。其中辛酸苦辣只有经历过的站长才能体会,希望此文能对各位有所帮助! 首先介绍一下网站基本情况,是一个在线小说阅读网站,每天有一定页面访问量,在优化开始前由两台服务器运行,均为Dell PowerEdge 2950,配置为一台Intel xeon E5410 2.33G*2 ,4GB ECC内存,另一台Intel xe 阅读全文

艾伟:Regex.Replace 方法的性能!

2011-08-28 23:55 by 狼人:-), 387 阅读, 1 推荐, 收藏,
摘要:园子里有很多关于去除Html标签的文章。一个常用的经验是使用 Regex.Replace 方法利用正则去替换。这里有一篇使用该方法的文章C#中如何去除HTML标记。下面我贴出该方法的代码,见代码清单1-1 代码清单1-1引用http://www.cnblogs.com/zoupeiyang/archive/2009/06/22/1508039.html /// ///去除HTML标记 /// ///包括HTML的源码 ///已经去除后的文字 publicstaticstringReplaceHtmlTag(stringHtmlstring) { //删除脚本 Htmlstring=Htm... 阅读全文

艾伟:C# Design Patterns (1) - Factory Method

2011-08-28 23:55 by 狼人:-), 168 阅读, 0 推荐, 收藏,
摘要:Simple Factory Pattern (简单工厂模式) 特性: 把类的实例化工作,集中到一个「工厂类」去处理,亦即将 new instance 的工作,都交给一个「工厂」去处理,而不要分散写在各个类中。 客户端程序,与创建实例 (对象) 的工作必须隔离,亦即「解耦」,客户端程序只要专注于自己的业务逻辑。适用于客户端程序在开发过程中,尚无法预知要创建的具体类型。 产品具体的实现能和客户端隔离,便于事后抽换。 Simple Factory Pattern (简单工厂模式)、Factory Method Pattern (工厂方法模式),在实作的代码中,有时很难明确去界定此二者。Simp.. 阅读全文

艾伟:[原创]再谈IIS与ASP.NET管道

2011-08-28 23:55 by 狼人:-), 257 阅读, 0 推荐, 收藏,
摘要:在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制,以及ASP.NET运行时管道对HTTP请求的处理流程: [原创]ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI[原创]ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part I[原创]ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part II 很多人留言为何没有IIS. 阅读全文

艾伟:基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现

2011-08-28 23:55 by 狼人:-), 217 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 申明:本系列课程是专为新手们写来入门练习用的,目的是想通过一个完整的问卷调查管理系统的案例开发来让新手们了解、加深或是熟悉软件项目的开发流程及在.NET平台上使用VS2005和C# 进行Windows方面的编程;在整个课程的设计上,... 阅读全文

艾伟:关于.NET中的循环引用

2011-08-28 23:55 by 狼人:-), 345 阅读, 0 推荐, 收藏,
摘要:在现在开发模式日益增多,框架泛滥的时代里,人们越来越多的依赖于固有的框架模式的开发而忽略了对项目底层架构的理解。所以在部署项目结构的时候,会遇到“循环引用”这个问题,今天我就遇到了。 其实说起来并不复杂,就是我有5个项目A,B,C,D,E,然后我在项目A中引用了B的类,然后又在B中引用了C的类,最后又在C中引用了A中的类,这就构成了循环引用。 那么碰到这样的问题,怎么解决呢? 解决方案一: 我们考虑创建新的一个项目Z,然后分别添加对A,B,C的引用,这样A,B,C只要引用Z就行了。 解决方案二: 也可以创建一个类库项目,然后将A,B,C,D,E,F... 阅读全文

艾伟:老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现

2011-08-28 23:55 by 狼人:-), 343 阅读, 0 推荐, 收藏,
摘要:在上一篇文章中,我们通过一些示例谈论了IL与CLR中的一些特性。IL与C#等高级语言的作用类似,主要用于表示程序的逻辑。由于它同样了解太多CLR中的高级特性,因此它在大部分情况下依旧无法展现出比那些高级语言更多的CLR细节。因此,如果您想要通过学习IL来了解CLR,那么这个过程很可能会“事倍功半”。因此,从这个角度来说,老赵并不倾向于学习IL。不过严格说来,即使IL无法看出CLR的细节,也不足以说明“IL无用”——这里说“无用”自然有些夸张。但是,如果我们还发现,那些原本被认为需要通过IL挖掘到的东西,现在都可以使用更好的方法来获得,并且可以起到“事半功倍”的效果,那么似乎我们真的没有太多.. 阅读全文

艾伟:基于.NET平台的Windows编程实战(三)—— 项目的创建及主界面的设计

2011-08-28 23:55 by 狼人:-), 170 阅读, 0 推荐, 收藏,
摘要:第一步:创建一个新的Windows项目 打开VS2005,点击“文件”-->“新建”-->“项目”,在弹出的对话框里,在左边选择“Windows”,在右边选择“Windows应用程序”,并在下面的名称里输入“QuestionnaireSystem”,选择相应的保存位置后,点“确定”,如下图3-1所示: 图3-1 这样一个新的Windows项目就创建好了。 另:为了整个系统的操作需要,我们为项目新建二个文件夹:一个是DataBase[用来存放数据库文件],另一个为Images[用来存放用户所要用到图片资源],创建方法为:右击项目名称,选择“添加”à“新建文件夹”;创建好后, 阅读全文

艾伟:基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现

2011-08-28 23:55 by 狼人:-), 186 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 首先,为了使我们的界面更加便于操作及布局,我们引入第三开源控件DockPanel[当然也可以不引入控件而直接进行开发],你可以从这里:DockPanel控件下载其编译好的DLL文件,也可以从这里:http://sourceforge.ne... 阅读全文

艾伟:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计

2011-08-28 23:55 by 狼人:-), 192 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 大家都知道一个系统的成败与否关键在于其所做的需求分析是否到位,数据库的设计是否合理。因为本系列文章的目的是在于提高大家对.NET Windows编程的实战能力,故不对需求分析与数据库设计作太多的理论说明,有关这方面的知识请大家自行查阅... 阅读全文

艾伟:AOP in Asp.net MVC

2011-08-28 23:55 by 狼人:-), 279 阅读, 0 推荐, 收藏,
摘要:不同的观点,开拓迥然不同的世界. Another point of view can sometimes open up a whole new world. ---- HSBC 本文内容包括: SoC AOP AOP in Asp.net AOP inAsp.net MVC SoC Separation of concerns (SoC) is the process of breaking a computer program into distinct features that overlap in functionality as little as possible. ... 阅读全文

艾伟:闲说继承

2011-08-28 23:55 by 狼人:-), 176 阅读, 0 推荐, 收藏,
摘要:继承已经是一个古老的话题了,不过最近又在一些地方看到有人讨论它,加上自己也有一些想法,因此形成了这篇文章。继承好不好?经典的OO理论说:继承是面向对象的三大基石之一。现代的OO理论说:组合优于继承。这两种说法显然是彼此冲突的。如果组合优于继承的话,那么为什么组合没有取代继承成为OO的基石呢?哪一种说法更有道理?对这个问题,简单的说哪个比哪个更好其实是没有多大意义的。我们应当从技术发展的历史角度去看,这两种说法各自是在什么时期产生的,它们形成的背景是什么,才能对此问题有一个更加深刻的理解。面向对象的思想形成与上个世纪70年代,但真正在软件开发阵营中流行开则是在80年代末和90年代初的时间。巧合的 阅读全文

艾伟:基于.NET平台的Windows编程实战(一)——前言

2011-08-28 23:55 by 狼人:-), 168 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 前言:本系列文章是一个关于.NET Windows编程的入门实战教程。通过一个完整的真实案例:问卷调查管理系统,全面展示了基于.NET平台的Windows编程方法,内容囊括界面的建立、业务逻辑、数据访问等。 案例背景:大约是3月份... 阅读全文

艾伟:基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写

2011-08-28 23:55 by 狼人:-), 198 阅读, 0 推荐, 收藏,
摘要:本系列文章导航基于.NET平台的Windows编程实战(一)——前言基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写基于.NET平台的Windows编程实战(五)—— 问卷管理功能的实现基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现 大家都知道本系统的正常运行少不了数据库操作这一块,且其在本系统中具有决定性作用,可以说没有它的操作系统将无法运行,故在本节课程中,专门把针对数据库的操作类拿出来讲讲,以便大家更加容易理解后面的课程。 好,进入正题…… 首先,我们来新建一个... 阅读全文
上一页 1 ··· 290 291 292 293 294 295 296 297 298 ··· 311 下一页