思维的乐趣

Enjoy it
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年6月5日

摘要: HTML是透明色的,一见到html代码我就会想起透明色。因为我在网上看到那么多无穷无尽的页面,背后都是一行一行的html代码,但我看不到它们。DIV+CSS是黑色的,本来透明的HTML代码,一经过CSS的修饰,立即变得生动丰富起来,而最能让透明的东西显形的,莫过于黑色。JS是绿色的,红灯停,绿灯行,本来在客户端什么都不能做,但是有了JS,一路绿灯,帮你打开了WEB的很多道门。PHP是黄色,黄色是天朝的苦难人民,就这么活着,一大片一大片地无生无息地活着。C是灰色的,灰色是深沉,是底层,是亘古不变,是经久不衰。C++是红色,炫耀而又危险的红色,亮着红灯的地方,是你不该去的地方,可是如果你非要去,他 阅读全文

posted @ 2012-06-05 23:02 szh114 阅读(227) 评论(0) 推荐(0) 编辑

2011年4月13日

摘要: RR(Record Replay) 模式。AAA(Arrange,Act,Assert)模式。Rhino Mocks 不能 Mock 类中的非virtual方法及属性!只能Mock接口 。 阅读全文

posted @ 2011-04-13 23:36 szh114 阅读(401) 评论(0) 推荐(0) 编辑

2010年11月26日

