04 2013 档案
摘要:引用 Emacs 手册的一句话: Emacs is the extensible, customizable, self-documenting real-time display editor. Emacs 是我每天必备的程序,他可以帮助我做很多程序,有人嫌 Emacs 做得太 大了,不符合 KI
阅读全文
摘要:1. 为了用得顺手,需要把Caps Lock键设为Ctrl。Caps Lock功能则设到右手的Context Menu键上或Win键上。可使用KeyTweak工具来帮助改键,不嫌麻烦的话也可直接改注册表。 2. M-x按得不顺手(位置太近反而不好按),可以用ESC-X来代替,或者在.emacs中加入
阅读全文
摘要:首先先明确下Emacs窗口的概念,我们双击Emacs图标打开程序见到的Windows窗口叫做Frame,包含了标题栏,菜单栏,工具栏,最下面的Mode Line和回显区域,而中间一大块显示文本的区域则是Window,实际上每个窗口都有自己的Mode Line。下文中我将称Frame为框,Window为窗口,这里和我们平时理解的Windows窗口有点区别。 在Emacs里面,一个框可以分割出多个窗口,多个窗口可以显示同一个或者不同Buffer,但是一个窗口只能属于一个Frame。一个窗口同时也只 能显示一个Buffer,但是同时打开两个窗口也能显示一个Buffer的不同部分,这两个窗口是同步的.
阅读全文
摘要:9 Useful Javascript Syntax Highlighting ScriptsJul 8th, 09 by Dicky | Javascript / ResourcesSyntax highlighting is very important especially when we want to show our code example on the blog. By enabling the syntax highlighting on the blog, readers can read the code blocks easier.There are a lot of
阅读全文
摘要:本次研究的是QQ2012 Beta1(4280) PC版的QQ。这个是在看前人研究的QQ2011版协议之上,自己对2012版协议的研究,QQ协议每个版本都有些或多或少的变化。2012版登录部分的 协议花了些时间,大部分都分析出来,只有些一小部分理不清具体是怎么回事,不过没啥影响,分析不出来的基本上是回应包。还有毕竟都是黑箱分析,难免会有些 错误。//作者:xuezhimeng//抓包时间 2012-04-14[NO.1 2012-04-14 14:53:42 185 SEND 87字节]02 2D 1F 00 91 7A F0 8D 1B 9E 6C 02 00 00 00 0101 01 0
阅读全文
摘要:linux下进程间通信的几种主要手段简介:管道(Pipe)及有名管道(named pipe):无名管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;信 号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了 支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了 实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了
阅读全文
摘要:一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。E、进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。Linux 进程间通信(IPC)
阅读全文
摘要:DBUG软件包Fred Fish's dbug library ---编程调试利器 转载注明出处--UnGeek http://www.cnblogs.com/UnGeek/archive/2013/04/14/3020617.html一. 介绍我们在代码中常常要嵌入调试代码比如常用...
阅读全文
摘要:请描述以下代码中的pchar(*(*p())[])(int, void (*)())#include <iostream>using namespace std;int main(){ char ( * (*p())[] )(int, void (*)()); p(); return 0;}char f1(int, void (*)()){ return 'a';}char f2(int, void (*)()){ return 'b';}typedef char (*funtype[])(int, void (*)()); char ( * (*p
阅读全文
摘要:问题描述给定一个字符串,求出其最长重复子串例如 abcdabcd最长重复子串是 abcd最长重复子串可以重叠例如abcdabcda这时最长重复子串是 abcda中间的 a 是被重叠的。直观的解法是,首先检测长度为 n - 1 的字符串情况,如果不存在重复则检测 n - 2, 一直递减下去,直到 1 。这种方法的时间复杂度是 O(N * N * N),其中包括三部分,长度纬度、根据长度检测的字符串数目、字符串检测。改进的方法是利用后缀数组后缀数组是一种数据结构,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两个字符串的开头公共部分。这样的时间复杂度为:生成后缀数组 O(N)排
阅读全文
摘要:1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序 B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是(B)A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量尽可能与主存容量相等D、在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素3、数据存储在磁盘上的排列方式会影响I/O服务的性能,一个圆环的磁道上有10个物理块,10个数据记录R1------R10存放在这个磁道上,记录的安排顺序如下表所示:物理块12345678910逻辑
阅读全文
摘要:CS 312 Lecture 25Splay TreesA splay tree is an efficient implementation of a balancedbinary search tree that takesadvantage of locality in the keys used in incoming lookup requests.For many applications, there is excellent key locality.A good example is anetwork router. A network router receives net
阅读全文
摘要:netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。下面是一些使用netcat的例子.[A(172.31.100.7) B(172.31.100.23)]Linux netcat 命令实例:1,端口扫描端口扫描经常被系统管理员和黑客用来发现在一些机器上开放的端口,帮助他们识别系统中的漏洞
阅读全文
摘要:1、常见数据结构线性:数组,链表,队列,堆栈,块状数组(数组+链表),hash表,双端队列,位图(bitmap)树:堆(大顶堆、小顶堆),trie树(字母树or字典树),后缀树,后缀树组,二叉排序/查找树,B+/B-,AVL树,Treap,红黑树,splay树,线段树,树状数组图:图其它:并查集2、常见算法(1) 基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯(2) 图算法:深度优先遍历与广度优先遍历, 最短路径,最小生成树,拓扑排序(3) 字符串算法:字符串查找,hash算法,KMP算法(4) 排序算法:冒泡,插入,选择,快排,归并排序,堆排序,桶排序(5) 动态规划:背包问题
阅读全文
摘要:开篇我先给出一个外国的splay tree的演示demo,跟着这个demo看下面的文章对你理解splay tree 有很大的帮助,并且里面有实现好的C语言版和java版 的splay tree(网站中输入节点个数会自动生成树,可以对其任意造作)网站衔接:http://www.link.cs.cmu.edu/cgi-bin/splay/splay-cgi.pl一、简介:伸展树,或者叫自适应查找树,是一种用于保存有序集合的简单高效的数据结构。伸展树实质上是一个二叉查找树。允许查找,插入,删除,删除最小,删除最大,分割,合并等许多操作,这些操作的时间复杂度为O(logN)。由于伸展树可以适应需求序列
阅读全文
摘要:/* For sockaddr_in */#include <netinet/in.h>/* For socket functions */#include <sys/socket.h>/* For gethostbyname */#include <netdb.h>#include <unistd.h>#include <string.h>#include <stdio.h>int main(int c, char **v){ const char query[] = "GET / HTTP/1.0\r\n&q
阅读全文
摘要:#include "stdafx.h"#include <stl_h.hpp>#include <CInitSocket.hpp>#include <winsock2.h>#include <ws2tcpip.h>#pragma comment(lib,"ws2_32.lib")CInitSocket init;using namespace std;int main(int argc, char **argv){ char *ptr,**pptr; struct hostent *hptr; char s
阅读全文