
软件工程
文章平均质量分 51
Matrix_Designer
专注: ArmLinux/.NET开发
展开
-
单例模式的两个弊端及内存泄漏的定位解决
<br />单例模式存在两个弊端:<br />1:资源泄漏:实例必须在合适的时候释放。GetInstance,ReleaseInstance<br />2:线程安全:此问题一定要注意,本人今天就吃了单例模式线程安全的亏,可以用下列方式解决:<br />CTotalSolve *CTotalSolve::GetInstance()<br />{<br />if(m_pInstance == NULL)<br />{<br />CTotalSolve *pTemp =原创 2010-09-10 08:23:00 · 1135 阅读 · 0 评论 -
一些预研工作的总结
这段时间做了些预研工作,虽然没有时间实现。感觉还是有些用途的,记录下来,备忘吧。1:VMware ESXi的安装本来打算服务器虚拟化,同时运行Windows和Linux系统,初衷是我们不少环境是Linux原生支持的,而我们的服务器是Win2003的。考虑安装VMware ESXi。这个东东还是很不错的,它安装在服务器上的部分是一个VMM,负责调度及管理运行于其上的虚拟机,每一个虚拟机都是独原创 2013-08-05 15:29:22 · 2494 阅读 · 0 评论 -
Maven让源码文件夹包含所有文件
默认情况下,Maven使用src/main/java作为源码文件夹,并且仅include **/*.java,其他的文件一律忽略。这样对于使用Hibernate而产生的大量hbm.xml文件都会被忽略。此时需要修改pom.xml,在project.build下增加以下内容: src/mai原创 2013-03-29 13:29:38 · 960 阅读 · 0 评论 -
Oracle查看当前连接信息
查看所有连接:select * from v$session查看总连接数:select count(*) from v$session查看指定用户的连接:select * from v$session where username = 'USERNAME'查看指定用户的连接数:Select count(*) from v$session where username = 'USERNA原创 2012-09-03 18:44:21 · 1475 阅读 · 0 评论 -
Windows安装配置SubVersion
原文下载链接:http://download.csdn.net/detail/matrix_designer/38084221.下载相应软件工具svn-win32-1.6.3.zipSubversion服务端1.6.3二进制包 SVNService.rarSubServe服务Windows辅助工具Torto转载 2011-11-18 09:10:19 · 1302 阅读 · 0 评论 -
毫无生机的企业~
来公司已有两年多了。这两年,我对公司的感觉从头皮发麻的毫无头绪,到信心满满的努力奋斗,到现在黯然销魂的绝望之至。回想这两年,真的感觉很悲哀,我浪费了两年的青春,公司浪费了两年的机遇,到头来我们都是一事无成。 这是一家完全自主研发的企业,没有猎头的投资,没有市场需求,没有销售团队,有的仅是一个志向远大的还可以称得上是企业家的总经理,和一群十分年青,充满激情的小伙子。公司的经理是一个从原创 2011-11-11 15:37:47 · 885 阅读 · 0 评论 -
面向对象 依赖 关联 聚合 组合 关系
如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承;比如菱形、圆形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合。如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚合;比如电脑是由显示器、CPU、硬盘等组成的,那么你应该把显示器、CPU、硬盘这些类聚合成电脑类,而不是从电脑类继承。类间的关系网上关于此类的讨论非常多,发现对于该问题的理解各有各的说转载 2011-11-18 11:27:52 · 843 阅读 · 0 评论 -
vs2008下使用svn
svn在Windows下的安装配置见:http://blog.csdn.net/matrix_designer/article/details/6987104svn服务器端可以从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91中找到最新版的,我用的版本是1.6.6,地址为:http://subversio原创 2011-11-18 09:47:20 · 1494 阅读 · 0 评论 -
CVSNT增加用户权限管理
bird 问:我使用CVSNT在代码库目录设置了访问权限,某些人只有底层几个目录的读写权限;在客户端用TortoiseCVS得要一个一个的取出,而且取出路径非常复杂,也不能一起更新;不知道你有没有碰到类似的问题,有没有方法解决??急等。。我回答:我一般没有分配权限,因为我遵循XP开发,我查了一些资料,这个基本上没有办法。不过一般我都会分目录更新,这样提交比较明细一些。bird 回答:3ks,我觉得转载 2011-06-15 09:24:00 · 855 阅读 · 0 评论 -
轮询算法中效率和延迟的均衡
所谓的轮询算法是对事件的一种检测机制,如I/O设备的状态改变等。常见的事件检测机制有轮询,中断,DMA,通道等,其中轮询和中断是事件通知的两种基本方式,DMA和通道都是一种数据传输方式。能用中断的情况下当然尽量用中断,Windows中基于中断的I/O模型有好几种,如Select模型,异步模型等等。但是中断需要硬件支持,很多情况下轮询还是不可避免的,如两个进程通过共享内存通信,共享内存只是一原创 2011-06-07 09:00:00 · 2753 阅读 · 0 评论 -
编程修养
IT企业员工流动是很频繁也是很正常的事,这样任务交接也就成了一个公司不可避免的"业务"。我现在以及以前所在的企业也是这样,特别是现在所在的企业。由于我比较喜欢稳定点的生活,一般不想换工作,所以逐渐的也就成为了公司的元老级人物了。交接给我的代码也是不计计数,不可避免我也就看过了很多人写的代码。 以前我也看过很多人的代码,但是那时的主要目的是帮他们解决问题,重点也就放在了分析他们的逻辑,找到问题所在,从而解决问题,对于别人的编程修养注意不多。一般情况下我也认为好的程序员写的代码也必然是一流的,然而原创 2011-05-22 09:01:00 · 606 阅读 · 0 评论 -
CppUnit使用指南
<br />测试驱动开发的原则:<br /><br />先写测试代码,然后编写符合测试的代码。至少做到完成部分代码后,完成对应的测试代码;<br />测试代码不需要覆盖所有的细节,但应该对所有主要的功能和可能出错的地方有相应的测试用例; <br />发现 bug,首先编写对应的测试用例,然后进行调试;<br />不断总结出现 bug 的原因,对其他代码编写相应测试用例;<br />每次编写完成代码,运行所有以前的测试用例,验证对以前代码影响,把这种影响尽早消除;<br />不断维护测试代码,保证代码变动转载 2010-09-11 08:02:00 · 624 阅读 · 0 评论 -
代码维护:改进代码的一些方法
<br />作者:刘靓<br />0 引言 <br />应用的整个生命周期的维护通常都被低估了。然而,维护毫无疑问是花费最多、也是最难执行的阶段。因此,初始开发阶段的代码质量直接影响维护的成本。下面一些数字说明了这一点:<br />· 一个项目的平均寿命是4到5年,开发阶段大约是一年。<br />· 在此阶段,40% 到50%的代码都需要修改,或者是纠错,或者是更新。<br />· 维护阶段修改一行代码的成本是初始开发阶段的2到3倍。<br />这些数字表明:<br />· 代码必须清晰而且有正确的文本注释转载 2010-09-10 08:24:00 · 1083 阅读 · 0 评论 -
重构-改善既有代码的设计总结
<br />随着项目的进展,我们会发现已经完成的代码结构不再象我们预想的那么清晰合理,这大多是由于需求的变更造成的。此时我们需要改善目前的代码,有两种方法,一种是重写,另一种是重构。重写的好处是明显的,结构必然更合理,但是问题在于浪费时间。重构是一个折中的方法,时间始终,调整后结构也变得更合理。一般情况下,当我们对已有代码修改超过三次时就需要重构。<br />重构的基本原则是步步为营,每次进行一小步,然后测试,周而复始。另一个原则是抵制诱惑,不要改变代码的外在表现,不要试图修正代码中的Bug。下面是具体的重原创 2010-09-11 08:02:00 · 623 阅读 · 0 评论 -
重构
百科名片重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。重构的定义 重构(名词):对软件内部结构的一种调整,目的是在不改变"软件之可察行为"前提下,提高其可理解性,降低其修改成本. 重构(动词):使用一系列重构准则(手法),在不改变"软件之可察行为"前提下,调整其结构. 两种定义都强调是在不改变"软件的外部行为"前提下,不改变"软件之可察行为"就是说让修改不影响外部使用程序(程原创 2010-09-11 08:01:00 · 1282 阅读 · 1 评论 -
五种开源协议的比较
现今存在的开源协议很多,而经过Open Source Initiative 组织通过批准的开源协议目前有58 种(http://www.opensource.org/licenses/alphabetical )。我们在常见的开源协议如BSD, GPL, LGPL,MIT 等都是OSI 批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。这里我们来看四种最常用的转载 2014-11-12 17:58:30 · 1263 阅读 · 0 评论