摘要: 今天老大跑过来问我如何把SVN服务器上的当前版本回退到某一个版本上去,我没回答上来,很失败,所以现在整理一下Tortoise SVN的操作知识,当然所有内容都来自于网络,不多废话:TortoiseSVN用户指南中文版(http://www.svn8.com/shouce/tortoisesvn1.5.8/)0:SVN的版本号是怎么回事? svn commit操作可以作为一个原子事务操作发布任意数量... 阅读全文

posted @ 2010-11-26 23:07 szh114 阅读(34485) 评论(0) 推荐(4) 编辑

2010年11月16日

摘要: 当主程序中引用了一个DLL时,这个DLL就必须要让主程序能找到才行,如果找不到时会发生什么情况呢(假设没针对这种情况做任何特殊处理)?如果这是一个Console程序,那么窗口会一闪而过,如果在CMD下执行,那么什么都不会显示,直接就到新的命令提示符了。如果这是一个WinForm程序,则会弹出异常窗口。之所以写这个,是因为前天在讲解一个示例程序时,窗口一闪而过,我想了半天,才发现是需要的DLL库没拷... 阅读全文

posted @ 2010-11-16 23:50 szh114 阅读(614) 评论(0) 推荐(0) 编辑

2010年10月5日

摘要: 在.NET/C#中的结构这一数据类型中,可以定义全局静态的成员变量,然后直接用结构名来引用,这一点跟类的用法并无差别,但是在使用静态构造函数时要注意一个问题,以如下的代码为例:[代码]实际的输出并不是:TEST!!!10而是只有输出第二行,10,因为静态构造函数根本没有被调用。。。。。。我想可能是因为结构中既没有静态成员变量,静态构造函数也没相关操作,所以没有被执行,因此改变示例如下:[代码]结果... 阅读全文

posted @ 2010-10-05 01:29 szh114 阅读(1467) 评论(0) 推荐(0) 编辑

2010年9月15日

摘要: 做系统优化有两个角度,一是优化算法,二是优化代码的写法。往往优化算法带来的效率提升要远大于优化代码的效果,这个无需多说。但算法的优化就取决于一个人对系统算法的熟悉程度,假如一个人并不对系统有多熟,然后要对系统做优化(这个做法是不是本来就有点二呀,汗。。。),怎么办呢。或者说要集中考察系统的执行情况,确定要针对性地解决的问题,而不是全篇通盘考虑所有代码,考虑多处重构的话,就要用工具:最近使用了dot... 阅读全文

posted @ 2010-09-15 23:22 szh114 阅读(641) 评论(0) 推荐(1) 编辑

2010年8月21日

摘要: namespace TestProjectG{ class Program {     int i = 0;     static void Main(string[] args)     {       Console.WriteLine(i);     }   }} 上面这段代码是有问题的,就是因为,如果下意识的把Main方法当作类Program(当然其它名字也一样,不过默认生成的是这个)的... 阅读全文

posted @ 2010-08-21 19:52 szh114 阅读(4884) 评论(2) 推荐(1) 编辑

2010年7月25日

摘要: 在园区里面看到成都有.NET社区活动(http://1000copy.javaeye.com/blog/716188),看演讲主题好像跟最近接触的东西相关,就报名参加了,下午1:30到了指定的城市之心27楼的微软公司内,环境不大,应该不是用来做开发的吧,差不多相当于一个办事处之类的地方。有地毯,然后会议室内有纸杯,有抽纸,椅子也很舒服,茶水间内有各种茶,咖啡。有小玩偶之类的装饰品,挺不错的。到最后... 阅读全文

posted @ 2010-07-25 21:05 szh114 阅读(437) 评论(1) 推荐(0) 编辑

2010年7月24日

摘要: 所谓计时,就是统计代码在运行到某处时记一个时刻值,然后再运行到某处时再记一个时刻值,来衡量中间这段代码执行的时间的方法。使用这样的方法,前提是要忽略CPU的多线程,操作系统的多线程,多任务这些因素,所以只能尽量得到一个相对值来比较两段代码的效率,而不能精确计算。方法一: 用 DateTime.Now.Ticks [代码]根据MSDN的解释,A single tick represents one ... 阅读全文

posted @ 2010-07-24 01:18 szh114 阅读(4935) 评论(0) 推荐(0) 编辑

2010年7月18日

摘要: .NET/C#中,引入类型定义什么的,都是通过 dll reference 进行的,所谓的using 语句,只是为了不写那么长的完整类名称定义的方便语法而已,可有可无。不像C/C++中,是确实引入了头文件,里面包含了类型定义,需要的时候必须得引入。 阅读全文

posted @ 2010-07-18 22:04 szh114 阅读(1451) 评论(2) 推荐(0) 编辑

2010年7月15日

摘要: 1:类似于这样的代码:public class Car{ private string name; public string Name { get{return name;} set{name=value;} }...}要用自动属性:public class Car{ public string Name{get;set}...}在这儿使用Property,而不是仅仅使用public 成员变量的... 阅读全文

posted @ 2010-07-15 23:52 szh114 阅读(563) 评论(0) 推荐(1) 编辑

2010年7月11日

摘要: 当前项目将要做daily build,会用到 CruiseControl.NET;还要做UT,用 NUnit 。所以趁周末了解了一下NUnit 的用法。NUnit 其实是一个辅助类库,通过这个类库,可以把写成的测试代码放在它那个框架中完整跑起来。也就是说把一个“单元”拎了出来,加了一个开头,结尾。并且还有一个图形界面(当然这个可以不用)。有时候会利用一些第三方工具,比如 T... 阅读全文

posted @ 2010-07-11 16:38 szh114 阅读(597) 评论(0) 推荐(1) 编辑

2010年7月10日

摘要: 1: 凡是定义的const 成员变量,皆为隐式 static 的,也就是说,要用类名来访问,而不能用对象来访问。想想很容易理解,一个变量,初始化的值固定了,各个实例中都一样都不能改,那么,何必保存那么多份呢?static 了只存一份就OK。当然,上述情况的前提是这个 const 变量定义为 public 的,如果是 private 的,那么外部是无法访问的,所以不存在用类访问还是用对象访问的问题。... 阅读全文

posted @ 2010-07-10 12:04 szh114 阅读(834) 评论(1) 推荐(0) 编辑

2010年7月1日

摘要: 1:如果是技术转型,或者本来专业就不是太强,就不要贸然辞职。骑驴找马永远都是比较讨巧实用的做法,因为辞职的那一刻,你也许不会想到一个多月后仍然了无眉目时的那种焦灼。2:准备好以后,争取集中式一次性海量投递简历,而不是今天投个几家,过几天再投个几家。不要这样的原因是,假如时间相隔比较久,那当你拿到一个OFFER,必须决定给人家一个确认的时间到了,而有一份明显更好的机会,希望也很大,但对方确认的时间上... 阅读全文

posted @ 2010-07-01 01:52 szh114 阅读(360) 评论(0) 推荐(0) 编辑

2010年6月30日

摘要: 1:判断一段线程间lock的代码有没问题,涉及到了 MethodInvoker 跟 IAsyncResult 。2:有一个匿名聊天室,如何进行在线人数统计并实时更新并反映,要求以浏览器为单位。3:WIN FORMS程序中如何实现按住窗口内任意部分来拖动整个窗体的功能。4:有一个很大的WEB项目,几百个页面,但是以前实现时没有进行任何异常对应,经常将错误信息直接显示给用户,现在要进行修补,如何以不挨... 阅读全文

posted @ 2010-06-30 23:42 szh114 阅读(443) 评论(0) 推荐(0) 编辑

2010年6月25日

摘要: 1: 请写一个函数实现整型数组的按位向右循环移位,比如: 1,2,3,4,5 要求向右循环移两位, 结果要求是: 4,5,1,2,3 。要求算法复杂度不大于O(n),空间复杂度尽量小。答: 代码1这是我今天现场想到的解法,但面试官一看,说时间复杂度是满足了,但是空间复杂度太大,问我有没什么想法,我想了下,当时头脑比较乱,也没想出好办法来。下来查了一下网上的实现,如这个所讲,最后这种解法应该比较高效... 阅读全文

posted @ 2010-06-25 02:12 szh114 阅读(864) 评论(0) 推荐(0) 编辑

2010年6月24日

摘要: 在System.Object类中有三个被设计用来进行对象比较的方法:第一个是virtual 的,后两个是 static 的。ReferenceEquals() 实现了类型的引用比较,对该函数来讲,只有应用在引用类型上时才会有意义,比较两个值类型的引用将永远返回 false ,无论它们的值是否相等。甚至下面的代码: int i = 0; Console.WriteLine(object.Refere... 阅读全文

posted @ 2010-06-24 01:33 szh114 阅读(1232) 评论(0) 推荐(1) 编辑

2010年6月23日

摘要: 这两天在学习微软官方的一个DEMO项目,PetShop4.0。本来是不太能看得懂的,但有诸前辈老师们做出了讲解,那就容易了,学到了很多东西。主要是:张逸 写的 PetShop4.0 详解系列。写得真好。。。另外还有:PetShop 4.0 官方详解PetShop 数据库解读Microsoft .NET Pet Shop 4 架构与技术分析.Net PetShop 4.0的配置文件属性管理浅析Mic... 阅读全文

posted @ 2010-06-23 21:52 szh114 阅读(383) 评论(0) 推荐(0) 编辑

2010年6月22日

摘要: Encoding 是System.Text 命名空间下面的一个类,顾名思义,它是字符编码相关的一个类。因为在.NET平台上我们最多用的字符串,以及字符型都是UNICODE编码方式的,因此处理对象也多以UNICODE字符串为主。这个类有大概40个方法,具体可查MSDN,其中有5 个是静态方法可以由 Encoding 类来直接调用,但其实这5个是最不常用的方法:平常更容易看见的却是:byte[]byt... 阅读全文

posted @ 2010-06-22 15:35 szh114 阅读(20499) 评论(0) 推荐(1) 编辑

摘要: 答案是:即使在拥有GC的托管堆上,也有可能发生内存泄漏!根据普遍意义上的内存泄漏定义,大多数的.NET内存对象在不再被使用后都会有短暂的一段时间的内存泄漏,因为要等待下一个GC时才有可能会被释放。但这种情况并不会对系统造成大的危害。真正影响系统的严重内存泄漏情况如:1:大对象的分配。根据CLR的设计,.NET中的大对象将分配在托管堆内的一个特殊的区域,在回收大对象的时候,并不会像变通区域回收完成时... 阅读全文

posted @ 2010-06-22 02:05 szh114 阅读(757) 评论(0) 推荐(0) 编辑

摘要: (收藏)《博客园精华集》WEB分册 (收藏)《博客园精华集》Sharepoint分册(收藏)《博客园精华集》JavaScript(共213篇)(收藏)《博客园精华集》网站维护性能安全(共16篇) (收藏)《博客园精华集》HTML/CSS部分筛选结果(共90篇)(收藏)《博客园精华集》WEB标准部分筛选结果(共55篇) (收藏)《博客园精华集》ASP.NET分册 (收藏)《博客园精华集》MOSS分类... 阅读全文

posted @ 2010-06-22 01:34 szh114 阅读(257) 评论(0) 推荐(0) 编辑

2010年6月21日

摘要: 这个问题的答案太普遍了,随便抄了一份在下面,感谢这位博主。小村农家 javascript setTimeout 和 setInterval 区别唯一需要特别注意的就是JS是大小写敏感的,千万不要把函数名写错了。[setTimeout]setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次用setTimeout实现的自动变化显示随机数的效果:&... 阅读全文

posted @ 2010-06-21 12:07 szh114 阅读(692) 评论(0) 推荐(0) 编辑

摘要: 当复制一个单纯的值类型源的时候,问题就比较简单,直接复制源内容,在栈上重新生成一份拷贝即可。无所谓浅复制,深复制。  但是当复制源是一个引用类型的对象,比如 string 对象,那么就有两种复制法了,一种是直接生成另一个引用,然后指向同一块堆内存。另一种是开辟一块新的堆内存,拷贝源的内容,然后将生成的目标引用指向新的堆内存。前者往往称为浅复制,后者称为深复制。  当一个类中,既包含值类型变量,又包... 阅读全文

posted @ 2010-06-21 02:24 szh114 阅读(1490) 评论(0) 推荐(0) 编辑

2010年6月20日

摘要: C#中String 和 string 有什么区别?答,没有任何区别,string 只是 String 的别名,但是有一个重要的前提就是该文件中引入了System命名空间,否则,String是个非法字符,但是 string 就不是,因为它就相当于 System.String ,不管你引没引入 using System;。事实上,准确的说法是:String 是 System.String 的一个引入了... 阅读全文

posted @ 2010-06-20 23:54 szh114 阅读(1615) 评论(1) 推荐(0) 编辑

2010年6月14日

摘要: 碰到一个问 SQL HAVING语句的用法的题目。结果没答上来。把用法摘抄在这儿,以为记录。出处:http://www.w3school.com.cn/sql/sql_having.aspHAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。SQL HAVING 语法SQL HAVING 实例我们拥有下面这个 "Orders" 表:O_Id Or... 阅读全文

posted @ 2010-06-14 22:08 szh114 阅读(9303) 评论(3) 推荐(1) 编辑

2010年6月11日

摘要: 1:一个10个元素的排好序的线性表,使用2分法进行查找,最坏情况下需要比较多少次?  答:4次,就10个元素,自己数一下就出来啦。2:说说IDisposable接口的大概功用。3:接口可以有哪些类型的成员,不可以有哪些类型的成员。  答:CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。4:一个用户自定义的Exception类... 阅读全文

posted @ 2010-06-11 15:41 szh114 阅读(861) 评论(2) 推荐(0) 编辑

摘要: 在ASP.NET中,状态的保持方法大致有:ApplicationState,SessionState,Cookie,配置文件,缓存。  ApplicationState 的典型应用如存储全局数据。  SessionState 的典型应用如购物车项目保存。  Cookie 的典型应用如网站的个性化设置。  配置文件 的典型应用如保存客户账户信息。  缓存 的典型应用如保存从数据库获取的数据。  相对... 阅读全文

posted @ 2010-06-11 02:03 szh114 阅读(9248) 评论(1) 推荐(1) 编辑

2010年6月10日

摘要: 今天在写一个自动属性的时候,发现编译错误,Error 1 'MyUser.UserName.get' must declare a body because it is not marked abstract or extern 我百思不得其解,语法完全正确的呀。。。。。仔细一想,昨天为实验ASP.NET AJAX,把.NET版本默认临时设置成了3.0,是不是因为这个影响?然后我去把.NET版本调... 阅读全文

posted @ 2010-06-10 11:48 szh114 阅读(564) 评论(0) 推荐(0) 编辑

摘要: 第一:private void Button1_Click(object sender, System.EventArgs e){   Response.Redirect(Request.Url.ToString()); }第二:private void Button2_Click(object sender, System.EventArgs e){ Response.Write(<scr... 阅读全文

posted @ 2010-06-10 00:44 szh114 阅读(384) 评论(0) 推荐(0) 编辑

摘要: 1:What are the network protocols and port number that a .NET Remoting object uses?2:When you access a file ,and get a "Access Denied Error",the reason maybe what ? and how to resolve it?3:What is the ... 阅读全文

posted @ 2010-06-10 00:41 szh114 阅读(805) 评论(0) 推荐(0) 编辑

摘要: 今天偶然在一个鸡毛网站上看到一篇文章,没找到原始作者所以没法标了,我就存个档,空了好好看看,虽然06年的文章了,比较老,不过应该没啥大碍。  ADO.NET作为微软最新的数据访问技术,已经在企业开发中得到了广泛的应用。对于一线的开发人员来说,掌握基本的概念和技术之后,提高应用水平和解决实际问题的最有效手段,莫过于相互交流彼此的最佳时间经验经验。在这篇文章中,两位ADO.NET专家向读者毫无保留地、... 阅读全文

posted @ 2010-06-10 00:11 szh114 阅读(350) 评论(0) 推荐(0) 编辑

2010年6月9日

摘要: 在VS2008中,一个ASP.NET应用程序的存在形式有两种,WebSite 跟 WebProject ;首先必须明确的是,这两种不同的形式,在最终部署到服务器和编译后具有相同的结果,仅在设计时它们的组织结构有所不同。  从创建方式上来说:区别在于:一种是FILE->NEW->PROJECT->ASP.NET WEB APPLICATION ;另一种是:FILE->NEW-... 阅读全文

posted @ 2010-06-09 19:20 szh114 阅读(1105) 评论(2) 推荐(1) 编辑

摘要: 如题,今天补充一个基础事实点,就是ASP.NET AJAX 是ASP.NET3.5才引入的,同时引入的还有LINQ,而ASP.NET 3.5是随.NET Framwork 3.5引入的,但是要注意一个事实,就是.NET Framework有3.0,但是ASP.NET没有3.0 ,它直接从2.0 跳到了 3.5。当时.NET3.0时,CLR,跟 ASP.NET都没有变化,保持2.0,但是新增加了WP... 阅读全文

posted @ 2010-06-09 15:07 szh114 阅读(272) 评论(0) 推荐(0) 编辑

摘要: 今天看 《深入解析C#》 第2章,提到事件,我觉得这个角度跟讲法很好。以前经常看到,事件就是一种特殊类型的委托。其实这样讲并不太妥当。根据今天的学习,应该这么理解才比较合适:  类似于属性(property)是对某些成员变量的操作进行了封装简化,事件(event)也是对一类成员变量的操作进行了封装简化。特殊性在于,属性可以作用于各种类型的成员变量上,甚至是委托类型的成员变量上。但是一般不这么做,因... 阅读全文

posted @ 2010-06-09 12:13 szh114 阅读(589) 评论(0) 推荐(0) 编辑

2010年6月8日

摘要: 所谓的对对象集合进行查询的方法,就是指,如何从一个集合中找出符合条件的某些项来。这一次我没有用 自定义对象集合,而是直接使用对象集合,是因为普通的对象集合,如int[], List<int>,这样的东西,也没有统一固定的查询方法,因为对于一个查询来讲,它的条件是多种多样的,所以是无法提供统一固定查询方法的。比如有时候想找出所有大于10的int,有时候又想找所有小于10的int。。。。。... 阅读全文

posted @ 2010-06-08 20:20 szh114 阅读(5759) 评论(0) 推荐(3) 编辑

摘要: 一个集合可否排序,要看系统知不知道排序的规则,像内建的系统类型,int ,string,short,decimal这些,系统知道怎么排序,而如果一个集合里面放置的是自定义类型,比如自己定义了一个Car类型,要把它排序,系统是不知道怎么办的。那么,如何告知系统排序的规则呢?有以下几种方法:1:对类实现IComparable接口,示例如下:代码1其中最主要的是这句:  class Product :I... 阅读全文

posted @ 2010-06-08 15:35 szh114 阅读(6224) 评论(3) 推荐(1) 编辑

2010年6月7日

摘要: 关于反射,我先看了书,然后在园子里面一搜,就又发现打仗贴啦,哈哈白话讲反射技术 --- 适合初学者入门引导关于反射技术谈吉日嘎拉的《白话反射技术》及其他(技术篇)谈吉日嘎拉的《白话反射技术》及其他(吵架篇)恩,都看完大概也了解了。 前几天就把内容简单列出来,然后大致瞅了两眼,发现挺复杂的,也听说做为一个低手反射用得不是很经常,因此就摞下没看,果然,过几天就忘得没影儿了。然后我就杯具了--前几天笔试一题目就是:“简述反射与序列化” 。。。。。 我就郁闷了半天,只对序列化写了几句,反射白在那儿了。(人永远也无法选择自己被测试的方式) 回来后就马上补这一块知识,但是反射这个不在具体应用场景中,还是. 阅读全文

posted @ 2010-06-07 14:50 szh114 阅读(1396) 评论(0) 推荐(0) 编辑

2010年6月6日

摘要: 在.NET 中,新引入了一个程序集的概念,就是指经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为.dll,或者是.exe的格式,但是要注意,它们跟普通意义上的WIN32可执行程序是完全不同的东西,程序集必须依靠CLR才能顺利执行。之所以要编译为程序集然后由.NET FRAMEWORK解析执行,就是为了实现跨平台的功能。并且由CLR解析执行可以针对不同... 阅读全文

posted @ 2010-06-06 22:03 szh114 阅读(7924) 评论(0) 推荐(1) 编辑

2010年6月5日

摘要: LINQ是.NET3.0中引入的一块新内容,它是什么东西呢。好像是因为现在系统中数据格式越来越多,针对每一种数据进行不同方式的操作很麻烦,终于让某些人看不惯了,我们要解决这个问题。当然仍然是老方法,用一层壳把下层的差异覆盖起来,然后在上面提供统一的处理方式。思路是很简单,但要真正实现,应该是非常复杂的,光应用来讲,为了顺利使用LINQ,我们借助了 隐式类型变量,匿名类型,扩展方法,对象初始化器,集... 阅读全文

posted @ 2010-06-05 16:34 szh114 阅读(1490) 评论(0) 推荐(0) 编辑

2010年6月4日

摘要: 有时候,我们需要封装一组数据,只有数据,没有方法,并且只用于当前程序,不需要在项目间重用,这时候,如果是传统的使用类来封装的话,大概会是下面这种样子:internal class SomeData{  //定义一系列私有成员变量  //创建属性来封装每一个数据成员  //重写方法的ToString()来输出每一个数据成员  //重写GetHashCode() 及Equals()来实现基于值的相等性... 阅读全文

posted @ 2010-06-04 00:59 szh114 阅读(8129) 评论(1) 推荐(4) 编辑