2011年6月9日
摘要: 一、堆和栈的概念区别堆:是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程 初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。堆里面一般 放的是静态数据,比如static的数据和字符串常量等,资源加载后一般也放在堆里面。一个进程的所有线程共有这些堆 ,所以对堆的操作要考虑同步和互斥的问题。程序里面编译后的数据段都是堆的一部分。栈:是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此 ,栈是 thread safe的。每个c++对象的数据 阅读全文
posted @ 2011-06-09 18:02 陈国利 阅读(5022) 评论(5) 推荐(8) 编辑
  2011年6月8日
摘要: 在开发winform程序的时候,经常会遇到如下情况:1、把参数从一个窗口传给另外一个窗口2、更新窗体信息内容时,同时更新另一个的窗口中对于第一个情况,我们经常采用的方法如下:(1)、构造函参数传递public class MyClassA:Form{ private string arg="test"; //一个button按钮事件private void btnOK_Click(object sender,EventArgs e) {MyClassB frm=new MyClassB(arg); frm.show(); }}public class MyClassB:Fo 阅读全文
posted @ 2011-06-08 11:33 陈国利 阅读(3414) 评论(1) 推荐(0) 编辑
  2011年5月27日
摘要: JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。Grinder Grinder是一个负载测试框架,通过Jython来编写测试脚本,基于HTTP的测试可以由浏览器来记录整个要测试的过程。关键特性:泛型测试方法灵活的测试脚本编写分布式框架成熟的HTTP支持Multi-MechanizeMulti-Mechanize 是一个开源的Web性能和负载测试框架,可让你并发运行多个 Python 脚本来对网站或者Web服务进行压力测试。主要特性:支持各种 HTTP methods 高级超链接和HTML表单支持支持 SSL自动处理 Cookies可设置HTT 阅读全文
posted @ 2011-05-27 15:16 陈国利 阅读(4004) 评论(0) 推荐(1) 编辑
  2011年5月24日
摘要: new和delete在C++中特别要重,在此简单总结一下new和delete各种含义。new与operator newC++中有很多语法让人难以理解,如:new operator(操作符,下同)和operator new之间差异,确切的说,应该是new与operator new 的区别。如下代码:string *ps=new string("memory management");这里所使用的new就是所谓new operator,是由C++语言内建的,就像sizeof那样,不能改变意义,总是做相同的事情。这个动作的含义分为两方面:第一,它分配足够的内存,用来放置某类型的对 阅读全文
posted @ 2011-05-24 01:00 陈国利 阅读(2282) 评论(12) 推荐(5) 编辑
  2011年5月17日
摘要: 本文向你推荐30款免费的项目管理软件,其中有些是桌面应用,还有一些基于Web的平台,其中不乏优秀开源软件。TeamLabTeamLab 是一个免费开源的商业协作和项目管理的平台。TeamLab 主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等。XPlanner+XPlanner是专门为XP(极限编程)团队设计的项目管理工具 NavalPlanNavalPlan是一个基于ZK框架开发Web的项目规划,监测和控制软件。2-plan2-plan 同时包含了桌面端和Web应用平台,桌面端是一个用来替代微软的 Project 软件的产品;而Web平台则提供基 阅读全文
posted @ 2011-05-17 15:14 陈国利 阅读(19861) 评论(4) 推荐(1) 编辑
摘要: 在做web前端的时候免不了要用javascript来处理一些简单操作,其实如果要用好JQuery,Prototype,Dojo 等其中一两个javascript框架并不简单,它提高你的web交互和用户体验,从而能使你的web前端有非一样的感觉,如海阔凭鱼跃。当然,对于javascript我也是半桶水。高手莫怪,在此我仅总结学习一下,以备用到时查录。今天不说框架的事情,就从最基本的、比较常用的javascript代码入手。先说简单字符串加密的事情View Code /*8进制加密*/functionEnEight(){varmonyer=newArray();vari,s;for(i=0;i&l 阅读全文
posted @ 2011-05-17 14:41 陈国利 阅读(37390) 评论(4) 推荐(1) 编辑
  2011年5月16日
摘要: 最近在VPS上尝试配置安装一个网站,VPS安装了LNMP(Linux+Nginx+MySQL+php)在配置重定规则的时候经常遇到一些问题,直接用Apache的规则到Nginx下没起作用。原来Apache 重写的规则到nginx上还有一些不太一样的地方。这里只是简单记录一些学习示例,高手略过,新手可以看一下。Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if、rewrite、set、return、break等,其中rewrite是最关键的指令。一个简单的Nginx Rewrite规则语法如下:rewrite ^/b/(.*)\.html /play.php?v 阅读全文
posted @ 2011-05-16 17:47 陈国利 阅读(72704) 评论(3) 推荐(7) 编辑
  2011年5月15日
摘要: 名称:crontab 使用权限:所有使用者 使用方式: crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e } 说明: crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 参数: -e:执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数. 阅读全文
posted @ 2011-05-15 12:20 陈国利 阅读(480) 评论(0) 推荐(0) 编辑
  2011年5月11日
摘要: 最近在虚拟机上,玩了一下Linux感觉好多命令都不会,偶尔会的几个命令也都忘记了,真是杯具,书到用时方恨少。赶紧在此记录一下,以备用时查询,请各路好友莫怪莫怪。shutdown命令 shutdown [-cfFhknr(参数名称)] [-t 秒数] 时间 [警告信息] 具体各参数功能: -c 取消前一个shutdown命令。值得注意的是,当执行一个如“shutdown -h 11:10”的命令时,只要按“Ctrl+C”键就可以中断关机的命令。若是执行如“shutdown -h 11:10 & ” 的 命 令 将 shutdown转到后台时,则需要使用shutdown -c将前一个shu 阅读全文
posted @ 2011-05-11 22:08 陈国利 阅读(736) 评论(1) 推荐(1) 编辑
  2011年5月10日
摘要: 在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使用is和as需要注意哪些事项?下面我们从简单的代码示例去探讨这个简单的问题。注:此博文只是本人学习过程中一些简要记录,新手可以看一下,高手略过。is检查一个对象是否兼容于指定的类型,并返回一个Boolean值:true或者fasle。注意,is操作符永远不会抛出异常,请看以下示例:ClassA{.... }Object o=new Object();Boolean b1=(o is Object); //b1为true. Boolean b2=(o is ClassA) ; b2为. 阅读全文
posted @ 2011-05-10 00:28 陈国利 阅读(64901) 评论(10) 推荐(16) 编辑
  2011年5月4日
摘要: 网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser、WebClient、HttpWebRequest这三个。以下就分别用这三种方法来实现:1、WebBrowser是个"迷你"浏览器,其特点是Post时不用关心Cookie、内置JS等问题WebBrowser是VS2005新提供的组件(其实就是封装了IE接口),实现POST功能一般在webBrowser的DocumentCompleted中分析HtmlDocument 来实现,代码如下: View Code HtmlElementC 阅读全文
posted @ 2011-05-04 14:55 陈国利 阅读(134359) 评论(26) 推荐(10) 编辑
  2011年5月3日
摘要: 网络通信一般都是通过Socket进行的,称为进程通信机制,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。先学习一下socket基本原理:socket原理: 在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。 阅读全文
posted @ 2011-05-03 17:59 陈国利 阅读(33727) 评论(24) 推荐(11) 编辑
  2011年5月2日
摘要: 这一段时间,QQ邮箱每天都收到一堆垃圾邮件,发件人肯定是通过软件进行群发的。但是群发的邮件一般都被TX标记垃圾邮件。我在想: 1.别人是怎么想知道我这个QQ邮箱的?是随机发送还是通过TX服务器数据库验证取得的?2.如何群发QQ邮件,不别TX标识为垃圾邮件呢? 邮件发送一般都是基于SMTP协议。对于第一个问题,还好解决,第二问题好像比较复杂,暂且放一放。今天首先简单解决实现第一个问题。如果是随机发送,简单但发送的邮件非常盲目;如果是通TX数据库的,TX好像没有公开API,如何验证?我想了半天,估计目前大部分QQ邮件群发工具应该都是随机生成QQ号,然后组成QQ邮箱,然后通过配置SMTP发送邮件。那 阅读全文
posted @ 2011-05-02 22:41 陈国利 阅读(1879) 评论(12) 推荐(2) 编辑
  2011年4月30日
摘要: 在C++里面指针和引用看起来有一些不太一样,但是它们是做得类似的事情。那么它们之间究竟有那些不太一样的东西?首先,必须认识到一点null reference。一个引用(reference)必须总是代表某个对象。假如有一个变量,其目的是用来指向(代表)另一个对象,但也有可能不指向(代表)任何对象,那么应该使用指针(pointer),因为可以将pointer设为null。换之,如果这个变量总是必须代表一个对象,也就是说如果不允许这个变量为null,那么这时候应该用reference。例如:char *pc=0; //将指针pc设定为nullchar& rc=*pc; //让引用(rc)代表 阅读全文
posted @ 2011-04-30 00:29 陈国利 阅读(1963) 评论(1) 推荐(5) 编辑
  2011年4月28日
摘要: winform程序,经过.net reflector反编译之后,产生.resources文件不便于VS识别,不能重新编译。在此简单做了一个小工具,就是把.resources文件转化为.resx文件。同时支持批量转换。即一次性浏览选择多个文件,生成之后所有.resx文件放于文件夹resx下面。生成.resx文件之后,一定要拷贝放在相应.cs文件同级目标下,VS就会自动关联起来。然后就可以做相应修改,重编译工作。在这里我仅是学习性尝试做一个简单的小工具,同时也是拿自己的程序做测试,当然你可尝试反编译别人.net程序,先用reflector反编译之后,再用此工具转化资源文件,但我不支持大家去反编译别 阅读全文
posted @ 2011-04-28 22:34 陈国利 阅读(7423) 评论(5) 推荐(3) 编辑
摘要: 在线编辑器Fckeditor优点很多,如:适应多种开发语言环境,功能强大免费开源,能根据自己要求扩展功能。大家可以到官方网站下载最新源代码。现在最新官方消息FCKEditor已经改名CKEditor了。最新版本是CKEditor.NET 3.5.3本文要实现功能是:利用编辑器在图片上传时,加入水印功能。如何在自己的网站中架设FCKeditor编辑器?我就不说了,本文默认你已经架设过并且熟悉FCKeditor内部结构。在下载FCKeditor编辑器的同时,如果是使用.net版本,还必须下载一个源代码包,在里面有一些功能类,和编译出来的DLL文件,存放在BIN文件中,我们所需要做的就是修改源代码, 阅读全文
posted @ 2011-04-28 14:16 陈国利 阅读(2668) 评论(0) 推荐(2) 编辑
  2011年4月16日
摘要: 网站在加入收藏几乎每个网站都用到的,最简单的代码如:<a onclick="window.external.addFavorite(document.URL,host.title)" style="cursor:pointer" >加入收藏</a>但这个代码只能IE下有用,在FireFox及opera就不行了。因此在必须使用兼容性较好的Javascript代码来控制。兼容多浏览器的加入收藏代码function addfavor(url,title) { if(confirm("网站名称:"+title+&quo 阅读全文
posted @ 2011-04-16 17:47 陈国利 阅读(9670) 评论(0) 推荐(1) 编辑
  2011年4月13日
摘要: 前阵子用C#做了一个简单的图片加水印小程序。没有花神马心思去做。主要是我一个朋友要求给他一个图片加水印的工具,他在网上下载的工具都是需要购买的。他问我有没有类似的工具,我也没有,不过我答应给他做一个简单的。因此,在此做了图片加水印功能。主要功能点:实现文本水印,加图片水印,以及批量加水印。程序界面如下图:内部核心处理类如: ///<summary>///图片加水印处理类///</summary>publicclassImageWater{///<summary>///获取指定mimeType的ImageCodecInfo///</summary> 阅读全文
posted @ 2011-04-13 17:46 陈国利 阅读(3724) 评论(3) 推荐(3) 编辑
  2011年4月12日
摘要: 在这篇文章中,我将列出图表,图形和数据可视化的最佳软件,从创建基本的2D图表到产生复杂的数据集的数据可视化,这些PHP,Javascript、Flash的图表,对于任何一个严谨的开发者都是必须一览的。1. Fusion ChartsFusionCharts v3 帮助创建Web或企业应用的动画/交互的图表。企业级图表组件支持PCs, Macs, iPads, iPhones,以及大量其他的手机设备。2. MaanibXML/SWF 图表是个简单、强大的工具,支持XML数据创建吸引人的图表。XML提供灵活的数据生成,而Flash提供最好的图像质量。3. JP GraphJpGraph是面向对象. 阅读全文
posted @ 2011-04-12 09:35 陈国利 阅读(1386) 评论(0) 推荐(0) 编辑
  2011年4月9日
摘要: 如果想你写的程序随系统开机一起启动的话,那么你可以照下面这个方法来做。RunWhenStart(false,Application.ProductName,Application.StartupPath+@\"\\MUS.exe\"); /// <summary> /// 开机启动项 /// </summary> /// <param name=\"Started\">是否启动</param> /// <param name=\"name\">启动值的名称</param 阅读全文
posted @ 2011-04-09 11:03 陈国利 阅读(1158) 评论(0) 推荐(0) 编辑