自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 gitolite项目管理

最近搭了一个git服务器,用的是gitolite,项目管理有点麻烦首先要切换到git用户 su git然后clone项目配置工程git clone $HOME/repositories/gitolite-admin.git temp2里面有两个目录conf和keydirconf里的gitolite.conf用来管理项目,添加项目和管理人员权限在这里修改keydir是公钥,需

2016-04-15 16:10:44 338

转载 正则表达式

3.2 非打印字符字符 含义\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。3.3 特殊字符   所谓特殊字符,就是一些有特殊含义的字符,需要对特殊进行转义,即在其前

2016-02-23 08:34:27 316

转载 一些stock有用的api

Sing widget provider some stock api include index/search/detail/global index. detail as follow:http://data.3g.sina.com.cn/oem/dynamic.php?wm=b012&wm=b015&ch=stock_power_gn(hk/us)http://data.3g.sin

2015-02-28 15:14:00 936

原创 Doubango代码学习(六):timer

一个系统肯定少不了timer,在doubango中关于timer的声明(实现)是在tsk_timer.h(c)中。总结一下timer的用法:1,调用tsk_timer_mgr_global_ref获取timer mgr的引用。注意当使用完时一定要tsk_timer_mgr_global_unref,避免内存泄露。2,调用tsk_timer_mgr_global_start来启动time

2015-01-19 15:29:31 804

原创 Doubango代码学习(五):runnable

代码在tsk_runnable.h(c)中。有一个tsk_runnable_t的结构体,如下:typedef struct tsk_runnable_s{    TSK_DECLARE_OBJECT;        const tsk_object_def_t *objdef;        tsk_thread_handle_t* h_thread[1];  

2015-01-19 14:03:02 753

原创 Doubango代码学习(四):ragel state和message parser

使用SIP不可避免遇到SIP的解析。 Doubango使用了Ragel来解析的,效率当然是高,但是代码实在是晦涩难懂。我曾经看了tsip_message_parser_execute一整天的时间,单步跟踪一步一步的看了好几遍都没有看出是怎么回事。一般遇到这种怎么也看不懂的情况,可以肯定的是你走错了路,走到了死胡同。事实却是如此,这个代码是机器生产的。由于个人专业知识的贫瘠,从来没有听说过Rag

2015-01-19 11:32:53 1069

原创 Doubango代码学习(三):fsm

状态机是事务处理中必不可少,在tsk_fsm.h/c里就实现了状态机机制,而且在各个协议层都会用到大量的状态机。只有学好了状态机,才能真正了解Doubango的运行机制,才能对Doubango修改和定制。要定义一个状态机,首先需要有状态(state),还有事件(action),还有对事件的处理(exec)。下面是状态机的结构:typedef struct tsk_fsm_s{

2015-01-16 16:56:44 996

原创 Doubango代码学习(二):well-defined objects

虽然搞IT10年中的前5年都是C/C++开发,刚开始看Doubango源码时还是让我郁闷不已,不过还好,渐渐适应了。刚开始最让我头疼的就是well-defined objects由于Doubango是用纯C开发的,没有面向对象功能,就加上了这么一个东西。当然这套机制还是很不错的,毕竟纯C搞大型项目还是需要有些技巧的。well-defined objects是用来模拟面向对象功能的,其中主要

2015-01-15 19:24:02 1161

原创 Doubango代码学习(一):开始篇

学习原因:最近公司动荡,有一种深深的危机感,需要储备点自己的知识了。由于目前笔者所做的是RCS/IMS,代码都是公司自己私有的,还是学习点开源的比较好。查了一下开源的方案,RCS开源客户端特别的少,试用了一下功能不是很好。里面相对Doubango靠谱的多,但它是一个IMS的开源方案,距离RCS5.1还有一段路要走。因此就有了学习并开发doubango到RCS5.1想法。虽然任务艰巨,但

2015-01-15 16:48:39 2116 1

转载 linux用grep查找内容

grep -rn "hello" ././ : 表示路径为当前目录.-r 是递归查找-n 是显示行号

2014-01-28 14:52:11 358

原创 批量修改文件时间

touch命令可以更改文件时间。但只能对于单个文件修改,无法修改目录下所有嵌套。因此必须先find出来,然后再touch。命令为$ find ./ -exec touch {} \;

2013-12-11 14:13:22 712 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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