<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chengx919的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chengx919</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chengx919]]></copyright><item><title><![CDATA[面向对象设计原则]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/7517443</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/7517443</guid><author>chengx919</author><pubDate>Fri, 27 Apr 2012 14:49:56 +0800</pubDate><description><![CDATA[原文：http://www.cnblogs.com/chenguoxingblog/archive/2012/04/27/2473544.html

单一职责原则(SRP)：

一个对象应该值包含单一的职责，并且该职责被完整地封装在一个类中。

另一种表述：就一个类而言，应该仅有一个引起它变化的原因。

开放封闭原则(OCP)：

软件实体（类、模块、函数等）应该可以扩展，但是]]></description><category></category></item><item><title><![CDATA[TCP客户端断开连接后，服务器连接处于CLOSE_WAIT状态之解决办法]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/7007282</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/7007282</guid><author>chengx919</author><pubDate>Fri, 25 Nov 2011 13:48:47 +0800</pubDate><description><![CDATA[问题背景：
        最近做C/S结构的程序，项目中需要开发TCP服务器端，需要能够接收多个客户端的连接请求。开发完成后，测试过程中出现了如题问题。
 问题描述：
        启动服务器，开启多个客户端，建立连接通讯，一切正常。关闭客户端（一个或多个），此时用netstat命令查看网络状态，发现所关闭的客户端的连接没有完全释放，而是处于CLOSE_WAIT状态。
解决方法：]]></description><category></category></item><item><title><![CDATA[软件开发流程]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6950316</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6950316</guid><author>chengx919</author><pubDate>Tue, 08 Nov 2011 22:26:45 +0800</pubDate><description><![CDATA[下午下载了 MSDN Webcasts 关于 ASP.NET 项目实战系列课程的第一讲，了解了一下项目/产品的运作过程。 

    课程的主讲老师是MSDN的特约讲师邵志东先生。课程中间，邵志东老师介绍了软件开发流程、 程序员基本素质、关于质量控制和开发模板及项目组建设。 

    邵老师首先介绍了软件开发的流程，他把软件开发分为了两大类，即项目开发及产品开发。 
项目开发是公司根据]]></description><category></category></item><item><title><![CDATA[C#线程同步的几种方法]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6921995</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6921995</guid><author>chengx919</author><pubDate>Mon, 31 Oct 2011 16:43:54 +0800</pubDate><description><![CDATA[原文链接：http://www.cnblogs.com/michaelxu/archive/2008/09/20/1293716.html
 
 

我们在编程的时候，有时会使用多线程来解决问题，比如你的程序需要在后台处理一大堆数据，但还要使用户界面处于可操作状态；或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理，然而，多线程不可避免地会带来一个问]]></description><category></category></item><item><title><![CDATA[SQL养成一个好习惯是一笔财富]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6853375</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6853375</guid><author>chengx919</author><pubDate>Sat, 08 Oct 2011 18:33:30 +0800</pubDate><description><![CDATA[出处：http://topic.youkuaiyun.com/u/20110928/13/546b917a-c048-4a04-8423-6f093596d3cd.html

我们做软件开发的，大部分人都离不开跟数据库打交道，特别是erp开发的，跟数据库打交道更是频繁，存储过程动不动就是]]></description><category></category></item><item><title><![CDATA[FTP——the connection with the server was reset]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6584100</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6584100</guid><author>chengx919</author><pubDate>Mon, 04 Jul 2011 18:31:59 +0800</pubDate><description><![CDATA[今天帮忙配置服务器的FTP服务，添加了FTP站点后还是无法登录，总是提示“the connection with the server was reset。”错误。 原因：启用了系统防火墙。 解决方法：1、在防火墙设置的“高级-本地连接-设置”中把FTP的勾选]]></description><category></category></item><item><title><![CDATA[VC6.0打开文件异常的解决方法]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6577557</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6577557</guid><author>chengx919</author><pubDate>Thu, 30 Jun 2011 16:36:00 +0800</pubDate><description><![CDATA[今天在使用VC6.0的时候又遇到点击“文件”—“打开”时弹出异常框的情况，虽然可以通过拖拽等其他方式打开，但总感觉不是很舒服。于是上网搜索，总算找到了解决方法，现将方法整理在此，防止遗忘。 网上有些朋友说是由于安装office 2007引起的，具体有什么引起的在此暂不做讨论，在此只说明解决方法。 实际上解决方法就在微软的MSDN上，地址：http://support.microso]]></description><category></category></item><item><title><![CDATA[批量写入数据库]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6559332</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6559332</guid><author>chengx919</author><pubDate>Tue, 21 Jun 2011 17:51:00 +0800</pubDate><description><![CDATA[原文链接：http://apps.hi.baidu.com/share/detail/16973788最近在将excel中的文件导入到数据库中，用程序进行编写，由于数据量较大所以速度很慢，后来采用了SqlBulkCopy类，解决了速度的问题，我就insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServ]]></description><category></category></item><item><title><![CDATA[生成操作:内容|编译|与嵌入资源的区别]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6371543</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6371543</guid><author>chengx919</author><pubDate>Fri, 29 Apr 2011 11:35:00 +0800</pubDate><description><![CDATA[<br />原文链接：http://www.cnblogs.com/yinhaiming/articles/1717374.html 
<br /> <br /> <br />内容(Content) - 不编译该文件，但将其包含在“内容”(Content) 输出组中。<br />编译(Compile) - 将该文件编译到生成输出中。此设置用于代码文件。 <br /><br />嵌入资源(Embedded Resource) - 将该文件作为 DLL 或可执行文件嵌入主项目生成输出中。<br />内容的读写]]></description><category></category></item><item><title><![CDATA[C# 多线程与异步操作实现的探讨]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6326322</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6326322</guid><author>chengx919</author><pubDate>Fri, 15 Apr 2011 17:58:00 +0800</pubDate><description><![CDATA[<br />原文链接：http://dev.firnow.com/course/4_webprogram/asp.net/netjs/2008530/118075.html<br /> <br /><br />随着拥有多个硬线程CPU（超线程、双核）的普及，多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。<br /><br />　　多线程和异步操作的异同<br /><br />　　多线程和异步操作两者都可以达到避免调用线程阻塞]]></description><category></category></item><item><title><![CDATA[多线程同步的处理机制]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6274256</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6274256</guid><author>chengx919</author><pubDate>Thu, 24 Mar 2011 15:35:00 +0800</pubDate><description><![CDATA[多线程同步的处理机制一般有以下几种：1、事件（Event）2、临界区（Critical Section）3、互斥器（Mutex）4、信号量（Semaphore）]]></description><category></category></item><item><title><![CDATA[MATLAB生成COM步骤]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6205131</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6205131</guid><author>chengx919</author><pubDate>Thu, 24 Feb 2011 14:55:00 +0800</pubDate><description><![CDATA[<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]]></description><category></category></item><item><title><![CDATA[引用类型参数使用ref与不使用ref的区别]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6135373</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6135373</guid><author>chengx919</author><pubDate>Thu, 13 Jan 2011 16:27:00 +0800</pubDate><description><![CDATA[<br />我们都知道：<br /> <br />ref关键字使参数按引用传递。其效果是，当控制权传递回调用方法时，在方法中对参数的任何更改都将反映在该变量中。（摘自msdn）。<br /> <br />同时我们也可以在msdn上找到这样一段话：<br /> <br />按引用传递值类型（如本主题前面所示）是有用的，但是 ref 对于传递引用类型也是很有用的。这允许被调用的方法修改该引用所引用的对象，因为引用本身是按引用来传递的。下面的示例显示出当引用类型作为 ref 参数传递时，可以更改对象本身。<br ]]></description><category></category></item><item><title><![CDATA[MATLAB生成COM调用异常—没有找到mclmcrrt73.dll]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6073864</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6073864</guid><author>chengx919</author><pubDate>Mon, 13 Dec 2010 18:32:00 +0800</pubDate><description><![CDATA[背景：在程序中需要使用的一些复杂的算法，因此借助matlab强大的计算功能编写的响应的函数（.m文件），然后将函数打包成COM组件（包含MCR）。将matlab打包后的COM组件安装到系统中，然后安装自己的应用程序，之后一切运行正常，但两天后再使用就提示如下错误：“没有找到mclmcrrt73.dll，因此这样应用程序未能启动。重新安装应用程序可能会修复此问题。”解决方案：1、重新安装MCR；2、手动设置系统的环境变量。参考：1、http://www.ilovematlab.cn/thread-71366-]]></description><category></category></item><item><title><![CDATA[MATLAB生成COM发生java exception occured异常]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6058671</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6058671</guid><author>chengx919</author><pubDate>Mon, 06 Dec 2010 16:37:00 +0800</pubDate><description><![CDATA[背景：项目中需要使用到MATLAB中的自定义函数，即.m文件。但是在按照帮助的步骤进行生成COM的操作时，总是提示“java exception occured”异常。MATLAB版本为7.1 sp3。原因：当该版本的MATLAB的安装目录中有空格时，就会发生此异常。如：安装目录为D:/Program Files/MATLAB71时，就会产生该异常。解决方法：一、重新安装MATLAB，时其路径中不包含空格二、升级到较新的版本，MATLAB 2010b不受空格的影响，其它版本未测试。]]></description><category></category></item><item><title><![CDATA[C#调用ActiveX控件]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/6049646</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/6049646</guid><author>chengx919</author><pubDate>Thu, 02 Dec 2010 11:39:00 +0800</pubDate><description><![CDATA[<br />背景：最近项目中需要用到ActiveX控件，项目是在.Net平台下开发的。因此就直接在项目中添加了对ActiveX控件的引用，添加引用成功。在代码中实例化类的实例也没有问题，但在调用其方法或属性时总是抛出"未处理 COMException"异常。<br /> <br />方法一：<br />1、在系统中注册该ocx控件，命令：regsvr32.exe 控件位置（加 /u 参数是取消注册）；<br />2、在.net的工具箱中添加该控件，拖到form中去就可以了。<br />方法二：<br />1]]></description><category></category></item><item><title><![CDATA[程序随机启动运行]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/5934016</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/5934016</guid><author>chengx919</author><pubDate>Mon, 11 Oct 2010 18:20:00 +0800</pubDate><description><![CDATA[程序随机启动运行方法：1、将程序或程序的快捷方式添加到“开始—所有程序—启动”2、添加注册表项     1> 打开注册表。开始—运行—regedit     2> 定位到 HKEY_LOCAL_MACHINE/SOFRWARE/Microsoft/Windows/CurrentVersion/Run     3> 添加项。新建字符串值，名称自己定义，一般与启动的程序同名，这样一目了然。数据为要启动的程序的完全路径。]]></description><category></category></item><item><title><![CDATA[C#使用反射访问私有构造函数]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/5871835</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/5871835</guid><author>chengx919</author><pubDate>Wed, 08 Sep 2010 20:48:00 +0800</pubDate><description><![CDATA[背景：今天需要用到单例模式，之前也有用过，一直是在使用的时候按通用的方式使用，即每一个实现单例模式的类都有一个GetInstance()的公共静态方法。仔细观察就会发现这其中有重复的代码，那能不能使这些代码只编写一次，可以无限使用呢？我们首先会想到继承，将实例化过程写在父类中，子类只要继承这个父类，同时提供私有无参构造函数即可。对，就使用继承，但同时也引出一个问题，怎样能在父类中通过私有构造函数实例化子类实例呢？如果在以前可能没有办法实现，此路也就到此走不通了，但现在有了反射机制，情况就完全不一样了。下面要]]></description><category></category></item><item><title><![CDATA[C#获取路径方法集锦]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/5870760</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/5870760</guid><author>chengx919</author><pubDate>Wed, 08 Sep 2010 13:47:00 +0800</pubDate><description><![CDATA[如果应用程序经常涉及到文件的读写操作，那不可避免的要使用到路径，而获取应用程序的路径可以说是使用最频繁的，那C#下到底有几种获取应用程序路径的方法呢，下面做一个简单的总结。1、string path = System.AppDomain.CurrentDomain.BaseDirectory;获取应用程序的执行的绝对路径，包含最后的反斜线，不包含可执行文件名。这是一种安全的获取路径的方法，此属性在程序启动后不会发生改变。2、string path = System.AppDomain.CurrentDoma]]></description><category></category></item><item><title><![CDATA[XML文档结构]]></title><link>https://blog.youkuaiyun.com/chengx919/article/details/5868768</link><guid>https://blog.youkuaiyun.com/chengx919/article/details/5868768</guid><author>chengx919</author><pubDate>Tue, 07 Sep 2010 16:04:00 +0800</pubDate><description><![CDATA[XML（Extensible Markup Language）即可扩展标记语言，它与HTML一样，都是SGML(Standard Generalized Markup Language,标准通用标记语言)。xml文档结构说明一、示例文档：010203 04  05    C++ Programming Language06    Bjarne Stroustrup07    199808    98.009  10  ]]></description><category></category></item></channel></rss>