- 博客(34)
- 资源 (54)
- 收藏
- 关注
原创 const对象的const函数
<br /><br /><br />class TestConst<br />{<br />public:<br />TestConst(int iCount)<br />{<br />m_iCount = iCount;<br />}<br /> <br />int m_iCount;<br /> <br />int GetCount() { return m_iCount; }<br /> <br />int GetConstCount() const { return m_iCount; }<br /
2011-03-09 14:32:00 877
原创 stringstream实现数据类型转换
std::stringstream stream; int first, second; stream stream >> first; //转换成int stream.clear(); //在进行多次转换前,必须清除stream stream stream >> second; //提取出int
2011-03-09 14:11:00 582
原创 string中find函数用法
通过find函数实现string切割void SplitString(std::string strInput, char cSpliter, std::vector& vecOutput){int begin = -1, end = 0;vecOutput.clear(); while(1){ end= strInput.find(cSpliter, ++begin); if( end == string::npos ) break; vecOutput.push_back( strInput.su
2011-03-09 13:43:00 2658
原创 tm与time_t转换函数
bool IsSameDay(time_t time1, time_t time2){struct tm * ptimeDetail;struct tm timeDetail1;struct tm timeDetail2;ptimeDetail = localtime ( &time1 ); //函数返回本地日历时间memcpy(&timeDetail1, ptimeDetail, sizeof(tm));ptimeDetail = localtime ( &time2 ); memcpy(&timeDe
2011-03-07 18:01:00 5755
原创 mysql日志部分操作
<br />开启日志:mysqld -uroot --log或者mysqld_safe -uroot --log 开启二进制日志mysqld -uroot --log-bin 开启更新日志mysqld -uroot --log-update 日志文件默认放在数据目录下,这在linux和windows下是一样的,也可以指定目录mysqld -uroot --log=c:/test.log
2011-03-05 01:16:00 423
原创 mysql C api 中调用出现1312问题
<br />这是由于在调用CALL时,mysql无法知道执行的是多条语句还是一条,这样就无法知道要返回的是几想result, 解决办法就是在连接mysql的时候设置flag为CLIENT_MULTI_STATEMENTS, 告诉mysql将来可能执行CALL
2011-03-05 01:15:00 846
原创 bat实现mysql备份
<br /><br />mysql_backup<br /> <br />@rem ---------------------------创建备份目录-----------------------------------------<br />@echo off <br />set backup_dir=D:/数据备份<br />set backup_dir_run=D:/数据备份/run<br />set backup_dir_land=D:/数据备份/land<br />set log_file=%
2011-03-05 01:06:00 1547
原创 设置和获取socket buffer size
<br />int nrcvbuf=8192*2; //and now the default buffer is 8192 <br /> setsockopt(Socket,SOL_SOCKET,SO_RCVBUF,(char *)&nrcvbuf,sizeof(nrcvbuf)); int nRB = 0; <br /> int Length = sizeof(int); <br /> getsockopt(Socket,SOL_SOCKET,SO_RCVBUF,(ch
2011-03-05 00:52:00 1487
原创 CreateIoCompletionPort 返回值的问题
<br />HANDLE CreateIoCompletionPort(<br /> HANDLE FileHandle,<br /> HANDLE ExistingCompletionPort,<br /> DWORD CompletionKey,<br /> DWORD NumberOfConcurrentThreads<br />); 返回非零值说明绑定成功,返回零有两种情况:1.绑定失败2.重复绑定
2011-03-05 00:51:00 2014
原创 vmware下linux通过host-only方式与windows共享网络
<br />1。设置vmware为host-only2. 设置本地连接可以共享,对vmnet1共享3. 这时vmnet1的地址就会变成192.168.X.1,4. 设置linux下host为192.168.X.2,网关为192.168.X.1 测试下
2011-03-05 00:49:00 656
原创 set排序问题
<br />#include <set>#include <iostream>class ChildClient{public:int iCurCount;int iMaxCount;ChildClient(int iMax, int iCur){iMaxCount = iMax;iCurCount = iCur;}bool operator<(const ChildClient* pClient) const{return (iMaxCount - iCurCount) < (
2011-03-05 00:48:00 3267
原创 mysql_fetch_lengths的调用规则
<br />mysql_fetch_lengths一定要在mysql_fetch_row调用后才能调用,不然会出现内存非法访问的问题
2011-03-05 00:46:00 1827
原创 bash中取得当前脚本的绝对路径
<br /><br />#!/bin/bashpath=`pwd`echo $pathpath=`dirname $0` (注意,是键盘左上角的”后引号” 而不是”单引号”)
2011-03-05 00:39:00 2852
原创 网游服务器设计原则几条
<br />1.Server间socket的发送和接收缓存要足够大,以防在客户端并发操作时消息堆积导致的溢出<br />2.Server端在最有可能大并发量的accept和disconnect操作上做排队处理,防止此种情况下导致server压力突增<br />3.Server上对每个客户端做消息发送频率的限制,以防恶意攻击<br />4.维持accept在一定的数量,防止出现accept越来越少,这样会导致后面的client无法接入<br />5.在socket上设置keepalive属性,这样可以保证se
2011-03-05 00:37:00 768
原创 mysql崩溃数据恢复
<br />1.保存好data目录<br />2.重新安装mysql<br />3.如果表引擎是myisam的话,直接将对应数据库目录下的文件拷贝回来,重启mysql就可以看到数据还在<br />4.如果表引擎是innodb的话,将数据库目录下的frm文件拷贝回来,然后将ibdata1文件拷到data目录下,在my.ini文件中添加innodb_force_recovery=1这个设置,重启mysql就会看到数据已经回来
2011-03-05 00:33:00 2767
原创 mysql中 set names utf8 出现的问题
<br />如果某一char字段是unique index,在insert数据的时候如果没有设置“set names utf8”,这样插入“你好1”和“你好2”是不同的两个字段,插入成功,<br />如果在插入之前条用了“set names utf8”, 则会导致插入“你好1”和“你好2”当作相同的内容,出现1062 suplicate key的错误。set names 设置其他编码方式都不会出现这个问题。
2011-03-05 00:30:00 2003
原创 linux下所有用到dlopen类似函数的程序编译
<br /><br />编译时候要加入 -ldl (指定dl库)<br />例如<br />gcc test.c -o test -ldl
2011-03-05 00:25:00 1094
原创 删除空闲共享内存的脚本
<br />ipcs |awk '{if($6==0) printf "ipcrm shm %d/n",$2}' |sh; ipcs<br /><br />或者<br /><br />ipcs |awk '{if($6==0) printf "ipcrm shm "$2}' |sh; ipcs<br /><br />或者<br /><br />ipcs;ipcs -m | grep bernie | awk '{if($6==0) cmd="ipcrm shm "$2" >/dev/null";
2011-03-05 00:21:00 904
原创 数组作为参数时,传入基类首地址和子类首地址的区别
<br />class A<br />{<br />public:<br /> A() {};<br /> ~A() {};<br /><br /> virtual void SetTest(){ printf("a/n");};<br /> int m_iFirst;<br />};<br /><br />class B :public A<br />{<br />public:<br /> B() {};<br /> ~B() {};<br /><br />
2011-03-05 00:19:00 884
原创 分隔字符串的函数
<br />void SplitString(std::string strInput, char cSpliter, std::vector<std::string>& vecOutput)<br /> {<br /> int begin = -1, end = 0;<br /><br /> vecOutput.clear(); <br /><br /> while(1)<br /> { <br /> en
2011-03-05 00:17:00 568
原创 mysql复制创建表
<br />复制表Contact为Contact_bak<br /> <br />mysql> create table Contact_bak as select * from Contact<br /> <br />复制表Contact的结构<br /> <br />mysql> create table Contact_bak as select * from Contact where 1=2;
2011-03-05 00:15:00 1708
原创 一个js中包含另一个js的方法
<br />document.write("<script language='javascript' src='one.js'></script>");
2011-03-05 00:12:00 3320
原创 localtime函数注意事项
<br />经过一个小实验得到结论,localtime函数实现的时候采用的是一块固定buffer,因此如果多次调用此函数,结果值会是最后一次的结果值,如果需要保存每次运行函数的准确结果,需要在localtime函数调用后直接将buffer内容拷贝出来,否则将被后续调用覆盖。 bool IsSameDay(time_t time1, time_t time2)<br /> {<br /> struct tm * ptimeDetail;<br /> struct tm timeDetail1;<br
2011-03-04 23:37:00 1246
原创 多播代码
<br />客户端://///////////////////////////////////////////////////////////////////////////////////////// #include <sys/types.h><br />#include <sys/socket.h><br />#include <arpa/inet.h><br />#include <stdio.h><br />#include <stdlib.h><br />#include <string
2011-03-04 23:29:00 680
原创 多播的步骤
<br />1.创建socket socketfd = socket(AF_INET, SOCK_DGRAM, 0);<br /> if (-1 == socketfd)<br /> {<br /> perror("Opening socket");<br /> exit(EXIT_FAILURE);<br /> }<br />2.设置socket可重用并绑定 loop = 1;<br /> if (setsockopt(soc
2011-03-04 23:27:00 665
转载 通过汇编码理解switch语句的原理
<br />http://blog.chinaunix.net/u3/94078/showart.php?id=1888387 <br />当需要多次比较时,switch语句的效率比if-else if…… else语句(以后简称muti-if语句)的效率要高,这是我一直以来的理解,但是昨晚讨论到一个问题,这种“高效率”如何实现?今天早上又看到《更深入一点理解switch语句及c/c++对const的处理》和《透过IL看C# (1)switch语句》这两篇文章,前者(以后为[1])没有提及case语
2011-03-04 23:24:00 3722 1
原创 libmemcached用法
<br />#include <iostream><br />#include <string><br />#include <libmemcached/memcached.h>using namespace std;<br /> <br />int main(int argc,char *argv[])<br />{<br /> //connect server<br /> memcached_st *memc;<br /> memcached_return rc;<br />
2011-03-04 23:19:00 1616
原创 memcache错误码
<br />typedef enum {<br /> MEMCACHED_SUCCESS,<br /> MEMCACHED_FAILURE,<br /> MEMCACHED_HOST_LOOKUP_FAILURE,<br /> MEMCACHED_CONNECTION_FAILURE,<br /> MEMCACHED_CONNECTION_BIND_FAILURE,<br /> MEMCACHED_WRITE_FAILURE,<br /> MEMCACHED_READ_FAILUR
2011-03-04 23:13:00 5675
原创 python中import子目录module中py文件的方法
<br />python要import子目录module中的py文件,需要在module目录下放置一个__init__.py文件,__init__.py可以为空,只要它存在,就表明此目录应被作为一个package处理
2011-03-04 23:12:00 4098 1
原创 模板函数的嵌套调用
<br />template<class A, class B> void kkaka(A a, B b)<br />{<br /> a.kakaka<B>(b);<br />}在g++中,上面的声明会报错,原因在于a的kakaka函数被显式调用了,如果改为template<class A, class B> void kkaka(A a, B b)<br />{<br /> a.kakaka(b);<br />} 是可以正常运行,没有编译错误
2011-03-04 23:02:00 1316
原创 linux下的udp句柄
<br /><br />因为在Linux下,Socket描述符其实就是文件描述符,和硬盘文件及其它IO设备共享取值空间,因为0,1,2分别预留给了标准输入,标准输出和<br />标准错误,因此Socket描述符最小从3开始,而对于udp通信来说,由于是无连接的,所以整个系统可以只用一个,所以干脆直接把3预留给udp好了,最省时最搞笑的分配方案
2011-03-04 23:00:00 1224
原创 Linux索引节点(inode)用满导致的一次故障(转自张宴博客 http://blog.s135.com)
<br />一、发现问题:<br /> 在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题。<br /><br /> 二、分析问题:<br /> 后来用df -i查看了一下/data分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。<br /><br /><br /> inode译成
2011-03-03 15:51:00 1754
QCon2010大会ppt下载
2011-05-03
2011年DTCC数据库大会ppt下载
2011-04-21
FastDFS介绍 pdf
2011-04-08
libevent源码深度剖析.pdf
2011-04-07
Google C++编程规范(pdf 英文)
2011-03-09
网游服务器日志系统(以小时为单位生成日志)
2011-03-06
High Performance MySQL(2nd)
2011-03-05
GNU make中文手册
2011-03-05
linux网络管理员手册 非扫描
2011-03-05
memcached全面剖析
2011-03-04
Linux Debugging And Performance Tuning
2011-03-04
A Byte of Vim
2011-03-04
gawk_eg.tar.gz
2021-11-08
svn hook脚本,实现commit提交逻辑检查,评论格式,文件格式逻辑设定
2021-05-25
ip智能识别php代码.zip
2021-05-25
socket工具包 c++
2011-08-18
淘宝软件基础设施构建实践 pdf
2011-06-30
Google MapReduce中文版 pdf
2011-06-30
Bigtable:一个分布式的结构化数据存储系统[中文版] pdf
2011-06-30
The Google File System中文版 pdf
2011-06-30
分布式系统工程实践 pdf
2011-06-30
mysql分布式事务实现 MySQL XA pdf
2011-05-15
具备守护监控功能的spawn-fcgi
2011-05-10
QCon2011企业软件开发大会ppt 3
2011-05-03
QCon2011企业软件开发大会ppt 2
2011-05-03
QCon2011企业软件开发大会ppt 1
2011-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人