自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 一句话总结-vim中php/html缩进处理

set ft=html & set ft=php

2012-02-22 12:00:15 177

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关注的人

提示
确定要删除当前文章?
取消 删除