摘要: 用了近2年的emacs,没想到进了公司基本就没有机会摸了。。全都是裸环境,一次两次还好。。转投vi的阵营也不只是单纯的环境原因吧,感觉vi的操作更快一些,坚持用一些命令时间长了会很大的提高效率。3.27 更新新学的几个地方,ctags还在摸索中·0·零 浏览代码 拿到开源代码或者类似遗留代码的时候,阅读是必不可少的工作,通常我喜欢先整体的浏览下代码,长度,格式,是否符合个人的审美观点,再开始学习。所以常用的第一个命令就是打开文本浏览器 :{} 还是多年的windows下的习惯,在着色而且随意可以里面查看代码还是很爽的,一口气把文件夹里面的代码文件开光,从main看起,猜到名 阅读全文
posted @ 2012-03-23 18:22 阿毛小猪 阅读(6839) 评论(9) 推荐(5) 编辑
摘要: MS的BUG,在http://support.microsoft.com/default.aspx?scid=kb;EN-US;958842介绍了详细原因,主要是驱动是在这个型号的CPU出来之前写的,导致了问题。相应补丁的下载:http://archive.msdn.microsoft.com/KB958842/Release/ProjectReleases.aspx?ReleaseId=2270 阅读全文
posted @ 2012-03-12 10:27 阿毛小猪 阅读(1596) 评论(0) 推荐(0) 编辑
摘要: 找了半天,原来不需要别的方法,还是用replace-string就可以了1. M+ @ 标记起始位置2.M + w 标记结束位置M + x replace-string先输入需要替换的,再输入替换内容就可以了。tip: 觉得replace-string太慢的而又没自己定义过于这个冲突的模式可以参考O:r*string怎么样,是不是速度快很多 阅读全文
posted @ 2012-03-07 16:42 阿毛小猪 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 争取把自己的一点一滴记下来-1. 跨平台开发1) 头文件包含通过define开关包含不同的库,定义函数类型#ifndef WIN32#include "socket_posix.h"#else /* WIN32 */#include "socket_win32.h"#endif /* !WIN32 */结尾应该注明if适用情况。2) 替换函数#undef errno#define errno WSAGetLastError()#define read(fd, buf, size) recv(fd, buf, size, 0)2. 常用宏今天看到非常漂亮的 阅读全文
posted @ 2012-03-05 17:01 阿毛小猪 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 以后关于性能分析找到的资料放在这里备REF 性能分析工具汇总比较重要的是:1、CPU性能调整 当一个系统的CPU空闲时间或者等待时间小于5%时,我们就可以认为系统的CPU资源耗尽,我们应该对CPU进行性能调整。2、内存性能调整当一个应用系统的内存资源出现下面的情况时,我们认为需要进行Memory性能调整:页面频繁换进换出;缺少非活动页。例如在使用vmstat命令时发现,memory的cache使用率非常低,而swap的si或者so则有比较高的数据值时,应该警惕内存的性能问题。3、I/O性能调整系统出现以下情况时,我们认为该系统存在I/O性能问题:系统等待I/O的时间超过50%;一个设备的平均队 阅读全文
posted @ 2012-03-02 11:47 阿毛小猪 阅读(384) 评论(0) 推荐(0) 编辑
摘要: REF : http://geosoft.no/development/cppstyle.html个人意译-大家可以随时拍砖讨论心得!^)24、29 、53、 57 求助 `~`1 介绍 这份文档罗列了C++ 开发社区中基本相同的编程指导。 指导是基于大量的代码、个人经验、实际需求及其他资料中的建议[1] - [4] 使用一份新的指导而不是引用这些资料中主要的原因就是这些这些指导过于宽泛,我们需要更加具体的规则(尤其是命名方面)。同样,整个指导把规则增加了注释,使得在代码审计中要比之前的规则指导易于使用。值得一提的是,编程指导中包含着许许多多方面,这份文档集中在代码规则上,其他可以参考 ... 阅读全文
posted @ 2012-02-29 14:25 阿毛小猪 阅读(4704) 评论(1) 推荐(2) 编辑
摘要: 网上代码只见了http://sourceforge.net/projects/sqlxsswaf/?source=directory开始read!一: 主函数流程很清晰,1. 整个WAF主函数体为死循环,在while(1)的代码段中,当代码处理完毕当前日志内容后,睡眠10ms,继续从get_pos处向后处理新内容。2. 第二个while处理日志,当找到get或post为开头的日志内容后,对客户端发送来的命令进行检测,直到文档结尾。然后到达1中while循环的末尾#define tailer "/var/log/apache2/access.log"#define finde 阅读全文
posted @ 2012-02-27 14:08 阿毛小猪 阅读(2487) 评论(0) 推荐(1) 编辑
摘要: #include <stdio.h>void main() { FILE *file = popen("/usr/bin/mail -s 'Hello,world' root@localhost","w"); fprintf(file,"Nice to meet you !\n"); pclose(file);}在监控系统里面,发现异常需要邮件报告时,可以使用popen的"w"方式写入邮件 阅读全文
posted @ 2012-02-25 11:40 阿毛小猪 阅读(2044) 评论(0) 推荐(0) 编辑
摘要: 集线器:处理电信号,向所有端口转发信号。 不含CPU、内存等交换机:识别MAC地址,区分端口转发 包含CPU、内存等路由器:识别MAC、IP 发送数据时替换源MAC为自己的MAC 接受数据时,把源MAC替换为自己的mac,把目标mac替换为IP指向的MAC发送网外的数据都默认发给网关,也就是路由器的IP地址路由协议:RIP OSPF EIGRPRIP 易于安装、兼容性好,主动发送信息 更新频繁、无认证机制、收敛时间长、根据跳数选择OSPF 认证、收敛时间短、兼容性强 安装设置复杂、需求大内存EIGRP 易于安装、灵活选择目标路由、认证、收敛时间短 思科专用、需求大内存即:纯... 阅读全文
posted @ 2012-02-24 14:23 阿毛小猪 阅读(297) 评论(0) 推荐(0) 编辑
摘要: PS: 毕业设计的题目定了,开工了。想起同事的微博,要把勤奋的小人复活!对于监控系统,替换必要的函数为自己使用是很重要的,用到简单的替换ssdt表中的跳转地址就可以实现1. 首先要创建好自己的fake函数,例如监控阻止某进程创建子进程或可以使用空指针替换ZwCreateProcessNTSTATUS FakedZwCreateProcess { if !needblock(进程名) return RealZwCreateProcess else return STATUS_SUCCESS 2找到替换函数的dll的地址网上这个函数很多了~大概就是2 保存旧函数入口地址函数地址中第... 阅读全文
posted @ 2012-02-24 11:33 阿毛小猪 阅读(1042) 评论(0) 推荐(0) 编辑