- 博客(13)
- 资源 (11)
- 收藏
- 关注
原创 cache.config配置文件解读
这个是cdn配置缓存策略的文件,可以改变指定对象或是对象集的缓存参数cacheing paremeters配置文件格式解读每行由若干键值对组成,键值对形如=每行必须包含一个主目标指示符primary destination specifiers,下列之一dest_domain=dest_host=dest_ip=url_regex=每行可以包含任意个数的不得重复的次
2015-06-28 10:00:38 6117
原创 在ATS插件中使用互斥锁
有时候因为业务需要,对某些非线程函数,比如mktime,需要使用互斥锁,可以参照example/blacklist-1或者channel_stats里面的用法首先插件顶部声明static TSMutex sites_mutex;在TSPluginInit()中初始化sites_mutex = TSMutexCreate();在需要使用的地方,加锁和解锁TSMutexLock
2015-06-27 11:11:58 1111
原创 多线程中使用mktime和setenv函数
在编写ATS插件的过程中,发现使用mktime会偶尔出现段错误, 经过网上调研,发现mktime等函数不是线程安全的, 于是编写下面的代码进行测试.注意加锁和不加锁区别很大, 在mktime中使用多线程, 加上互斥锁就没有问题.//gcc -g mktime_multithread.c -o mktime_multithread -lpthread -std=c99//#include
2015-06-27 10:54:50 2275
原创 如何从ATS获取客户端平均响应时间(单位,毫秒)?
需求运维组在zabbix中需要获取缓存节点中每台ats上的客户端平均响应时间这个指标,来向用户展示我们缓存服务的QoS指标,如何实现呢?思路需要理顺traffic_top.cc的源码实现细节:首先命令行运行tstop从下图中看到我们需要得到的指标是Resp(ms)这个参数,它是如何实现的呢?要了解这个参数的实现方法,我们只能去看ts_top的源码,以AT
2015-06-27 07:57:49 1797
原创 python多线程下的信号处理程序示例
下面是一个网上转载的实现思路,经过验证,发现是可行的,就记录下来。思路python多线程中要响应Ctrl+C的信号以杀死整个进程,需要:1.把所有子线程设为Daemon;2.使用isAlive()函数判断所有子线程是否完成,而不是在主线程中用join()函数等待完成;3.写一个响应Ctrl+C信号的函数,修改全局变量,使得各子线程能够检测到,并正常退出。源码
2015-06-27 07:25:43 4977
原创 为ThinkPad T420增加一根4G内存
我的爱机是一台ThinkPad T420,原装三星DDR 1333 4G内存一根,还剩一根内存位置,最近趁京东6.18促销,准备增加一根物理内存。为了确保兼容性,觉得仍然选购DDR 1333 4G内存,于是购买了金士顿这款,比如DDR3 1600的还贵。这个安装过程完全参照该内存的网页提示进行这里简单记录一下,以备日后参考。打开T420内存后盖,做工真是赞,固定螺丝是固
2015-06-22 16:11:08 20772
原创 在Ubuntu 14.04 64bit上生成ATS本地离线文档
下面是在Ubuntu 14.04 64bit上生成ats本地离线文档的方法首先请安装配置好sphinx环境,参见我前面的博文http://blog.csdn.net/tao_627/article/details/45500215安装命令如下sudo pip install sphinx进入ATS源码顶层目录下面,运行./configure目的就是生成doc目录下面
2015-06-19 13:18:57 734
原创 在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)
缘起现在很多小伙伴儿都从Ubuntu转到Deepin下面去了, Deepin这几年出了一些很不错的软件,比如深度截图, 深度影音, 深度音乐等等, Deepin基于Ubuntu开发, 它的软件大量使用QT4/5开发, 这也是我折腾QT的原因.说明在Ubuntu 14.04上python 2.7和python 3.4是可以共存的,它们的调用方法是python 会调用 python
2015-06-17 08:51:04 10391 1
原创 在Ubuntu 14.04 64bit上查看硬件配置信息
陪伴我多年的老本ThinkPad T420渐渐垂垂老矣, 我想更新一下可以更新的部分, 比如将2.5寸HDD更换为SSD, 将单条4G内存再增加一根, 凡此种种想法, 可能最后归结为如何获取该笔记本的硬件配置信息, 在windows下面使用鲁大师之类的检测软件, 也许很好搞定,但是在Ubuntu 14.04平台上如果办到呢?很简单, 只需要一个简单的命令就可以了.在终端运行sudo lsh
2015-06-16 23:24:53 10819
原创 在Ubuntu 14.04 64bit上使用pycURL模块示例
PycURL 传说是实现Python下多线程网页抓取的效率最高的解决方案,本质是对libcurl C语言库的封装。在Linux上有个常用的命令 curl(非常好用),支持curl的就是大名鼎鼎的libcurl库;libcurl是功能强大的,而且是非常高效的函数库。libcurl除了提供本身的C API之外,还有多达40种编程语言的Binding,这里介绍的PycURL就是libcurl的Pyt
2015-06-15 07:58:40 1364
原创 在Ubuntu 14.04 64bit上安装python-pyqt5软件包(python 2.7)
一、摘要python-pyqt5 软件包是做什么的,我在Ubuntu 14.04 64bit上该如何安装呢?pyqt5 python的GUI开发包。也就是跨平台的图形化开发包http://www.riverbankcomputing.com/software/pyqt/download5下载安装即可。安装的过程很漫长,繁杂,特将踩坑过程记录出来。另外,这可能是目前为止网上最好的一篇
2015-06-15 07:01:10 14583 8
原创 《ActionScript 3.0权威指南》阅读笔记
第二章 配置开发环境目前,主流的ActionScript 3.0开发环境分为Flash和Flex两大类。前者是设计和开发一体的集成环境,后者是严肃的脚本开发平台,更符合程序猿的析构。开发者应根据自己的习惯和项目的需要,灵活选择。Flash cS3建议选择英文版,它也支持中文注释和输入。英文官方文档较为准确,更新也很及时。代码的书写和编辑是在代码编辑器中进行的,使用F9快速打开或隐藏。
2015-06-09 15:51:37 3201
原创 在Win 8.1上安装配置FlashDevelop5.0.0
FlashDevelop只是一个代码编辑器,而不是完整的IDE,在安装FlashDevelop同时,还应该安装Flex SDK和Flash Player Debug版本。之所以要研究这个,主要是工作上需要研究目前网页中as3编写的视频播放器是如何实现的rtmfp和hls功能。简而言之,为了研究视频播放器,我需要结合一些开源项目来了解swf文件是如何开发和实现的。另外一个原因是,目前网上的资料都非常
2015-06-01 18:02:17 1784
ats缓存对象过期不回源校验的处理日志.log
2018-12-12
python实现的dht爬虫
2014-07-26
Ubuntu 14.04上wps安装所需的字体库deb包
2014-04-20
Cumulus官网视频会议样例代码
2014-02-06
crtmpserver用到的JWPlayer最新版代码!
2014-02-06
crtmpserver中用到的jwplayer插件
2014-02-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人