PHP 代码行 diff 实现

今天拿到一个很神奇的函数,可以把新旧代码行的差异显示出来,说神奇是因为他的实现很简洁 <?php //$old = 'h e l l o o o o o o o o / o o o o o 1 2 3 4'; //$new = 'h e l l o o o 0 0 ? o o o o o o o o o 1 A 3 4'; $old = 'hellllooo1234'; $new = 'helllO11OOoo1234'; function diff($old, $new){ ……

阅读全文

基于 AC 自动机的多模匹配的 map

昨天写了一个 AC 自动机的模版题,现在,我们需要基于这个模版,实现一个多模匹配的 map,具体是这样的,我们给一个 map<string, int>,然后给一个串,要求在这个串里面,把 map 中含有的 key 的 value 都返回出来。 注意到昨天的模版题的实现,是会去改动树本身的,同时也没有做一些内存管理方面的处理,另外的区……

阅读全文

libevent 库上手

先来看一个基于定时器的事件驱动 #include <stdio.h> #include <event.h> void onTime(int sock, short event, void* arg) { printf("hi there\n"); struct timeval tv; tv.tv_sec = 1; tv.tv_usec = 0; event_add((struct event*)arg, &tv); } int main(……

阅读全文

std unique 的实现

接触到 std 的 unique 这个函数,看了一下实现,自己也写了一下。在读默认的实现的时候发现代码真是的比较坑爹的,缩进啊,花括号啊,之类的,都是不按规范来的。 自己照着写了一个如下 #include <iostream> #include <vector> template<class It> It myUnique(It itBegin, It itEnd) { f……

阅读全文

一个简单的监控网页变化的方法

最近遇上一个小的实际需求:一个页面上有些许表格,我们需要监控这个页面,当表格的内容有变化的时候,及时通知我们。需求比较小,要求是用尽量简单的方式来实现。另外,这个页面是要求登陆态的。 想了想,大约没有什么现成的解决方案,那么打算自己写代码来实现。 自然的想起脚本语言来,首先尝试了 python,在 python ……

阅读全文

怎么样快速预览一个 SQL Server 的 bak 文件

今天拿到一个 sql server 的 bak 文件,然而文件比较大,有 7G 多,而我手边又没有现成的 SQL Server 可以导入,而且,我眼下的需求也只是快速的预览一下文件的内容,确定一下真实性和正确性而已,就算有 Server,导入估计也要花上好几个小时吧。 在这种背景下,开始寻找一种简单的方式,可以让我快速的预览一个 sql Ser……

阅读全文

c++ 模版类调用不同函数

我们都知道,c++ 用模版,可以根据不同的对象类型,生成不同的实际函数,但是,如果我想根据不同的条件,在一个模版类里面,调用不同的函数呢,能不能这样写 #include <iostream> using namespace std; void PrintA(int a) { cout<<a<<endl; } void PrintB(int b) { cout<……

阅读全文

gcc 编译选项顺序导致的找不到定义

在使用 gcc 或者 g++ 进行编译,并链接外部的库的时候,发现了一个问题,明明使用了 -L 参数对库文件指明了链接,但是依然出错,报找不到定义,后来问过小组的人,才知道 gcc 的编译选项也有讲究的,看到这里,http://blog.csdn.net/lonfee88/…: 对于C/C++编译而言,读取编译选项是按照从左到右的顺序执行的(注1)……

阅读全文

写一个日志模块

今天在写一个日志模块,遇到一些问题,学到了一些东西,记一下。 一开始想到,cpp 这么成熟的社区,日志这么基本的模块,应该现成的有很多吧,随便找一个来用就可以了,上网搜了一圈,发现真是一团混乱啊,看到这里,http://blog.csdn.net/junchaox/… 待选为 glog、log4cplus、log4cpp、log4cxx 目前准备使用glog,……

阅读全文