自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

woxiaozhi的专栏

君子性非异也,善假于物也。

原创 ACL基础知识汇总

ACL(Access Control list,访问控制列表)一般用来进行流量过滤和流量分类。1.过滤就是对数据包流量进行过滤,包含了防火墙的功能(应用到三层网络层),商业级的防火墙一般都需要能应用到网络上面的应用层。过滤的两个动作:permit(允许)、deny (拒绝)ACL做过滤时都是绑定在交换机或路由器的接口(Interface)上,其中需要注意:一个接口(Interfa...

2020-04-20 16:15:16 148

转载 NAT 详解

From:http://wwwcisco.blog.51cto.com/218089/39837CCNA学习笔记之NAT:http://sweetpotato.blog.51cto.com/533893/1392884网络地址转换NAT原理及应用:http://blog.csdn.net/xiaofei0859/article/details/6630467NAT技术基本原理与应用:h...

2018-10-11 14:36:27 223

原创 欢迎使用CSDN-markdown编辑器

includeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeusing namespace std;define MAXLINE 5define OPEN_MAX 100define

2017-10-21 14:26:40 234

原创 scala基础——控制结构和函数

这两周项目提测与上线,好久没写Scala的笔记了scala中几乎构造的所有语法结构都有值

2017-03-25 14:39:50 435

原创 scala的基础

1、温习知识,记录轨迹。2、给他人提供参考

2017-03-12 14:10:39 330

转载 python常用的十进制、16进制、字符串、字节串之间的转换

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等废话不多上,直接上例子整数之间的进制转换:10进制转16进制: hex(16)  ==>  0x1016进制转10进制: int('0x10', 16)  ==>  16类似的还有oct(), bin()-------------------字

2017-02-28 16:37:58 25209

转载 原码、反码、补码和移码其实很简单

原码:反码:补码:移码:看完这些定义以后,我的脑袋瞬间膨胀到原来的二倍!这样变态的公式不管你记不记得住,反正我是记不住!还好以前对它们有所了解,否则看到这一堆公式恐怕我早就放弃参加软考的念头喽。其实没必要弄得这么麻烦,它们完全可以用一两句话

2017-02-28 14:52:00 695

原创 Linux系统下scala安装详解

由于公司业务开展的原因,需要用到多维度分析,所以打算从scala开始,以后会写一系列scala的学习笔记,做一下记录,同时给他人方便。

2017-02-24 15:06:22 9982

转载 Linux内存管理之mmap详解

一. mmap系统调用1. mmap系统调用        mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.

2016-03-01 15:43:14 1292

转载 linux下IPTABLES配置详解

如果你的IPTABLES基础知识还不了解,建议先去看看.开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destinat

2016-02-23 17:56:54 599

转载 make常见错误

转载于http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/make-15.htmlmake 执行过程中所产生错误并不都是致命的;特别是在命令行之前存在“ - ”、或者 make 使用“ -k ”选项执行时。 make 执行过程的致命错误都带有前缀字符串“*** ”。错误信息都有前缀,一种是执行程序名作为错误前缀

2016-02-22 11:31:52 3821 1

转载 多线程编程-线程的创建和终止

1.引言:   Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查看有

2015-12-02 22:51:19 401

原创 交叉编译库libpcap

1、下载libpcap-1.3.0.tar.gz源码。2、解压libpcap-1.3.0.tar.gz,cd进入目录,修改confiugre文件,把下面两段注释掉 #if test -z "$with_pcap" && test "$cross_compiling" = yes; then # { { echo "$as_me:$LINENO: error: pcap type

2015-11-18 16:04:01 5682

原创 linux下交叉编译提示/lib/libz.so.1: no version information available

出现这个错误,很有可能是版本太旧的原因,跟新 libz.so 的版本。wget http://zlib.net/zlib-1.2.8.tar.gz cd zlib-1.2.8./configure make

2015-11-17 14:12:38 6087

转载 linux awk命令详解

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

2015-11-12 15:51:26 379

转载 磁盘 IO 性能 调优 多线程 总结

1. 完全随机写还是跳跃,5倍的性能差距!全随机写无疑是最慢的写入方式,在logic dump测试中很惊讶的发现,将200M的内存数据随 机的写入到100G的磁盘数据里面,竟然要2个小时之多。原因就是虽然只有200M的数据,但实际上却是200万次随机写,根据测试,在2850机器上, 这样完全的随机写,r/s 大约在150~350之间,在180机器上,r/s难以达到250,这样计算,难怪需要

2015-11-05 17:38:40 3793

转载 Vi/Vim查找替换使用方法

vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。     :s/vivian/sky/ 替换当前行第一个 vivian 为 sky     :s/vivian/sky/g 替换当前行所有 vivian 为 sky     :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行

2015-09-15 10:41:03 417

转载 socket中的函数遇见EINTR的处理

这几天,写服务器代码过程当中,遇见EINRT信号的问题,我是借鉴 《unp 》,采用continue或者goto again循环解决的。但是感觉这个还是很有必要记录一下。网络上查找到的信息很多。下面是我查找到的和EINTR有关的介绍:1  http://blog.csdn.net/yanook/article/details/7226019  慢系统调用函数如何处理中断信号EINTR2  

2015-09-10 11:41:34 510

原创 linux下字符串与十六进制之间的转换

#include #include #include //字符串转换成16进制inline char *CharArrayToHexString(char* pOut, const int nMaxLen, const char* pInput, const int nInLen){ const char* chHexList = "0123456789ABCDEF";

2015-09-10 09:47:02 16396

原创 linux 下时间字符串和time_t类型之间的相互转化

#include #include #include #include time_t ConvertStrtoTime(char * szTime){ tm tm_; time_t t_; strptime(szTime, "%Y-%m-%d %H:%M:%S", &tm_); //将字符串转换为tm时间 tm_.tm_isd

2015-09-01 15:19:36 8477

转载 SNMP从入门到开发:进阶篇 2

管理信息库:MIB我们要扩展mib首先必须清楚mib是如何定义的,用的什么语言,有哪些约定,遵循哪些规则等等。这些基本东西掌握过后,我们就可以很轻松的来写自己的mib文件了。所谓管理信息库,或者MIB,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合,或者叫管理对象的集合,在RFC 1213 [McColghrie 和Rose 1991]中定义了MIB-II,即第二版的

2015-08-20 14:04:03 1728

转载 SNMP从入门到开发:基础篇 1

SNMP协议入门1、引言基于TCP/IP的网络管理包含3个组成部分:1) 一个管理信息库MIB(Management Information Base)。管理信息库包含所有代理进程的所有可被查询和修改的参数。RFC 1213[McCloghrie and Rose 1991]定义了第二版的MIB,叫做MIB-II。2)  关于MIB的一套公用的结构和表示符号。叫做管理信息结构SMI

