代码改变世界

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

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

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

2011-08-29 00:22 by 狼人:-), 182 阅读, 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. 阅读全文

艾伟_转载:C#中的委托和事件-抛砖引玉

2011-08-29 00:21 by 狼人:-), 256 阅读, 0 推荐, 收藏,
摘要:最近在学习委托和事件,在书店里面看了好多书,但是都是迷迷的…… 今天在博客园里面看到了 张子阳 所写的博客C#中的委托和事件:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 看后对委托和事件有了一个新的认识,可以是没有用到实际项目中去吧,感觉还是有点不知…… 下面我起一个抛砖引玉作用让这两天在书中看到的,及看张子阳博客和写的一个和他类似的程序…… 当第一次听到委托、事件时感觉比较抽象、很好奇,当看到老师在课堂上利用委托和事件实现两个窗体调用时、感觉委托太神奇了,呵、... 阅读全文

艾伟_转载:如何开发绚丽、高效率的界面(Windows嵌入式系统)

2011-08-29 00:21 by 狼人:-), 214 阅读, 0 推荐, 收藏,
摘要:上篇文章中提到用户体验(UE),并且说到国内有专门去做UE的团队也很少。据我了解Microsoft、Nokia、Google等,还有国内的Baidu是有比较专业的UE团队。对于我们这样的普通团队、普通开发者来说,这样的经验实在太少了。而且普遍更认为UE是UI Designer的事情,与我们这样的Developer没有太多关系。 当然不是,UE远超过UI。很多因素造成了UE差,比如一份不正确的数据表明17%的用户认为手机运行速度慢,Windows Mobile手机开机漫长的等待就十分的让我受不了。我们开发的应用是否有过优化?运行效率是否已经很让用户满意了?等等这些问题留在开发中思考吧。 在使用优 阅读全文

艾伟_转载:使用Lambda表达式编写递归函数

2011-08-29 00:21 by 狼人:-), 214 阅读, 0 推荐, 收藏,
摘要:前言 著名的牛顿同学曾经说过:如果说我比别人看得更远些,那是因为我站在了巨人的肩上. 原文:If I have been able to see further, it was only because I stood on the shoulders of giants. What's Lambda表达式? 请参考msdn:Lambda 表达式(C# 编程指南) Lambda表达式编写递归函数? How? 建议没有看过老赵的《使用Lambda表达式编写递归函数》这篇文章的朋友,请先前往围观,你会受益匪浅。 原文实现如下的递归效果: var fac = Fix<int, int& 阅读全文

艾伟_转载:扩展方法 之 基本数据篇

2011-08-29 00:21 by 狼人:-), 148 阅读, 0 推荐, 收藏,
摘要:前一篇我列举了几个最常用到的基于Asp.Net的扩展方法,而这一篇基于基本数据的扩展方法理应不会逊一筹,因为它不局限于Asp.Net。何谓基本数据,这里直接摆定义: C# 中有两种基本数据类型:值类型和引用类型。 值类型包括:简单类型、结构类型、枚举类型;引用类型包括:Object 类型、类类型、接口、代表元、字符串类型、数组。 说白了这篇就是扩展 int, string, double, DateTime...等基本类型。这么多数据类型,如果int来个扩展,double也来个扩展,肯定会是一个造金字塔工程。幸好有泛型帮我们,但是有时泛型也不是万能的,这个以后有机会再说。 ... 阅读全文

艾伟_转载:扩展方法 之 Asp.Net篇

