14 天涯角落

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

NGINX原子操作

nginx实现了一个跨平台的原子操作接口。它分别实现了LIBATOMIC,DARWIN_ATOMIC,GCC_ATOMIC等原子操作。LIBATOMIC是一套平台无关原子操作库。DARWIN_ATOMIC苹果平台原子操作库。GCC_ATOMIC GCC内置的原子操作接口。如果实现了上述任意一种原子操作接口,则定义:#define NGX_HAVE_ATOMIC_

2012-03-23 18:15:07

CURL多线程处理需要注意问题

最近用到CURL,在开启多个线程同时下载,并且又设置了timeout的时候,程序随机报如下段错误。(gdb) bt#0  0x00002ac0a97a2ec2 in ?? () from /usr/lib64/libcurl.so.3#1  0x00002ac0a97a37dd in ?? () from /usr/lib64/libcurl.so.3#2  0x00002ac0a

2012-03-18 10:53:15

nginx HTTP发送数据过程

1. epoll write事件, 执行写数据处理。2. wev->handler回调函数进入:3. 执行写数据回调函数4. 进入写数据回调函数体内5. 真正发送数据的函数

2012-03-07 12:04:03

nginx事件处理过程

1. 首先设置断点:ngx_epoll_process_events at src/event/modules/ngx_epoll_module.c:5752. 请求http://ip3. nginx接收的客户端的请求,进行accept事件处理,调用堆栈如下图。4. accept处理完毕后,进行http的请求处理,如下图:5. 上一步处理完毕后,执行到如

2012-03-06 10:22:06

nginx配置文件解析

以启动过程中设置worker_processes的值为例,分析nginx加载配置的过程,代码版本1.1.15。1. 首先创建所有模块配置的上下文,代码调用栈如下:ngx_init_cycle (old_cycle=0xbffff5b0) at src/core/ngx_cycle.c:223调用对应模块的create_conf指针函数创建默认的配置项。由于worker_proc

2012-03-05 18:50:34

OMA DRM代理安全性思考

在思考这个问题之前,我们先考虑一下DRM代理的功能是什么?两点:1. 保护数据的安全。2. 执行保护数据安全的算法和流程。这两点可以看出,DRM代理实际是版权管理的规则实现者和执行者,任何想破解数字版权的黑客都要获得DRM的控制权。        怎奈DRM代理运行的环境土壤是不安全的,这给黑客提供了很多的便利。所以要保护DRM代理的安全性,应该从如下几个方面来考虑:

2012-03-01 09:46:47

PKI体系及常见证书

http://blog.chinaunix.net/space.php?uid=23637692&do=blog&id=30579881.PKI体系 1.1 PKI(Public Key Infrastructure,公钥基础架构)PKI是一套以公钥技术为基础、提供安全服务的架构, 由认证机构(CA), 数字证书库, 密钥备份和恢复, 证书作废系统, 应用接口等组成。CA是PK

2012-02-21 17:38:03

一致性哈希算法(Consistent Hashing)

应用场景这里我先描述一个极其简单的业务场景:用4台Cache服务器缓存所有Object。那么我将如何把一个Object映射至对应的Cache服务器呢?最简单的方法设置缓存规则:object.hashCode() % 4。Cache 0:object.hashCode() % 4 == 0Cache 1:object.hashCode() % 4

2012-02-19 21:02:54

ROAP协议流程

ROAP协议基于PKI的,流程如下:1.客户端和版权发行者采用ROAP协议进行相互验证,双方都获得了对方的公钥数字证书。2.版权发行者发送版权对象(RO)之前,做如下处理:  采用客户端的公钥对关键数据进行加密;  采用HASH算法,对报文完整性进行鉴别;  采用自己的私钥对报文进行签名。3.DRM Agent接收到版权对象(RO),做如下处理:  采用版权发行者的公钥

2012-02-17 12:17:15

编译Darwin Stream Server6.0.3

wget http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tarwget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-6.0.3.patchwget http://dss.macosforge.org/trac/ra

2012-02-09 17:49:13

Darwin Streaming Server 6.0.3 Introduction

原文链接:http://www.codeproject.com/Articles/41874/Darwin-Streaming-Server-6-0-3-setup-customizationIntroductionDarwin Streaming Server is Apple's open source streaming server for

2012-02-06 21:21:37

ffmpeg打包TS代码分析

最近在研究利用ffmpeg的源码打包TS的问题,将研究的过程记录下来备忘。1. 先测试以下ffmpeg的录制屏幕的功能  ffmpeg -f x11grab -y -r 24 -s 800x600 -i :0.0+100,100 -vcodec mpeg2video -f mpegts  ./output.ts  ffmpeg -f alsa -i hw:0 -f x11grab -y

2011-12-19 17:37:56

vim标签功能

最近在看代码,由于代码比较庞大,经常由于目录树跟踪的太深,不能快速回到指定位置,于是研究了一下vim的bookmark功能,记录如下:书签 (Mark)书签是vim中非常强大的一个功能,书签分为文件书签跟全局书签。文件书签是你标记文件中的不同位置,然后可以

2011-10-08 16:18:53

EABI和OABI

1。什么是ABIABI,application binary interface (ABI),应用程序二进制接口。既然是 接口,那就是某两种东西之间的沟通桥梁,此处有这些种情况:A. 应用程序  操作系统;B. 应用程序 (应用程序所用到的)库类似于AP

2011-09-02 11:16:42

宏定义中#和##

#define A(x) T_##x  #define B(x) #@x  #define C(x) #x    我们假设:x为1,则有:    A(1) ---> T_1  B(1) ---> '1'  C(1) ---> "1"

2011-08-22 22:17:52

嵌入式开发交叉调试环境搭建

1. wget http://ftp.gnu.org/gnu/gdb/gdb-7.3.tar.bz22. tar -xvf tar -xvf gdb-7.3.tar.bz23. 接下来分2步,第一步编译编译gdb,这个不是宿主机上那个gdb,必须用如下方式编译:# .

2011-08-20 14:37:52

数码相机里的光学变焦和数字变焦的区别

【光学变焦要点】光学变焦倍数越大,能拍摄的景物就越远。 一些镜头越长的数码相机,内部的镜片和感光器移动空间更大,所以变焦倍数也更大。我们看到市面上的一些超薄型数码相机,一般没有光学变焦功能,因为其机身内根部不允许感光器件的移动,而像索尼F828、富士S7000这些

2011-08-20 12:00:30

ctags使用详解

一.         ctags 是干什么的ctags 的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。我用的是 Exuberant Ctags ,在 Windows 上使用,就一个可执行文件,非常绿色,可在 sourceforge

2011-08-13 18:40:33

中国内地城市CA分布

地市: 运营商名称: CA厂商:天津: 天津广播电视网络有限公司: CONAX、NDS重庆: 重庆有线电视网络有限公司: NDS/永新同方/DTVIA河北: 河北省广播电视信息网络股份有限公司: Nagra/Conax石家庄: 河北省广播电视信息网络股份有限公

2011-08-07 10:17:45

转篇文章:项目经理和部门经理的区别

管理的认识和理念管理,它是一种什么东西?是一种工具吗,还是一种方法,还是一种思维?如果认为管理只不过是一种工具,那么你的脑袋里就充满了两个字,叫作业。作业就是一套的技术、一套的模式,只要按着去做就是了。如果认为是一种方法,那么基本上是进入了管理的层次,但是如果再提升一点的

2011-08-07 10:15:31

查看更多

勋章 我的勋章
    暂无奖章