发布时间:2012-12-31 21:36:41
今天下午,一个偶然的时间,一个都没有联系过的客户,突然拿了一年的数据来给我,要我把其中的数据统计出来。 哇,乖乖,一年的数据,每天几十个文件,总量就是 365×46=16790,不错,是个挑战。 当我辛辛苦苦地开始调试脚本时,老兄又跑过来,说只要某个文件的某个字段,就好了。呵呵,好吧,工作量小了,不过开始的工作也算是白费了。 于是开始重新清理思路。 技术路线,依然是Shell。因为工作环境没有安装Python,直接排除;用C、Java写个,一来开发量太大,二来运行效率也很低(当然我没有测试过,直觉来着)。而Shell有着awk、sed等非常便于进行文字处理和统计的功能。 系统......【阅读全文】
发布时间:2012-12-31 21:34:43
等待队列(wait queue)用于使进程带等待某一特定的事件发生,而无需频繁的轮询操作,进程在等待时间内睡眠,在等待的事件发生时由内核自动唤醒。 一、 等待队列相关数据结构 每一个等待队列都由两部分组成:等待队列头(struct wait_queue_head_t)和等待队列成员(struct wait_queue)。 struct __wait_queue_head { spinlock_t lock; /*因为等待......【阅读全文】
发布时间:2012-12-31 21:34:15
如果我们的SQL采用了ROWNUM=1的查询方法,而且系统的CURSOR_SHARING设置了SIMILAR,那么我们很有可能遇到Bug 4513695。ORACLE并不承认这是个BUG,以下是ORACLE给出的解释: This is not really a bug as CURSOR_SHARING=SIMILAR does not give the optimizer all of the same information that EXACT would give it. However, it looks ......【阅读全文】
发布时间:2012-12-28 19:04:02
repo的用法(zz)注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载repowget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo > ~/bin/repo 下载完成后须修改repo的权限: chmod......【阅读全文】
发布时间:2012-12-28 19:03:51
vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky n 为数字,若 n 为 .,表示从当前行开始到最后......【阅读全文】