博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年7月16日

摘要: 单例模式是23种设计模式中最常用的模式之一。单模式屏蔽了对象的初始化,可以很方便地获取对象而不用每次都去初始化它。由于易用且好用,在很多情况下都会来一个单例模式的类。本文要强调的是,虽然好用,单例模式绝不能滥用。在使用的时候,还需要仔细地斟酌。  1.单例模式是缓存的表现形式之一。  单一对象一旦初始化后,将会在程序运行过程中长驻内存。既然属于缓存,那么就需要考虑,哪些对象是需要缓存,而哪些对象不... 阅读全文
posted @ 2010-07-16 23:00 黑米 阅读(764) 评论(1) 推荐(0) 编辑

2010年4月14日

摘要: 这个JS文件是根据网上一位高人的代码修改的,他实现了Checkbox的联动选择。我在他的基础上,加上了了三态Checkbox的功能。 阅读全文
posted @ 2010-04-14 22:35 黑米 阅读(1923) 评论(2) 推荐(0) 编辑

2010年3月29日

摘要: 如题。用法如下:<asp:CompareValidator ID="CompareValidator2" runat="server" ErrorMessage="日期格式不正确" Operator="DataTypeCheck" Type="Date" ControlToValidate="txtAuthDate" Display="Dynamic" EnableViewState=... 阅读全文
posted @ 2010-03-29 22:03 黑米 阅读(514) 评论(0) 推荐(0) 编辑

2010年3月7日

摘要: 最近很少写文章,贴上这么一段凑个数吧。  在C#中,Attribute是一个好东西。之所以这么说,是因为它不像代码注释一样经过编译就没了,Attribute经过编译后,将进入到了程序集中,而且可以通过反射获取到。有时候需要对类型或属性方法等进行更多的注释,使用Attribute就是一个很好的选择。  最近自己做了一个ORMapping的辅助类,可以将DataTable的每一行的数据转换成对应的Bu... 阅读全文
posted @ 2010-03-07 15:29 黑米 阅读(144) 评论(0) 推荐(0) 编辑

2010年3月1日

摘要: 有时候U盘中毒会将所有的目录隐藏,杀毒后,希望将目录的隐藏属性去掉,下面的批处理就是干这个的:cd /d I:FOR /F "tokens=*" %%d in ('DIR %1 /AHD /B') DO attrib -H -S %%dpause 阅读全文
posted @ 2010-03-01 13:25 黑米 阅读(418) 评论(0) 推荐(0) 编辑

2010年2月28日

摘要: 1. 挂载第二块硬盘sudo mount /dev/sdb3 /media/sdb3可以写在一个脚本中,开机运行。2.在Ubuntu上安装rpm文件Ubuntu是基于Debian的,只能安装deb文件。Alien Package Converter可以蒋rpm和deb等文件相互转换,正好可以解决这个问题。sudo apt-get install aliensudo alien XXX.rpmsud... 阅读全文
posted @ 2010-02-28 13:47 黑米 阅读(160) 评论(0) 推荐(0) 编辑

2010年1月28日

摘要: http://www.picplayer.com/app.html# 阅读全文
posted @ 2010-01-28 13:11 黑米 阅读(168) 评论(0) 推荐(0) 编辑

2010年1月20日

摘要: 本想用系统自带的,但找了好久没有找到一个工具来看。只好自己写一个小工具了。原理非常简单,只是使用而已。截图:EXE: /Files/qkhh/view-assembly-name/AssemblyFullName.zip源码:/Files/qkhh/src.zip 阅读全文
posted @ 2010-01-20 15:37 黑米 阅读(235) 评论(0) 推荐(0) 编辑

2009年11月18日

摘要: 一般用法:findstr /P string1 *可查找文件中哪些行有给定的字符串。 阅读全文
posted @ 2009-11-18 11:36 黑米 阅读(430) 评论(0) 推荐(0) 编辑

2009年11月10日

摘要: 大概两年前,就知道怎么改变Visio的设置,使得画ER图的时候显示更多的关系信息。后来没用就忘了。而现在要用,找了好几天都没有找到!所以说,知识的积累,和写下来的习惯是多么的重要。现在将这个方法记下来,备忘。图一:图二:效果: 阅读全文
posted @ 2009-11-10 13:13 黑米 阅读(2861) 评论(0) 推荐(0) 编辑

2009年9月29日

摘要: 1. 资料关于红黑树的理论,那本《算法导论》中进行了详细的分析,但我觉得下面这篇文章讲得更详细:http://blog.163.com/aaronliu@yeah/blog/static/6596183720090143521990/只是在讲解删除过程的时候,有点乱。下面的页面中给出了不少学习的链接:  http://cid-47027e68f36cbaf5.spaces.live.com/blo... 阅读全文
posted @ 2009-09-29 17:45 黑米 阅读(433) 评论(0) 推荐(0) 编辑

2009年9月27日

摘要: 要点: 1. 采用函数内static变量作为唯一实例变量的存储器。由于没有用到New操作,不用关心内存的释放。 2. 将默认构造函数,默认拷贝构造函数,默认赋值操作符设为private,防止意外的操作。 阅读全文
posted @ 2009-09-27 12:57 黑米 阅读(413) 评论(0) 推荐(0) 编辑

2009年9月5日

摘要: 感觉上用C#来写这种扩充组件确实比较麻烦。一个调用系统级的API需要用DllImport来封装,比较麻烦。特别是用SendMessage时,一大堆的message id等常量需要查资料。二个就是.net组件封装得太厉害。封装厉害倒不是件什么坏事,但是总得考虑用户重写某些接口的可能,应该将接口多用virtual修饰允许重写吧?  好,牢骚到此结束,现在言归正传。从Richtextbox继承的语法高亮... 阅读全文
posted @ 2009-09-05 15:00 黑米 阅读(620) 评论(1) 推荐(0) 编辑

2009年9月4日

摘要: 本文指的DelayLoad机制并不是指编译器的链接参数。而是实现Dll加载的一种方式。引用Dll分为显示引用和隐式引用。如果是显示引用,则会加载EXE的时候加载Dll。其内部机制是,在EXE中会有一个IAT表,记录引用到的函数地址。当程序加载运行,加载器会根据imports表加载程序需要的dll。另一种加载dll的方法是通过LoadLibrary和GetProcAddress来得到函数地址。这种方... 阅读全文
posted @ 2009-09-04 14:06 黑米 阅读(505) 评论(0) 推荐(0) 编辑

2009年7月21日

摘要: RT. 阅读全文
posted @ 2009-07-21 14:59 黑米 阅读(199) 评论(0) 推荐(0) 编辑