2014年3月23日
摘要: 如果你是一个懒惰的程序员,你看到以下代码可能会恼火 abstract class U{ } class u1 extends U{ public static function create(){ return new u1(); } } class u2 extends U{ public static function create(){ return new u2(); } } 这段代码正常工作是没问题,但大量重复的代码会很烦人 我不想在每个子类中添加create方法,如果把create方法放在超类U中,代码可能是 abstract class U{ ... 阅读全文
posted @ 2014-03-23 09:34 程序点滴 阅读(195) 评论(0) 推荐(0) 编辑
  2014年3月21日
摘要: DLL注入技术才具有强大的功能和使用性,同时简单易用,因为DLL中可以实现复杂的功能和很多的技术。 技术要点: 1、宿主进程调用LoadLibrary,就可以完成DLL的远程注入。可以通过CreateRemoteThread将LoadLibrary作为宿主进程的一个线程来启动,就可以完成"控制目标进程调用LoadLibrary"的工作。 2、标准DLL中DllMain,是DLL执行的入口;使用MFC的DLL中InitInstance,是DLL执行的入口,但是没有消息循环。 注意: a、如果是需要多线程,只能使用有DLLMain的标准DLL.因为使用MFC的DLL,在Init 阅读全文
posted @ 2014-03-21 10:40 程序点滴 阅读(1351) 评论(0) 推荐(0) 编辑
摘要: 如果一个程序设计语言能够用高阶函数解决问题,则意味着数据作用域问题已十分突出。当函数可以当成参数和返回值在函数之间进行传递时,编译器利用闭包扩展变量的作用域,以保证随时能得到所需要的数据。 C#函数式程序设计之作用域 在C#中,变量的作用域是严格确定的。其本质是所有代码生存在类的方法中、所有变量只生存于声明它们的模块中或者之后的代码中。变量的值是可变的,一个变量越是公开,带来的问题就越严重。一般的原则是,变量的值最好保持不变,或者在最小的作用域内保存其值。一个纯函数最好只使用在自己的模块中定义的变量值,不访问其作用域之外的任何变量。 遗憾的是,有时我们无法把变量的值限制于函数的范围内... 阅读全文
posted @ 2014-03-21 10:30 程序点滴 阅读(308) 评论(0) 推荐(0) 编辑
  2014年3月18日
摘要: php错误处理 当我们开发程序时,有时候程序出现了问题,我们就可以用以下几种办法找出错误。 开发阶段:开发时输出所有的错误报告,有利于我们进行程序调试 运行阶段:我们不要让程序输出任何一种错误报告(不能让用户看到(包括懂技术, 不懂技术的人)) 将错误报告写入日志中 一、指定错误报告 error_reporting = E_LL 二、关闭错误输出 display_errors = Off 三、开启错误日志功能 log_errors = On 1. 默认如果不指定错误日志位置,则默认写WEB服务器的日志中 2. 为error_log选项指定 一个文件名(可写) 3. 写入... 阅读全文
posted @ 2014-03-18 16:07 程序点滴 阅读(569) 评论(0) 推荐(0) 编辑
摘要: PHP mysql_real_escape_string() 函数 PHP MySQL 函数 定义和用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。 下列字符受影响: \x00\n\r\'"\x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false. 语法 mysql_real_escape_string(string,connection) 参数 描述 string 必需。规定要转义的字符串。 connection 可选。规定 MySQL 连接。如果未规定,则使用上一个连接。 说明 ... 阅读全文
posted @ 2014-03-18 16:02 程序点滴 阅读(351) 评论(0) 推荐(0) 编辑
  2014年3月16日
摘要: 题目描述: 给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' #include #define MAX 10 using namespace std; void swap(char str[],int i,int j) { int temp; temp=str[i]; str[i]=str[j]; str[j]=temp; } void perm(char str[],int k,int m) { int i; if(k>m) { for(i=0;i #include #define MAX 10 ... 阅读全文
posted @ 2014-03-16 16:29 程序点滴 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 一、基于线程池的请求处理ASP.NET通过线程池的机制处理并发的HTTP请求。一个Web应用内部维护着一个线程池,当探测到抵达的针对本应用的请求时,会从池中获取一个空闲的线程来处理该请求。当处理完毕,线程不会被回收,而是重新释放到池中。线程池具有一个线程的最大容量,如果创建的线程达到这个上限并且所有的线程均被处于"忙碌"状态,新的HTTP请求会被放入一个请求队列以等待某个完成了请求处理任务的线程重新释放到池中。我们将这些用于处理HTTP请求的线程称为工作线程(Worker Thread),而这个县城池自然就叫做工作线程池。ASP.NET这种基于线程池的请求处理机制主要具有如 阅读全文
posted @ 2014-03-16 16:25 程序点滴 阅读(484) 评论(0) 推荐(0) 编辑
  2014年3月13日
摘要: 在eclipse中使用JBPM4.4的设计器时,输入中文后直接查看Source发现xml里中文全都乱码了,这时候大约整个人都不好了!赶紧百度、谷歌,搜到的多数结果都是要你在eclipse.ini或myeclipse.ini文件末尾加一句-Dfile.encoding=UTF-8将eclipse的JVM虚拟机默认字符集设置成UTF-8.有的文章还会更进一步,告诉你如何解决由这一修改导致的eclipse控制台及服务器上的中文乱码问题。 但第一页只有"转载---JBPM4.4中关于流程设计图中文乱码问题解决方案"这篇转载的文章中提到了"得保证你的整个项目也是UTF8编码 阅读全文
posted @ 2014-03-13 11:22 程序点滴 阅读(263) 评论(0) 推荐(0) 编辑
摘要: quicksort:分治思想。 分解:数组A[p, r)被划分成两个子数组A[pq) 和 A[q+1, r),使得A[pq)中的每个元素小于等于A[q], A[q]也小于A[q+1r)中的每个元素。q是划分过程要返回的结果。 解决:递归调用quicksort,对子数组A[pq) 和 A[q+1, r)进行排序。 合并:因为子数组都是原址排序的,所以不需要合并操作:A[pr)已经有序。 代码数组下标从0开始,并且所有函数使用左闭右开区间。与算法导论第三版书上的伪代码不同的部分在注释标出。 #include #include #include #include #inc... 阅读全文
posted @ 2014-03-13 11:18 程序点滴 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 例子 代码如下 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.htmlControls; using System.Text.RegularExpressions; usin... 阅读全文
posted @ 2014-03-13 11:15 程序点滴 阅读(160) 评论(0) 推荐(0) 编辑

全讯网   全讯网