- 博客(82)
- 资源 (3)
- 收藏
- 关注
转载 Mysql备份与还原
<br />数据的备份和还原的重要性是不言而喻,高效安全的备份恢复方案能在关键时刻帮你渡过难关。<br />备份<br />备份使用的场景<br />灾难还原:<br /> 硬件故障,恶意bug,或其他原因导致数据无法继续使用。<br />人们改变原先的想法:<br /> 在某个时段,人们删除了他们认为没用的数据,但是过后又发现需要用到这些数据<br />审查:<br /> 你可能在应用在发现某个bug,想看看这段代码在过去运行时产生什么样的结果,或者你们公司卷入异常官司。<br />测试:<br
2011-03-27 16:20:00 488
原创 Failed to initialize storage module解决方法
<br />解决方法有两种如下:<br />1。在报错的文件里的session start();之前加入如下代码:ini_set(’session.save_handler’, ‘files’); 。这种方法适合租用空间的用户使用。<br />2。在php.ini文件里,显式指定session的save_path(比如 c:/temp)然后重启web服务。如果服务器的管理权限属于你,那还是这样改比较方便。<br />原因分析:php5一个安全模式的bug,默认session的save_path是系统的临时目
2010-08-03 11:23:00 645
原创 编写一个Cruisecontrol的扩展插件
老牌的持续集成工具Cruisecontrol已经很少更新了,后起之秀Hudson相比之下却是非常的活跃。CC和Hudson对插件的支持都很好,本想在Hudson上编写一个RTX消息插件,被maven绕晕了,就先在CC里面实现一个罢。RTX是一种企业办公用的即时通讯工具,界面简洁清爽,而且可以和企业组织结构相结合,我个人还是比较喜欢的。面对面的沟通永远是最高效的,如果在半径20米范围内,还用rtx聊
2010-04-13 17:23:00 823 1
原创 持续集成工具CC的一些个人经验
CruiseControl(CC)是老牌的开源持续集成工具,支持众多的插件,文档也比较全,普通的持续集成应用使用CC是可以满足要求的,CC已经比较久没有更新了。团队在选择CI工具时可以考虑使用新的CI工具:hudson 比较常见的问题:1.CruiseControl可以用来做什么语言的CI?CC本身是用java编写的,对于java本身的支持也比较好,当然它可以做其他语言的ci工具,如:cpp, p
2010-04-13 16:37:00 615
原创 LINUX静态链接库顺序问题
昨天在编写一个程序的时候发现需要链接的静态库都确定存在,指定的路径也没有问题,但是编译总是出现链接问题,找不到实现,才发现原来如果同时链接多个静态库,并且如果这些静态库之间存在相互依赖关系的话,需要按一定的顺序进行链接,例如:如果libb.a依赖liba.a,那么编译参数应该写成这样: -lb -la
2010-02-24 10:11:00 1261 1
转载 TOP命令使用
认识top的显示结果top命令的显示结果如下所示:top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0%
2009-12-07 19:50:00 271
原创 设计模式 观察者模式
名称Observer 结构 意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。适用性当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 当对一个对象的改变需要同时改变其它对象, 而不知道具
2009-11-19 11:15:00 286
转载 sscanf用法
名称:sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型:Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );int scanf( const char *format [,argument]... ); 说明:sscanf与scanf类似,都是用于输入的,只是后
2009-09-11 14:23:00 239
转载 Pragma命令小结
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为
2009-09-10 18:50:00 246
原创 将Visual Studio武装到底
在Visual C++ 2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢? 本文介绍了一种简单的方法。 在Visual C++ 2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢?象ICC这样的编译器安装之后会自动集成进来,要集成其他编译器那还得自己动手。下面介绍一种简单、浅层的“
2009-08-18 09:48:00 722
转载 如何在WINDOWS下编译BOOST C++库
如何在WINDOWS下编译BOOST C++库 写出来,怕自己以后忘记了,也为初学者参考。使用VC8.0和boost1.35.0。 1)下载boosthttp://www.boost.org/users/download/这是它的下载页面,需要下载2个东西:Packaged ReleasesVERSION 1.35.0和Boost Jam 3.1
2009-04-22 23:47:00 376
原创 lAMP安装手记
资源下载:http://download.chyangwa.com/linux/apache/httpd-2.2.4.tar.gzhttp://download.chyangwa.com/linux/MySQL/mysql-5.0.19.tar.gzhttp://download.chyangwa.com/linux/PHP/php-5.0.5.tar.gzhttp://wordp
2009-03-18 23:49:00 389
转载 ACE日志系统
介绍了ACE中日志系统(Logging Facility)的基本使用 一、简介以前曾介绍过一个开源日志系统log4cplus,ACE也有自己的Logging Facility,与log4cplus相似,ACE日志系统也具有线程安全、灵活、分级显示等特点,可以面向程序调试、运行、测试、和维护等全生命周期,可以选择将信息输出到屏幕、文件、系统日志(如Windows下的Event log)、甚至
2009-03-10 09:19:00 437
原创 mount 用法总结
最近几次发现mount了一个网络共享磁盘后, 就无法umount, 老是提示:device is busy, 服务又不能停止的。 无意发现可以用"umount -l"解决! 上网找下umount -l,发现这里讲得不错:http://blog.chinaunix.net/u/4206/showart_105859.html 2. mount的基本用法是?
2008-11-29 12:26:00 502
转载 手工/自动包处理工具链
一、抓包并保存 Linux下最方便就是tcpdump,ethreal带的命令行工具没有试过; tcpdump采集的包可以用-w保存(注意先用-s参数设置snaplen) 当需要支持正则表达式匹配的时候, 可以考虑ngrep这个grep的网络版替代tcpdump二、转换包格式 ethreal的包格式转换功能比较好,可以转换libcap、sniffer等各种格式三、分析数据包 e
2008-11-24 15:01:00 495
原创 自己写的一个文本分类工具
文本分类隶属于数据挖掘方面的一个分支,不过,就文本分类而言尚有相当大的研究空间,关于文本分类,网上的资料很多,有兴趣的同事可以去研究一下. 目前文本分类可以在公司应用系统中的域名分类,垃圾邮件识别,WEB爬虫,IDC内容分析等各子系统中实际应用,此外文本分类将来也可能在行为分析,内容过滤(绿网客户端)等发挥作用. 文本分类的实现过程可以用下图表示:
2008-09-19 14:14:00 1766 1
转载 TCP笔记
1、TCP 通过以下方式提供可靠性: ◆ 应用程序分割为TCP认为最合适发送的数据块。<!--google_ad_client = "pub-7345584400661736";/* 728x90, 创建于 08-2-20 */google_ad_slot = "3544090275";google_ad_width = 728;google_ad_height = 9
2008-03-31 12:29:00 460
转载 WINDOWS网络包过滤技术
WINDOWS网络包过滤技术 (原文:http://www.ndis.com/papers/winpktfilter.htm)//似乎是翻译的#转者注:)//作 者: sevencat (七猫) //原文作者不详#转者注一、user-mode网络包过滤1、winsock分层service provider参照Microsoft Platform SDK上有关文档
2008-03-03 20:35:00 800
转载 数据库外键,用是不用?
对于主/外键/索引来说,在一些开发团队中被认为是处理数据库关系的利器,也被某些开发团队认为是处理某些具体业务的魔鬼,您的观点呢?在实际应用中您会采取哪种方式?大家共同观点:主键和索引是不可少的,不仅可以优化数据检索速度,开发人员还省不其它的工作, 矛盾焦点:数据库设计是否需要外键。这里有两个问题:一个是如何保证数据库数据的完整性和一致性;二是第一条对性能的影响。正方观点:1,由数据库自身保证数据
2008-02-28 13:05:00 1254
转载 检测TCP非正常断开连接 SO_KEEPALIVE 使用缺陷分析
目前手头有个关于心博功能的一个案例, 在使用SOL_SOCKET, SO_KEEPALIVE上有一点心得,想写出来和大家分享一下。关于SOL_SOCKET选项SO_KEEPALIVE有一个很详细的英文How TO, 在下面的网页中大家可以看到详细的内容http://www.icewalkers.com/Linux/Howto/TCP-Keepalive-HOWTO/index.html在《
2007-12-11 14:16:00 5016 2
转载 Linux下的多线程编程
Linux下的多线程编程 本文出自:http://www.china-pub.com 作者: 姚继锋 (2001-08-11 09:05:00) 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在
2007-05-08 19:29:00 663
原创 setsockopt()改善socket网络程序的健壮性
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));
2007-04-11 18:56:00 935
原创 若干经典的字符串哈希函数
// RS Hash Function unsigned int RSHash( char * str) { unsigned int b = 378551 ; unsigned int a = 63689 ; unsigned int hash = 0 ; while ( * str)
2007-03-19 12:46:00 4832 1
原创 用GDB调试程序
GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下的图形软件基
2007-03-16 15:20:00 818
转载 RFC2190 - RTP Payload Format for H.263 Video Streams
Network Working Group C. ZhuRequest for Comments: 2190 Intel Corp.Category: Standards Track September 1997RTP Payload Format for H.263 Video StreamsStatus of This MemoThis document specifies an Intern
2007-03-09 13:11:00 1377
转载 深入探讨MFC消息循环和消息泵
这是我至今为止看到的关于MFC消息机制最为经典的一篇文章,特收录至此,供日后借鉴! 首先,应该清楚MFC的消息循环(::GetMessage,::PeekMessage),消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情。在MFC的应用程序中(应用程序类基于CWinThread继承),必须要有一个消息循环,他的作用是
2007-03-09 11:02:00 769
原创 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法
最近写了个代码,在UI线程中创建了一个窗口,然后在工作线程中修改了这个窗口中的一些数据,然后想用UpdateData(FALSE)来更新窗口的内容,结果在Debug版本下面就出现了Assert报错,说出错地方是wincore.cpp的888行和889行,就是这两句 ASSERT((p = pMap->LookupPermanent(m_hWnd)) != NULL || (p = p
2007-02-14 16:20:00 1896
转载 SIP协议解析与实现
一 概述 SIP协议是一个基于应用层的会话控制协议。它可以创建、修改、终止多媒体会话(会议),也可以邀请参与者加入到一个现有的会话。 因为SIP是一个基于应用层的协议,所以它不是一套完整的通讯系统方案,它需要和其它的方案或者协议结合起来实现整套系统。例如,实时传输协议(RTP)(RFC1889)用来传输音视频等实时的流媒体数据。实时流协议(RTSP)(RFC2326)用来控制媒
2007-02-02 21:00:00 2230
原创 基于RTP/RTCP流媒体服务器技术研究
随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到了流媒体技术。但现有公开文献所报道的大多是利用现有的流媒体服务器来搭建一个流媒体服务系统,或者是针对流媒体数据的编码方式所进行的研究。本文对流媒体服务器技术的研究重点在于如何建立一个服务器,并且在实现流媒体传输的两个基本协议RTP/RTCP的基础上构建一个基本的流媒体服务器。 2流媒体技术简介
2007-02-02 10:02:00 803
原创 SIP:构建新一代SoftSwitch
一、SIP的提出和发起 SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提出的IP电话信令协议。它的主要目的是为了解决IP网中的信令控制,以及同SoftSwitch的
2007-02-01 15:13:00 571
转载 RFC3261(SIP协议)
1、SIP协议介绍Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。本
2007-02-01 14:53:00 4478
转载 Linux网络服务配置文件详解
从linux诞生的那一天起,就注定了它的网络功能空前地强大.所以在linux系统中如何配置网络,使其高效,安全的工作就显得十分重要.下面我们就从网络设备的安装,网络服务的设置和网络安全性三个方面来介绍一下linux系统中网络的设置.一.安装和配置网络设备 在安装linux时,如果你有网卡,安装程序将会提示你给出tcp/ip网络的配置参数,如本机的ip地址,缺省网关的ip地址,DNS的ip地址等等
2006-10-20 10:46:00 1662 1
转载 Linux基本操作命令
首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不
2006-09-21 12:49:00 869
原创 VC遍历窗体控件的实现
最近在写控制台,在设计界面按钮风格时不想通过每个按钮的ID来获取其句柄,而是通过遍历窗体所有控件,然后判断其控件类型进而来实现。 代码如下: // 遍历得到页面中的所有Button控件,依次设定其样式和颜色 CWnd* pWnd = GetWindow(GW_CHILD); char cClassName[255]=...{
2006-09-05 19:45:00 1812 1
转载 CString 与其他类型的转换
一. VC常用数据类型列表二. 常用数据类型转化2.1数学类型变量与字符串相互转换2.2 CString及string,char *与其他数据类型的转换和操作●CString,string,char*的综合比较●数学类型与CString相互转化●CString与char*相互转换举例●CString 与 BSTR 型转换
2006-05-19 09:01:00 2610
转载 COM 组件设计与应用7 - 编译、注册、调用
一、前言 上两回中,咱们用 ATL 写了第一个 COM 组件程序,这回中,主要介绍编译、注册和调用方法。示例程序你已经下载了吗?如果还没有下载,vc6.0 的用户点这里,vc.net 的用户点这里。二、关于编译 2-1 最小依赖 “最小依赖”,表示编译器会把 ATL 中必须使用的一些函数静态连接到目标程序中。这样目标文件尺寸会稍大,但独立性更强,安装方便;反之系统执行的时候需要有 ATL.D
2006-03-24 14:00:00 1024 1
转载 COM 组件设计与应用6 - 用 ATL 写第一个组件
下载源代码一、前言 1、与 《COM 组件设计与应用(五)》的内容基本一致。但本回讲解的是在 vc.net 2003 下的使用方法,即使你不再使用vc6.0,也请和上一回的内容,参照比对。 2、这第一个组件,除了所有 COM 组件必须的 IUnknown 接口外,我们再实现一个自己定义的接口 IFun,它有两个函数: Add()完成两个数值的加法,Cat()完成两个字符串的连接。 3、下面.
2006-03-24 13:57:00 820
转载 COM 组件设计与应用5 - 用 ATL 写第一个组件
下载源代码一、前言 1、如果你在使用 vc5.0 及以前的版本,请你升级为 vc6.0 或 vc.net 2003; 2、如果你在使用 vc6.0 (ATL 3.0)请阅读本回内容; 3、如果你在使用 vc.net(ATL 7.0)请阅读下回内容;(当然读读本文内容也不错) 4、这第一个组件,除了所有 COM 组件必须的 IUnknown 接口外,我们再实现一个自己定义的接口 IFun,它
2006-03-24 13:54:00 749
转载 COM组件设计与应用4 - 简单调用组件
二、组件的启动和释放 在第三回中,大家用“小本本”记录了一个原则:COM 组件是运行在分布式环境中的 。于是,如何启动组件立刻就遇到了严重的问题,大家看这段代码: p = new 对象; p->对象函数(); delete p; 这样的代码再熟悉不过了,在本地进程中运行是不会有问题的。但是你想想,如果这个对象是在“地球另一边”的计算机上,结果会如何
2006-03-24 13:51:00 769
转载 COM组件设计与应用2 - GUID 和 接口
typedef struct _GUID { DWORD Data1; // 随机数 WORD Data2; // 和时间相关 WORD Data3; // 和时间相关 BYTE Data4[8]; // 和网卡MAC相关} GUID;typedef GUID CLSID; // 组件IDtypedef GUID IID; // 接口ID#define
2006-03-24 13:43:00 728
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人