- 博客(37)
- 收藏
- 关注
原创 使用d3画中国地图
参考的是以下两篇文章:Let’s Make a Map和Interactive Map with d3.jsGEO data下载在natural earth网站,不过我用的抽取数据的命令是:ogr2ogr -f GeoJSON -where "ADM0_A3 = 'CHN'" cn_cities.json ne_10m_populated_places.shpogr2ogr -...
2014-03-06 21:18:58
698
AspectC++的应用
最近需要研究一个开源软件中协议的流程与实现,由于协议比较复杂,程序层次架构设计耦合严重,用wireshark抓包分析+log或者gdb跟踪代码效率都不高.想到之前java项目用过一种切面编程,可以在函数开始或结束等地方自动添加代码,而且有比较灵活的控制方式.当时注意到CPP也有这种编程的实现,于是琢磨着用到此项目中来.项目主页:http://www.aspectc.org/直接下编译链接...
2013-01-31 11:06:47
492
一次udp包错误的分析经历
前一段学了个命令netstat -su,拿着没事乱看服务器udp包的统计数据,发现某几台server的udp包错误率相当高,于是开始了这次分析之旅.一般的netstat -su显示出来的* packets receive error,都是因为某个程序无法或无力完全处理udp包,导致系统udp buffer满了,然后内核开始丢弃数据包. 当然也有可能是系统的buffer size设的过小.可以...
2013-01-22 20:00:07
748
从dmesg里分析core原因
服务器上由于怕软件bug以及磁盘的限制,一般会将core文件关掉.ulimit -a查看当前core file size设置.这样程序有bug崩溃以后,只能通过dmesg查看有限信息.典型信息如下:collector[1847]: segfault at 000000000000000c rip 000000000040308a rsp 0000007fbffff820 error ...
2013-01-21 12:41:20
435
原创 tips
2013-01-18 git:只显示修改的文件: git ls-files -m bash:Ctrl-W to kill the last word, and Ctrl-U to kill the line vim:vim替换时使用换行,输入CTRL-V <CR>来得到这里的 ^M(<CR>即回车键) 系统:strace -ttt -p ...
2013-01-18 18:09:08
115
原创 关于std map的插入和删除
关于代码里map的删除,有一点困惑:在删除前用iterator保存位置,对map进行插入或删除后,iterator是否有效.看完标准后释然,直接上标准:23.1.2.8:The insert members shall not affect the validity of iterators and references to the container, and the erase ...
2013-01-17 11:41:44
266
C/CPP的fastcgi程序-memleak
原生的用lighttpd起的程序不好检查memory leak.使用spawn-fcgi调起用valgrind起的fastcgi程序即可.spawn-fcgi -n -a 127.0.0.1 -p 9000 -- /usr/bin/valgrind --leak-check=full --log-file=/tmp/valgrind.log /path/to/progspawn-fcg...
2012-05-30 09:52:49
226
scribed 安装
最近做日志分流,早闻scribed大名,正好安装尝试一下.据说源码很简单,安装很麻烦.公司yum源里其实有打好包的scribe,可惜是centos5的,苦逼的未升级的历史遗留centos4只能蛋疼的从源码安装.刚开始借鉴的这篇:http://dongxicheng.org/search-engine/scribe-installation/后来发现这篇更简洁:http://ag...
2012-05-08 12:29:29
246
原创 centos screen没有滚动条
转自http://blog.chinaunix.net/uid-20554140-id-3144488.html在/etc/screenrc里加入:termcapinfo xterm|xterms|xs ti@:te=\E[2J即可.若滚动条不起作用,自动弹回,将profile里的scrolling项中的scroll on output去掉~...
2012-03-23 15:57:16
1639
secureCRT里screen中文乱码解决方案
google之,网上就一个解决方法:改~/.screenrc.还得重启所有screen进程.结果detach以后再reattach,设置失效.继续搜之,无解.只好自己重新折腾.最后简单解决:不用改~/.screenrc(改应该也可以,都设置为utf-8),直接用screen -rU reattach即可.若screen -rU 进去后无效,则ctrl+a, :defenco...
2012-02-16 16:34:12
323
原创 一句话总结-Git服务器Gitosis架设
安装完gitosis以后要记得修改post-update权限sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
2011-12-29 13:30:39
227
总结总结~
总结:1. 重构:类中某个方法,纠结于多个出口与do{}while()+ret_code+break的方式,多个出口 - 行数稍少,但是return太多太刺眼,do{}while - 行数太多.纠结良久,拆分原函数变为5行,另两个函数一个变为8行,一个变为20行;还是易读性最重要,当纠结的时候,拆分逻辑吧.槑.2. autoconfigure,automake:纠结于link: too f...
2011-11-28 19:39:16
153
spawn-fcgi配置C的fastcgi程序
网上一般会说有了spawn-fcgi以后,不需要lighttpd,那应该是针对PHP.针对C写的fastcgi程序,应该还是需要lighttpd来转一下的.直接访问的话,得到的是空白页.猜测lighttpd调用c的fastcgi程序时候,传递了一些特殊的参数.spawn c-fcgi process的scriptspawn.sh:spawn-fcgi -n -a 127.0.0...
2011-10-19 12:15:16
256
原创 centOS下lighttpd&(g)vim编译安装
类似于XXX package where not found, install them or build with --without-XXX或XXX-headers and/or libs where not found, install them or build with --without-XXX用yum -y install XXX-devel.devel应该为de...
2011-10-12 14:15:30
136
redis 事件处理机制及其它
关于redis的事件处理机制,网上有很详细的源码解析了,基于2.0.4的,URL如下:redis源代码分析8–事件处理(上)redis源代码分析8–事件处理(中)redis源代码分析8–事件处理(下)小总结:初始化:在redis.c中initServer调用aeCreateEventLoop,并建立了现有唯一的一个time event:serverCron....
2011-08-19 17:28:01
163
Redis 存储结构分析,及哈希相关
Redis 是支持多key-value数据库(表)的,并用RedisDb来表示一个key-value数据库(表). redisServer中有一个redisDb *db;成员变量,RedisServer在初始化时,会根据配置文件的db数量来创建一个redisDb数组. 客户端在连...
2011-08-18 15:29:53
142
Redis string的小笔记
数据结构定义:struct sdshdr { long len; long free; char buf[];};1) buf是一个变长数组,指向真正的字符串,非指针*;2) len存储字符串总长度,保证o(1)的长度获取操作;3) free存储空闲字符长度.简短精悍.新建一个字符串:sds sdsnewlen(const vo...
2011-08-17 17:17:21
132
原创 Some tips from the architeture of StackOverflow(cont. 1)
Software:1)HAProxy(load balancer)HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particular...
2011-08-03 10:46:59
177
android开发随记 - Google Map
[size=medium]1. Google Map开发教程: http://marakana.com/forums/android/examples/311.html2. 开发环境Eclipse + ADT, 需要首先下Android SDK并按需求更新. 一般的选择性的会只下Android的package, 要用Google Map, 需要下Third party Add-ons中的Goo...
2011-06-22 15:21:22
148
原创 拷贝构造函数的相互调用?
G++ error:Error: declaration of xxx shadows parameterExplanation:http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.3[10.3] Can one constructor of a class call another constructor of ...
2011-05-18 18:01:24
193
原创 Some tips from the architeture of StackOverflow
Definition(from Scaling up vs. Scaling out):scaling up -- a seriously big iron single server. scaled out -- Hadoop or MapReduce style, across lots and lots of inexpensive servers.Other factors...
2011-03-29 17:12:26
129
原创 DTrace相关
最近在看DTrace,记录下点滴:文档推荐:1.入门:DTrace Quick Start Guide: Observing Native and Web Applications in Production (PDF)2.循序渐进:Learning DTrace Series * Part 1: Introduction (pdf) * * Part 2...
2011-02-17 11:01:17
159
原创 macro __stringify & __attribute__
这两天听一个老外讲师讲Linux Compile和Debug的Training,看到一些有意思的东西,找了点资料,写出来.算是第一篇有点意义的文章.这两个宏以前都没见过,据说都是内核里常用的东东,厄,确实接触得少.首先是__stringify宏:g了一下,找到一篇文章,以下内容都是转载,仅经过验证和整理,粘出内容:宏定义:在 linux/stringify.h中[code=...
2010-12-09 17:29:35
192
原创 要重新开始了
好久没有更新blog了,以前都是摘录别人的文章,以后要多写写自己的感受了,最近开始认真学习,重新开始罗,给自己鼓鼓气,A ZA A ZA FIGHTING...
2005-11-08 15:27:00
1123
原创 javascript与PHP结合的一些学习心得
又是一天过去了,今天出奇的没有太困,的确做东西不让人发困,正如打星际能连续打N久也毫无倦意一样.今天有什么收获呢?感觉很少,没有那么充实,不知道为什么,总有点空虚的感觉,本来今天想好好看看eclipse的,随便玩玩又忘了,晚上是既定的星际时间,练追尾和空投又没着落,怀恋学校战网的时光:P今天改了一会程序代码,修正了以前程序的一个bug,理清了一下程序脉络,感觉还是很不错的,我这个人总是容易满足,而
2005-07-28 22:48:00
1709
原创 一点感想
看了VTiger这个东东也有几天了(-_-!),由于只需要对软件的部分功能做改进,因此重点针对一个模块进行了阅读,稍微看了一下其它模块,程序的组织结构应该是大同小异的.做网页相关的东东也不久,呵呵,但是感觉VTiger对网页的转向的处理是比较特殊的,它的所有的页面的转向都是像index.php提交参数,再转向相应模块的.如下所示:Index.php-------------------------
2005-07-27 22:08:00
1274
原创 今天的实习结束喽
今天的实习又结束了...六点过一点走人...又是一天的打瞌睡和看代码,头大啊..不过还是学到蛮多的网页编码确实与应用编程有大的区别,可能更加侧重代码的可重用性,毕竟看着那一堆html和script语句就有点头大以后还是好好学学PHP吧,该开始学点东西了,暑假又过去了一半了....O_O
2005-07-25 18:05:00
1263
原创 跟我一起写 Makefile(转载)
作者Blog:http://blog.csdn.net/haoel/ 陈皓 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在
2005-05-17 14:33:00
1500
转载 TCPDUMP中文手册
名称 (NAME) tcpdump - 转储网络上的数据流 总览 (SYNOPSIS) tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ expression ] 描述 (DESCRIPTION) Tcp
2005-05-17 14:25:00
1330
原创 一次重组程序的经历
整整费了N久功夫,终于重组好了毕设程序的构架,头晕晕的,简单叙述一下改写的经过,分享一下自己的感受,顺便自勉也整理一下思路O_O系统环境:RedHat 9.0开发语言:C编译器:gcc
2005-05-16 23:07:00
1764
原创 一些人生态度,以此自勉:)
1.人生是不公平的,习惯接受吧。但如果你打算习惯一辈子,那人生是公平的。2.这个世界并不在乎你的自尊,只在乎你做出来的成绩。有了成绩再去强调你的感受。3.你不会一离开学校就有百万年薪、你不会马上就是拥有公司配属车位的副总裁,二者都必须靠努力赚来。4.如果你觉得你的老板很凶,等你做了老板就知道,老板是没有工作任期保障的。5.在速食店打工并不可耻,你的祖父母对煎汉堡有不同的看法,那没关系。重要的是你对
2005-04-27 20:47:00
1436
转载 GDB调试器使用详解(二)
查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令: backtrace bt 打印当前的函数调用栈的所有信息。如: (gdb)
2005-04-25 11:32:00
1478
转载 GDB调试器使用详解(一)
来自http://www.loveunix.net/bbs/index.php?showtopic=28564------------------haoel(原作)QQ:753640MSN:haoel@hotmail.com转自CSDN---------------------------------(一)---------------------------------------【GDB概述】
2005-04-25 11:28:00
2063
原创 关于C编译器里字节对齐的问题
是看了CSDN上一篇文章,很有感想,把问题总结了一下,找了一些资料,把知识点结合了一下,算一个资源的集合吧.声明:只是为了方便个人学习用:)首先是来自http://blog.csdn.net/wenddy112/articles/300583.aspx>上的一个问题:对于下面的结构体struct test{ char x1; short x2; float x3;
2005-04-20 21:35:00
3240
原创 C/C++内存区分配
从网上找的,看到讲得实在是很详细,就没有改多少:)稍微改动组织了一下,并补充了一些内容,希望逻辑更清楚一点吧以后如果遇到多重函数调用方面问题再加到后面吧,呵呵转自:http://biwier.yculblog.com/post.484282.htmlC/C++内存区分配亦无 @ 2005-01-20 17:36一.在c中分为这几个存储区1.栈 - 有编译器自动分配释放2.堆 - 一般由程序员分配释
2005-04-16 23:15:00
3802
原创 rpm的基本用法
rpm命令的一些常用的参数:1.安装一个包# rpm -ivh安装参数:--force 即使覆盖属于其它包的文件也强迫安装--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。-h (or --hash) 安装时输出hash记号 ("#)--test 只对安装进行测试,并不实际安装。--percent 以百分比的形式输出安装的进度。--excludedocs
2005-04-14 11:32:00
3188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人