2015-08-20 14:01:24 4931 2

转载 java与C++之间进行SOCKET通讯要点简要解析

java与C++之间进行SOCKET通讯要点简要解析hslinux0、篇外语  此乃本人学习过程中自娱自乐之作,为了遗忘后有个地方再温习。如入您法眼,转载请尊重原作者,请说明出处。1、big-endian与little-endian   Endian定义:在计算机系统体系结构中用来描述在多字节数中各个字节的存储顺序。big-endian也

2015-07-28 16:25:13 430

原创 在北京的那三年合订版

在一家公司学到了该学的东西;在一家公司已经达到了进公司前的目的;在一家公司对自己已没有提升的空间;有了发展的舞台,没有了后顾之忧,为什么不迈向幸福生活?

2015-04-02 20:52:59 801

转载 Linux生成core文件、core文件路径设置

在Linux下产生并调试core文件 先看看我用的是个什么机器:$ uname -aLinux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i386 GNU/Linux再看看默认的一些参数,注意core file size是个0,程序出错时不会产生core文件了。$ ulimi

2014-10-30 19:53:33 756

原创 Linux下忽略信号SIGPIPE的方法

最近为测试自己写好的一个服务器,zi

2014-10-30 18:55:56 13801 4

转载 C 语言中的段位操作

