- 博客(28)
- 资源 (2)
- 收藏
- 关注
转载 面向对象设计原则
原文:http://www.cnblogs.com/chenguoxingblog/archive/2012/04/27/2473544.html单一职责原则(SRP):一个对象应该值包含单一的职责,并且该职责被完整地封装在一个类中。另一种表述:就一个类而言,应该仅有一个引起它变化的原因。开放封闭原则(OCP):软件实体(类、模块、函数等)应该可以扩展,但是
2012-04-27 14:49:56 845
原创 TCP客户端断开连接后,服务器连接处于CLOSE_WAIT状态之解决办法
问题背景: 最近做C/S结构的程序,项目中需要开发TCP服务器端,需要能够接收多个客户端的连接请求。开发完成后,测试过程中出现了如题问题。 问题描述: 启动服务器,开启多个客户端,建立连接通讯,一切正常。关闭客户端(一个或多个),此时用netstat命令查看网络状态,发现所关闭的客户端的连接没有完全释放,而是处于CLOSE_WAIT状态。解决方法:
2011-11-25 13:48:47 9793 2
转载 软件开发流程
下午下载了 MSDN Webcasts 关于 ASP.NET 项目实战系列课程的第一讲,了解了一下项目/产品的运作过程。 课程的主讲老师是MSDN的特约讲师邵志东先生。课程中间,邵志东老师介绍了软件开发流程、 程序员基本素质、关于质量控制和开发模板及项目组建设。 邵老师首先介绍了软件开发的流程,他把软件开发分为了两大类,即项目开发及产品开发。 项目开发是公司根据
2011-11-08 22:26:45 739
转载 C#线程同步的几种方法
原文链接:http://www.cnblogs.com/michaelxu/archive/2008/09/20/1293716.html 我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作状态;或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理,然而,多线程不可避免地会带来一个问
2011-10-31 16:43:54 509
转载 SQL养成一个好习惯是一笔财富
出处:http://topic.csdn.net/u/20110928/13/546b917a-c048-4a04-8423-6f093596d3cd.html我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是
2011-10-08 18:33:30 594
原创 FTP——the connection with the server was reset
今天帮忙配置服务器的FTP服务,添加了FTP站点后还是无法登录,总是提示“the connection with the server was reset。”错误。 原因:启用了系统防火墙。 解决方法:1、在防火墙设置的“高级-本地连接-设置”中把FTP的勾选
2011-07-04 18:31:59 8677
原创 VC6.0打开文件异常的解决方法
今天在使用VC6.0的时候又遇到点击“文件”—“打开”时弹出异常框的情况,虽然可以通过拖拽等其他方式打开,但总感觉不是很舒服。于是上网搜索,总算找到了解决方法,现将方法整理在此,防止遗忘。 网上有些朋友说是由于安装office 2007引起的,具体有什么引起的在此暂不做讨论,在此只说明解决方法。 实际上解决方法就在微软的MSDN上,地址:http://support.microso
2011-06-30 16:36:00 1334
转载 批量写入数据库
原文链接:http://apps.hi.baidu.com/share/detail/16973788最近在将excel中的文件导入到数据库中,用程序进行编写,由于数据量较大所以速度很慢,后来采用了SqlBulkCopy类,解决了速度的问题,我就insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServ
2011-06-21 17:51:00 843
转载 生成操作:内容|编译|与嵌入资源的区别
<br />原文链接:http://www.cnblogs.com/yinhaiming/articles/1717374.html <br /> <br /> <br />内容(Content) - 不编译该文件,但将其包含在“内容”(Content) 输出组中。<br />编译(Compile) - 将该文件编译到生成输出中。此设置用于代码文件。 <br /><br />嵌入资源(Embedded Resource) - 将该文件作为 DLL 或可执行文件嵌入主项目生成输出中。<br />内容的读写
2011-04-29 11:35:00 6802
转载 C# 多线程与异步操作实现的探讨
<br />原文链接:http://dev.firnow.com/course/4_webprogram/asp.net/netjs/2008530/118075.html<br /> <br /><br />随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。<br /><br /> 多线程和异步操作的异同<br /><br /> 多线程和异步操作两者都可以达到避免调用线程阻塞
2011-04-15 17:58:00 767
原创 多线程同步的处理机制
多线程同步的处理机制一般有以下几种:1、事件(Event)2、临界区(Critical Section)3、互斥器(Mutex)4、信号量(Semaphore)
2011-03-24 15:35:00 806
原创 MATLAB生成COM步骤
<br />环境:<br />操作系统:windows xp sp3<br />MATLAB:Version 7.1.0.246(R14) Service Pack 3<br /> <br />第一步:安装编译器(如果已经安装则可跳过此步)<br /> <br />在MATLAB中安装编译器的步骤见下面<br />>> mbuild -setup<br />Please choose your compiler for building standalone MATLAB applications: <br
2011-02-24 14:55:00 4320 2
原创 引用类型参数使用ref与不使用ref的区别
<br />我们都知道:<br /> <br />ref关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。(摘自msdn)。<br /> <br />同时我们也可以在msdn上找到这样一段话:<br /> <br />按引用传递值类型(如本主题前面所示)是有用的,但是 ref 对于传递引用类型也是很有用的。这允许被调用的方法修改该引用所引用的对象,因为引用本身是按引用来传递的。下面的示例显示出当引用类型作为 ref 参数传递时,可以更改对象本身。<br
2011-01-13 16:27:00 2025
原创 MATLAB生成COM调用异常—没有找到mclmcrrt73.dll
背景:在程序中需要使用的一些复杂的算法,因此借助matlab强大的计算功能编写的响应的函数(.m文件),然后将函数打包成COM组件(包含MCR)。将matlab打包后的COM组件安装到系统中,然后安装自己的应用程序,之后一切运行正常,但两天后再使用就提示如下错误:“没有找到mclmcrrt73.dll,因此这样应用程序未能启动。重新安装应用程序可能会修复此问题。”解决方案:1、重新安装MCR;2、手动设置系统的环境变量。参考:1、http://www.ilovematlab.cn/thread-71366-
2010-12-13 18:32:00 4215
原创 MATLAB生成COM发生java exception occured异常
背景:项目中需要使用到MATLAB中的自定义函数,即.m文件。但是在按照帮助的步骤进行生成COM的操作时,总是提示“java exception occured”异常。MATLAB版本为7.1 sp3。原因:当该版本的MATLAB的安装目录中有空格时,就会发生此异常。如:安装目录为D:/Program Files/MATLAB71时,就会产生该异常。解决方法:一、重新安装MATLAB,时其路径中不包含空格二、升级到较新的版本,MATLAB 2010b不受空格的影响,其它版本未测试。
2010-12-06 16:37:00 4511
原创 C#调用ActiveX控件
<br />背景:最近项目中需要用到ActiveX控件,项目是在.Net平台下开发的。因此就直接在项目中添加了对ActiveX控件的引用,添加引用成功。在代码中实例化类的实例也没有问题,但在调用其方法或属性时总是抛出"未处理 COMException"异常。<br /> <br />方法一:<br />1、在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册);<br />2、在.net的工具箱中添加该控件,拖到form中去就可以了。<br />方法二:<br />1
2010-12-02 11:39:00 15676 1
原创 程序随机启动运行
程序随机启动运行方法:1、将程序或程序的快捷方式添加到“开始—所有程序—启动”2、添加注册表项 1> 打开注册表。开始—运行—regedit 2> 定位到 HKEY_LOCAL_MACHINE/SOFRWARE/Microsoft/Windows/CurrentVersion/Run 3> 添加项。新建字符串值,名称自己定义,一般与启动的程序同名,这样一目了然。数据为要启动的程序的完全路径。
2010-10-11 18:20:00 893
原创 C#使用反射访问私有构造函数
背景:今天需要用到单例模式,之前也有用过,一直是在使用的时候按通用的方式使用,即每一个实现单例模式的类都有一个GetInstance()的公共静态方法。仔细观察就会发现这其中有重复的代码,那能不能使这些代码只编写一次,可以无限使用呢?我们首先会想到继承,将实例化过程写在父类中,子类只要继承这个父类,同时提供私有无参构造函数即可。对,就使用继承,但同时也引出一个问题,怎样能在父类中通过私有构造函数实例化子类实例呢?如果在以前可能没有办法实现,此路也就到此走不通了,但现在有了反射机制,情况就完全不一样了。下面要
2010-09-08 20:48:00 6653 1
原创 C#获取路径方法集锦
如果应用程序经常涉及到文件的读写操作,那不可避免的要使用到路径,而获取应用程序的路径可以说是使用最频繁的,那C#下到底有几种获取应用程序路径的方法呢,下面做一个简单的总结。1、string path = System.AppDomain.CurrentDomain.BaseDirectory;获取应用程序的执行的绝对路径,包含最后的反斜线,不包含可执行文件名。这是一种安全的获取路径的方法,此属性在程序启动后不会发生改变。2、string path = System.AppDomain.CurrentDoma
2010-09-08 13:47:00 931
原创 XML文档结构
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。xml文档结构说明一、示例文档:010203 04 05 C++ Programming Language06 Bjarne Stroustrup07 199808 98.009 10
2010-09-07 16:04:00 749
原创 try...catch对性能的影响
最近因为系统的功能扩展,需要对原来的系统做一些改进。在这个过程中发现原来的系统中存在很多try...catch语句,并且是用于循环中的,同时想起有人说过过多的try...catch对性能有影响。趁现在有时间想对这个问题做进一步的研究。先上网搜了一下,关于这个的讨论还真不少,在此就不多说了,大家有兴趣的话可以看看。现在只做一个简单的总结。一、大家在讨论的时候经常引入新的问题,最终导致结果不明确。经常引入的问题有这么几个1、该不该使用try...catch?2、什么时候使用try...catch?3、.net框
2010-09-03 18:27:00 2464
原创 制作国际化应用程序过程中的常见问题
本文章列举了在制作国际化应用程序过程中遇到的问题,问题按遇到的先后顺序依次添加。1、如果在项目中引用了一个国际化的动态链接库(即DLL),那么在项目是否需要做其它的处理?如果是VS开发环境下添加的引用,并且添加引用时链接库所在目录下有相关的本地化资源文件(也是DLL文件),则开发环境会自动将已本地化的资源添加的项目的生成目录下。
2010-08-24 15:54:00 556
转载 基于.Net Framework的国际应用程序
此文章来源于msdn-----------------------基于.Net Framework的国际应用程序基于.Net Framework的国际应用程序可分为两部分:1、全球化,即设计可适合不同区域性的应用程序的过程;2、本地化,即翻译为特定区域性的资源的过程。本节描述在开发全球通用的应用程序时应遵循的最佳做法。全球化最佳做法在内部使应用程序代码成为 Unicode。使用 System.Globalization 命名空间提供的区域性识别类来操作和格式化数据。对于排序,使用 SortKey 类和 Co
2010-08-23 17:50:00 760
转载 修改我的电脑 -> 属性 -> 常规 中的"注册到/计算机"信息
原文:http://www.ctohome.com/FuWuQi/d6/333.html修改我的电脑 -> 属性 -> 常规 中的"注册到/计算机"信息。请看下图:修改“注册到”的方法:修改注册表中[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion]"RegisteredOrganization"="公司名称""RegisteredOwner"="姓名"修改“计算机”的方法:Follow the steps below
2010-07-23 15:24:00 6254 1
转载 浮点数的二进制表示
转自:http://www.cnblogs.com/yxmx/articles/1546333.html基础知识:十进制转十六进制;十六进制转二进制;了解:目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格: 符号位 阶码 尾数 长度float 1
2010-07-15 17:25:00 815
原创 给按钮、菜单等添加弹出提示
向菜单项和工具栏按钮添加弹出提示非常容易,直接设置其 ToolTipText 属性即可。其实给其它按钮控件添加提示也不难,.Net Framework 提供的控件 ToolTip 就是用来给其它控件添加提示信息的。它可以用来给任何类型的控件添加提示信息。简单用法如下:1、将 Active 属性设置为 True;2、调用 SetToolTip() 方法将提示文本与指定的控件关联即可。
2010-07-07 18:28:00 745
转载 进程间通讯方法总结
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,并不能被正在运行的线程访问。 为了能在两个进程之间进行通讯,由以下几种方法可供参考: 1、剪贴板Cli
2010-06-21 15:49:00 360
原创 C#格式字符串集锦
由于项目中经常遇到将数据格式化为字符串的问题,因此将用到的格式字符串罗列如下:1、格式化整数将整数格式化为十六进制:格式化字符串——数字(十进制)——结果{0:X8}——10——0000000A{0:X3}——10——00A{0:x8}——10——0000000a2、格式化时间格式化字符串——时间——结果字符串{0:yyyy-MM-dd hh:mm:ss:fff}——2010年6月22日 17时15分15秒20毫秒——2010-06-22 17:15:15:020注:收集中
2010-06-10 18:07:00 513
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人