2011-08-29 00:21 by 狼人:-), 199 阅读, 0 推荐, 收藏,
摘要:说起扩展方法,不得不提博客园的鹤冲天,其关于扩展方法的文章基本上占了总文章的一半,其中不乏优秀之作。 我在Asp.Net开发期间也总结了不少扩展方法,与大家分享一下。 1. 获取GridView的主键值: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public static T GetKey<T>(this GridView grid, int rowIndex){ T key = (T)grid.DataKeys[ro.. 阅读全文

艾伟_转载:扩展方法 之 Redirect 篇

2011-08-29 00:21 by 狼人:-), 211 阅读, 0 推荐, 收藏,
摘要:前言: 单看标题,可能很多朋友不知道我到底想写什么。在写这篇文章前,我自己跟自己斗争了很久,到底该不该写这篇文章?毕竟从现实主义来看,这篇文章可能落入“瞎扯淡”的行列,因为对大多数朋友来说,以下的所有扩展方法可能都不会用到。 如果真是这样,就当作一个“漫无边际”的想法来看好了。如果你根本不想浪费你的宝贵时间,就点这里 Redirect 回博客园主页,呵呵 一个 Redirect 为什么也可以耗费一篇文章的笔墨? 就 Redirect 一词成文的先例估计不会是我,但如果 扩展方法 + Redirect 这个话题,我可能就是第一人了。 葫芦里卖的是什么药? 这个“漫无边际”的想法实... 阅读全文

艾伟_转载:把Array说透

2011-08-29 00:21 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:1. 数组大局观 数组是一个引用类型,也就是意味着数组的内存分配在托管堆上,并且我们在栈上维护的是他的指针而并非真正的数组。接下来我们分析下数组的元素,其中的元素无外乎是引用类型和值类型。当数组中的元素是值类型时,不同于int i;这样的代码。数组会根据数组的大小自动把元素的值初始化为他的默认值。例如: static void Main(string[] args) { int[] intArray = new int[3]; foreach(int i in intArray) { Console.WriteLine(i); ... 阅读全文

艾伟_转载:打造优雅的Linq To SQL动态查询

2011-08-29 00:21 by 狼人:-), 218 阅读, 0 推荐, 收藏,
摘要:首先我们来看看日常比较典型的一种查询Form 这个场景很简单:就是根据客户名、订单日期、负责人来作筛选条件,然后找出符合要求的订单。 在那遥远的时代,可能避免不了要写这样的简单接口: public interface IOrderService{ IList<Order> Search(string customer, DateTime dateFrom, DateTime dateTo, int employeeID);} 具体爱怎么实现就怎么实现啦,存储过程,ORM框架。这里假定是用了孩童时代就开始有的存储过程吧: Code highlightin... 阅读全文

艾伟_转载:我对NHibernate的感受(2):何必到处都virtual

2011-08-29 00:21 by 狼人:-), 141 阅读, 0 推荐, 收藏,
摘要:上一篇文章主要是在夸NHibernate实现的好,而这篇就完全是来抱怨的了。NHiberante有个毛病,就是如果是和数据库产生映射的类,就要求所有的public成员和protected成员必须是virtual的。请注意这里的要求有两个细节: 即使是方法,也必须标记为virtual 即时是不和数据库有映射关系的属性,也必须标记为virtual 这就让我觉得无厘头了,为什么没有任何关系的东西也要受到限制?我知道NHiberante要求将属性标记为virtual是为了延迟加载,因为只有这样它才能生成如上一篇文章中那样的延迟代理类,这样就可以实现只在第一次访问属性的时候才进行“加载”... 阅读全文

艾伟_转载:话说并发

2011-08-29 00:21 by 狼人:-), 128 阅读, 0 推荐, 收藏,
摘要:对于很多人来说,并发是一个离不开的话题。那么我们平常对并发的理解可能局限于某个方面。去很好的理解并发,对于软件开发很有帮助。怎样去更好的理解并发? 苹果下落,在我们认识牛顿定律之前。如果问苹果是下落的,我们都会说大家都知道,很清楚,很明白——了解但没引起关注。如果问为什么苹果下落。我们会举出很多相关的概念来说明苹果为什么下落——相似性,但却没有一个很清晰的概念。在万有引力之后,我们的认识已经有一定的高度,甚至对以后很多科技都很有帮助。 所以怎样去理解并发,我们不缺乏经验。那么我们缺乏的就是那么一个高度,可以理解为深度的认识。 可能有人会讲并发作为一种缺陷,一个问题。此时,我将他... 阅读全文

艾伟_转载:ASP.NET Forms验证的安全性问题研究——为什么加密代码需要配置为服务

2011-08-29 00:21 by 狼人:-), 148 阅读, 0 推荐, 收藏,
摘要:申明:这个帖子不是要你去干啥坏事,就是提醒一下你可能会遇到的安全性问题。 ASP.Net提供了内置的登录验证,最为常用的就是Forms验证。讲解如何配置的文章非常多,这里就不再讲如何配置使用这个验证的方式了。下面讲讲其在安全性上存在的一些被忽视的问题。其实它本身没有问题,而使用的方式上会附带出来一些问题。 本文将分三部分讲实际应用中将会遇到的安全性问题,并且加以研究,并尝试提出解决方案。 一、简单的Forms被破解危机二、垂直划分站点的Forms被破解危机三、危机将带来什么后果 一、简单的Forms被破解危机 最简单的一个Forms验证,在web.config下配置节点: Code hi... 阅读全文

艾伟_转载:我对NHibernate的感受(1):对延迟加载方式的误解

2011-08-29 00:21 by 狼人:-), 138 阅读, 0 推荐, 收藏,
摘要:NHibernate是.NET平台上最著名的ORM框架,虽说出身于Java平台上的Hibernate,但是从外部看来这几乎就是一个.NET平台上的原生产品:有自己的社区,有自己的用户,有自己的商业支持,有利用C#特性的独立扩展。它不像Lucene.NET那样,一眼就能看出浓重的Java气息,Java的命名方式等等。我用NHibernate时间不长,而NHibernate的复杂程度也决定了我无法像了解LINQ to SQL那样容易。不过在使用了一段时间过后,还是对它有一定体会。有欣喜,有误解,也有抱怨。 这几篇文章里我不打算多谈NHiberante的优点,因为它的优势实在过于明显。如果不... 阅读全文

艾伟_转载:用C#编程合并多个WORD文档

2011-08-29 00:21 by 狼人:-), 180 阅读, 0 推荐, 收藏,
摘要:今天因为客户需要,需要将多个WORD文档合并成为一个WORD文档。其中,对WORD文档的合并方式分两种形式:一是复制合并;一是插入合并,即将多个文档按照先后顺序合并到另一个文档中.代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Text;using Microsoft.Office.Interop.Word;usi 阅读全文
上一页 1 ··· 269 270 271 272 273 274 275 276 277 ··· 312 下一页