自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

原创 libco

1.libco协程客户端场景如下:tcp_sever:接受客户端连接,处理客户端请求,5s后回包,模拟rpc阻塞式调用服务tcp_client:连接tcp服务器,发送请求,等待回包,这里qps! 0.2/slibco_echocli:连接tcp服务器,起n个协程,qps! 0.2*n/s注意:1)这里把tcp_server的处理时间设置为了5分钟,所以libco库的读写超时...

2019-08-03 11:12:40 342

原创 keepalived简单测下

keepalived的简单使用,自动failover安装1.keepalived下载:http://keepalived.org/ 下载自己喜欢的版本2../configure && make && maake install3.安装以及配置开机启动: cp ./keepalived /usr/sbin/ cp ./keepalived/etc/rc.d/init.

2017-06-10 15:42:31 5487

原创 inotify结合select监控目录下文件变动

#include #include #include #include #include #include #include #define EVENT_SIZE ( sizeof (struct inotify_event) )#define BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )#define MAXLEN 1024c

2016-11-01 10:37:21 3476

原创 redis_主从配置以及自动切换

3台虚拟机192.168.1.52192.168.1.53192.168.1.54上来做这个操作:1.机器上编译安装(3.0.7版本)redis->wget http://download.redis.io/releases/redis-3.0.7.tar.gz2.配置:主:192.168.1.52从192.168.1.53   192.168.1.54配置文件

2016-04-16 02:37:26 6231

原创 VMware中虚拟机复制的问题

流程:选择已安装虚拟机->管理->克隆->最后每个搞一个完整的快照克隆机遇到的问题:不能联网,多了个eth1解决办法:1.root权限切换到/etc/udev/rules.d删除70-persistent-net.rules文件2. 点击左面右上角Network Connections删除System eth0和下面的ech1  -->http://359611946.blog

2016-03-06 00:53:00 593

原创 tcp连接断开的一些面试常识

在三次握手阶段,主动连接方式依次经历: SYN_SENT ESTABLISHED状态,被动连接依次经历:SYN_RECEIVED   ESTABLISHED状态,主动连接放发送同步SYN报文后会进入STNC_SENT状态,被动连接方收到SYN报文后会发送SYN和 ACK报文并进入SYN_RECEIVED状态,等主动连接方收到这个SYNACK确认报文后会再次返回一个 ACK报文,使得双方建立起连接,

2016-02-28 20:51:24 594

原创 linux下删去文件中包含某个字符串的行

删除文件中带有某个字符串的所有行a.txtsed -e '/xxx/d' a.txt -->打印出来 文件中包含xxx的行都不会显示 使用-i参数的话就直接修改文件了修改指定字符串sed -e 's/aaa/bbb/g'  全局aaa替换为bbb打印指定行cat a.txt | sed -n '1,3p'  打印文件a.txt的1到3行

2016-02-15 14:24:08 22275

原创 linux下awk的关联数组

昨天看了同事的一个shell脚本,如下:awk 'NR==FNR{++a[$1]}a[$1]==0{print $1,a[$1]}' ./a.txt ./b.txt作用是:打印出b.txt第一列中不在a中行,初一看,不是很懂,shell脚本没有系统的学过,平时用也只是一些简单的执行下可执行程序,跑下定时任务NR和FNR,NR打印行数,FNR同样是打印行数,区别是后者每次打开一个文件时都

2016-02-14 22:29:23 1226

原创 20150310的一些总结

1.今天被朋友问了一个问题:#include #include #include #include using namespace std;class father{ public: void run() { start(); } protected: virtual void

2015-03-11 00:35:42 423

原创 popen在程序内调用可执行程序