C 语言中的段位操作1.位段结构中位段的定义格式为: unsigned : 例如: struct bytedata {unsigned a:2; /*位段a,占2位*/ unsigned:6; /*无名位段,占6位,但不能访问*/ unsigned:0; /*无名位段,占0位,表下一位段从下一字边界开始*/ unsigned b:10; /*位段b,占1

2014-08-15 14:43:56 1110

转载 source insight快捷键及使用技巧

source insight快捷键及使用技巧 退出程序                             : Alt+F4重画屏幕                             : Ctrl+Alt+Space完成语法                             : Ctrl+E复制一行                          

2014-08-08 14:33:14 649

转载 Linux /proc第一篇---->/proc/pid记录了什么

由于自己Linux系统知识基础比较薄弱,准备比较全面学习,准备从/proc这个目录开始。实际上这个目录也基本上记录所有系统运行时和内核的一些信息,所以如果想对linux系统有一个比较全面的了解,从/proc入手应该是个不错的选择。准备将自己学习的过程记录下来,分享给同样需要的朋友,也便于以后查阅。今天准备介绍一下/proc/pid这个目录到底是做什么用的,它到底记录了哪些信息。     

2014-08-04 11:40:10 647

转载 Linux proc/%d/stat文件详解

Linux stat文件。也终于弄明白了这一堆堆砌的数字的意思。  [root@localhost ~]# cat /proc/6873/stat  6873 (a.out) R 6723 6873 6723 34819 6873 8388608 77 0 0 0 41958 31 0 0 25 0 3 0 5882654 1409024 56 4294967295 1345126

2014-07-29 10:26:01 2169

转载 source insight的自动缩进 以及网上的一些使用技巧

让source insight的if(ddd)     {     }变成:if(ddd){}不过在{}中的第一行还是不能又自动缩进4个字符方法如下:options --> Document Options -->Auto IndentAuto Indent Type选择SimpleSmart Indent Options都选上

2014-07-22 17:56:45 832

原创 在北京的那三年——跳槽

在一家公司学到了该学的东西,在一家公司已经达到了进公司前的目的,在一家公司对自己已没有提升的空间,有了发展的舞台,没有了后顾之忧,为什么不迈向幸福生活?

2014-07-22 10:48:20 1730

转载 存储入门

第1章 网络存储主要技术      1.1 NAS简介            1.2 SAN简介      1.3 NAS、SAN和DAS的区别      1.4 SCSI访问控制原理介绍      1.5 NAS实现类型对比:统一式、网关式和横向扩展式(Scale-out)      1.6 SAN网络性能问题排错指南 (新) 第2

2014-07-10 10:34:43 790

转载 C++类静态成员与类静态成员函数

当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。    静态数据成员的用途之一是统计有多少个对象实际存在。    静态数据成员不能在类中初始化,实际上类定义只是在

2014-07-03 17:58:21 501

转载 教你透彻了解红黑树

推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008. 直接下载:http://www.cs.princeton.edu/~rs/talks/LLRB/RedBlack.pdf------------------------

2014-06-26 10:40:09 567

转载 红黑树的实现源码(第二次修订版)

我曾经写过两个两个红黑树的实现, 分别在:http://www.cppblog.com/converse/archive/2006/10/07/13413.htmlhttp://www.cppblog.com/converse/archive/2007/11/28/37430.html最近因为要给ccache加入红黑树的支持, 找出来曾经实现的代码作为参考, 这才发现原来的实现

2014-06-26 10:37:16 558

转载 linux下用/proc/stat文件来计算cpu的利用率-c语言实现

proc文件系统介绍    /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

2014-06-20 16:09:37 1110

原创 在北京的那三年——实习

实习 出差 重庆 加班 毕业 员工 辞职

2014-06-19 19:19:02 1024

原创 linux C语言获取系统内存信息

#include #include #include int MemInfo(char* Info, int len);int main(){  char buf[128];  memset(buf, 0, 128);  MemInfo(buf, 100);  printf("%s", buf);  return 0;}int MemInfo(cha

2014-06-11 14:27:57 6085 2

转载 TCP 的那些事儿(下)

这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资

2014-05-28 13:07:48 5109

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