一般有3种方法:1.exec函数 2.system函数 3. popenint xpipe(char *cmdname, char *outbuf, int outlen){ int ret = 0; FILE *pf; pf = popen(cmdname, "r"); if( !pf ) return -1; if(outbu

2015-01-13 14:55:32 1261

原创 tinyxml的使用以及示例

1.下载xml源代码:github上面 clone地址:https://github.com/aughey/tinyxml/2.下来以后自己make一下主要的就几个头文件和源文件3.测试案例4.编译成静态库: ar rv libxml.a  *.o5. 测试案例运行: g++ -o test test.o -L./ -lxml6.问题:对于main程序,先编译成目标文件,最

2014-12-29 20:40:58 652

原创 构造xls表格

#include #include using namespace std;int main(int argc, char **argv){ ofstream inf; string filename = string(argv[1]) + ".xls"; inf.open( filename.c_str(), ofstream::out | ofstream:

2014-12-24 11:11:31 389

转载 awk基本用法

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho

2014-11-13 16:48:07 421

原创 从日志中找出资产限制出错的并处理

#!/bin/bashexport LD_LIBRARY_PATH=/home/server/lib:$LD_LIBRARY_PATHcd /home/server/tools/unfreeze_fund/shell/dateDate=$(date +%Y%m%d)grep "UnFreezeAccount fail" "/home/server/tongxin_srv/log/to

2014-11-11 20:13:13 669

转载 linux下的时间戳

Linux时间戳和标准时间的互转在LINUX系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等等。 下面介绍几种时间戳格式和标准时间格式转换的方法:1、分别以标准格式和时间戳来显示当前时间[root@365linux

2014-11-11 20:09:21 653

原创 epoll的echo程序(待修改)

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAX_EVENTS 500int g_epollFd;struct m

2014-11-02 22:37:38 651

原创 curl的简单使用

1.命令行模式: curl -d     "附加信息"   url curl -v     "url"2.通过程序调用static size_t process_data(void *buf, size_t size, size_t nmemb, void *str){ std::string &content = *(std::string *)str; std

2014-10-23 20:09:35 973

原创 svn的简单使用

1.建立svn库syswjdeMacBook-Air:~ syswj$ mkdir svnsyswjdeMacBook-Air:~ syswj$ lsDesktop Downloads Movies Pictures solarizedDocuments Library Music Public svnsyswjdeMacBook-Air:~ syswj$

2014-10-22 20:44:08 881

原创 linux中的__builtin_except()函数

在看代码的时候看到两个宏函数:likely()   unlikely()#define likely(x) __builtin_expect(!!(x), 1)#define unlikely(x) __builtin_expect(!!(x), 0) __builtin_expect()大致作用是处理分支预测,让编译器编译的时候可以做一些优化,优化可能性大的分支程序if( like

2014-10-19 15:36:33 1725

原创 mysql下面c连接mysql数据库

1.安装sudo yum install mysql-devel  安装组件和库2.#include #include #include #include int main(int argc, const char *argv[]){ MYSQL mysql; MYSQL_RES *result; MYSQL_ROW row; mysql_in

2014-10-11 01:47:42 702

原创 mysql的表的导入与导出

1.linux下面mysql的导入与导出:  导出:   在linux命令行下:mysqldump -u 用户名 -p   数据库名  表名  >  存入的文件名   [syswj@host ~]$ sudo mysqldump -u syswj -p sysDB stu > stu.sqlEnter password: [syswj@host ~]$ lsc++_primer

2014-10-10 19:12:45 618

原创 tcpdump抓包以及端口查看的一些操作

1.tcpdump;      nginx开启后会占用80端口,此时执行命令:tcpdump tcp port 80           结果如下:[syswj@host ~]$ sudo tcpdump tcp port 80[sudo] password for syswj: tcpdump: verbose output suppressed, use -v or -vv f

2014-10-10 14:10:08 22909

原创 nginx的安装

安装过程见:http://www.21ops.com/ops/8960.html 流程: 1.前序必须安装的 :gcc  pcre   zlib   openssl  等库和工具            2.wget http://nginx.org/download/nginx-1.5.4.tar.gz 下载  解压  进入目录./config --prex=/usr/lo

2014-10-10 10:59:28 720

转载 非阻塞connect

步骤1: 设置非阻塞,启动连接实现非阻塞 connect ,首先把 sockfd 设置成非阻塞的。这样调用 connect 可以立刻返回,根据返回值和 errno 处理三种情况:(1) 如果返回 0,表示 connect 成功。(2) 如果返回值小于 0, errno 为 EINPROGRESS,  表示连接      建立已经启动但是尚未完成。这是期望的结果,不是真正

2014-10-10 00:28:06 520

原创 局部变量地址的返回

char *fun(){char str[] = "hello";return str;}这个函数的返回值?以及这个函数在栈上的存储布局#include #include #include char *fun(){ char ptr[] = "fda"; int a = 3; int b = 4;

2014-10-09 21:07:01 1496

原创 c中的NULL 0 '\0'的一些问题

在c语言中字符串结尾为'\0',  这是字符格式,char *p

2014-10-08 21:54:13 465

原创 SIGPIPE信号的产生以及处理

看了TCP的一些东西,知道服务器往以及关闭了的sockfd中写两次时,会产生SIGPIPE信号,如果不处理,默认会挂掉服务器弄个小例子测试一下:#include #include #include #include #include #include #include #include #include #include #include #include #inc

2014-10-07 15:05:39 1736

原创 EBP ESP 以及进程的切换

EIP,EBP,ESP都是系统的寄存器,里面存的都是些地址。  为什么要说这三个指针,是因为我们系统中栈的实现上离不开他们三个。 我们DC上讲过栈的数据结构,主要有以下特点: 后进先处。(这个强调过多)其实它还有以下两个作用: 1.栈是用来存储临时变量,函数传递的中间结果。 2.操作系统维护的,对于程序员是透明的。我们可能只强调了它的后进先出的特

2014-10-06 22:08:48 722

原创 C++11的function bind回调机制

#include using namespace std::placeholders;1.可以提前声明函数类型:function  函数名;              function fn  也可以不用声明类型直接bind前面:auto fn = bind(  ....)   函数参数的对应:                         以实际函数的参数对应声明的位置

2014-10-06 14:04:07 4383 1

转载 C++中priority_queue的实现

优先级队列相对于普通队列,提供了插队功能,每次最先出队的不是最先入队的元素,而是优先级最高的元素。它的实现采用了标准库提供的heap算法。该系列算法一共提供了四个函数。使用方式如下:首先,建立一个容器,放入元素:vectorint> coll;insertNums(coll, 3, 7);insertNums(coll, 5, 9);insertNums(coll, 1, 4

2014-10-05 22:04:42 1444

转载 c++中queue的实现

本文实现了STL中stack的大部分功能,同时添加了一些功能。注意以下几点:1.Stack是一种适配器,底层以vector、list、deque等实现2.Stack不含有迭代器在本例中,我添加了几项功能,包括不同类型stack之间的复制和赋值功能,可以实现诸如Stack >和Stack >之间的复制和赋值,这主要依靠成员函数模板来实现。为了更方便的实现以上功能,我添加了

2014-10-05 20:28:17 2291

转载 C++中stack的deque实现

本文实现了STL中stack的大部分功能,同时添加了一些功能。注意以下几点:1.Stack是一种适配器,底层以vector、list、deque等实现2.Stack不含有迭代器在本例中,我添加了几项功能,包括不同类型stack之间的复制和赋值功能,可以实现诸如Stack >和Stack >之间的复制和赋值,这主要依靠成员函数模板来实现。为了更方便的实现以上功能,

2014-10-05 00:43:57 1327

原创 字典树的实现

字典树常用于前缀匹配[syswj@host 0813]$ cat dic_tree.cpp#include #include  #define MAX 26usingnamespace std; typedefstruct TrieNode{    intncount;    structTrieNode *next[MA

2014-10-04 13:20:51 810

原创 几种并发服务器模型的实现

 客户端使用select模型: 1 #include 2 #include 3 #include string.h> 4 #include 5 #include 6 #include 7 #include in.h> 8 #include 9 #include select.h> 10 #include 11 12 #

2014-10-04 13:12:06 1607

原创 搜索引擎源码及流程

对从网络上抓取到的网页进行处理:建立网络库,分词,去重,if-tdf计算权重,归一化,然后根据查询词将文本相似度从高到低的依次返回给客户第一阶段:python网络爬虫抓取网页,并存盘第二阶段:对磁盘上的网页文件建立网页库,将全部网页写入网页库,并建立相应网页的偏移量索引文件(1   23   100)-->(dofid,   offset,   size),以便读取网页内容

2014-10-04 13:11:39 1395

原创 exception类的实现

1) 函数后面声明 throw() 只是接口的提供者和接口的使用者间的默契或称协议。2) 这种协议不影响正常的异常处理流程。

2014-10-04 00:42:44 838

转载 进程间IPC机制

Linux进程间通信类型:1.信号机制   发送信号2.管道机制   读者-写者3.消息队列   消息缓冲队列通信机制,传送小量数据4 .共享内存   传送大量数据,锁机制5.信号量     P、V操作,进程间同步互斥,生产者-消费者,哲学家进餐等。    现在linux使用的进程间通信方式:(1)      管道

2014-10-03 23:37:22 479

转载 TCP的RST攻击详解

在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。 1、TCP是什么?TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输。我来用土语解

2014-10-03 20:53:10 3453

原创 c++运算符重载以及一些基本概念

c++primer第四版4351.赋值( = ), 下标( [ ] ) ,调用 (  ( )  ), 成员访问箭头 (->)等操作符必须定义为成员,定义为非成员时,编译器报错2. 像赋值一样,符合赋值操作符通常应定义为类的成员,但是定义为非成员的复合赋值操作符时不会出现编译错误3.改变对象状态或给定类型紧密联系的其他一些操作符,如自增,自减和解引用,通常应定义为类的成员4.对称操作

2014-10-03 14:58:30 887

原创 C++中priority_queue的比较函数重载的两种方式

1.定义比较函数,以函数对象形式    这种方式使用时,需要把函数加入priority_queue的声明中去  struct com{  bool operator()( T &t1, T &t2)    {  }};priority_queue, com>  que;2.在结构体中重载class T{public:friend bool o

2014-10-03 14:30:46 5839

vc的播放器

基于VC的音乐播放器源码,可以下载运行一下,界面很强大

2013-05-13

学生管理系统源码

基于c语言的学生管理系统,非常好的界面,

2013-05-09

pki资源下载

pki图像,看看真的很有用,图像处理应用很广的

2013-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除