天涯角落的专栏

所谓危机,本质就是危险和机遇伴生

NGINX原子操作

nginx实现了一个跨平台的原子操作接口。 它分别实现了LIBATOMIC,DARWIN_ATOMIC,GCC_ATOMIC等原子操作。 LIBATOMIC是一套平台无关原子操作库。 DARWIN_ATOMIC苹果平台原子操作库。 GCC_ATOMIC GCC内置的原子操作接口。 ...

2012-03-23 18:15:07

阅读数 2187

评论数 0

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

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

2012-03-18 10:53:15

阅读数 5759

评论数 1

nginx HTTP发送数据过程

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

2012-03-07 12:04:03

阅读数 847

评论数 0

nginx事件处理过程

1. 首先设置断点:ngx_epoll_process_events at src/event/modules/ngx_epoll_module.c:575 2. 请求http://ip 3. nginx接收的客户端的请求,进行accept事件处理,调用堆栈如下图。 4. acc...

2012-03-06 10:22:06

阅读数 633

评论数 0

nginx配置文件解析

以启动过程中设置worker_processes的值为例,分析nginx加载配置的过程,代码版本1.1.15。 1. 首先创建所有模块配置的上下文,代码调用栈如下: ngx_init_cycle (old_cycle=0xbffff5b0) at src/core/ngx_cycle.c:22...

2012-03-05 18:50:34

阅读数 644

评论数 0

OMA DRM代理安全性思考

在思考这个问题之前,我们先考虑一下DRM代理的功能是什么? 两点: 1. 保护数据的安全。 2. 执行保护数据安全的算法和流程。 这两点可以看出,DRM代理实际是版权管理的规则实现者和执行者,任何 想破解数字版权的黑客都要获得DRM的控制权。         怎奈DRM代理运行的环境土...

2012-03-01 09:46:47

阅读数 873

评论数 1

PKI体系及常见证书

http://blog.chinaunix.net/space.php?uid=23637692&do=blog&id=3057988 1.PKI体系 1.1 PKI(Public Key Infrastructure,公钥基础架构) PKI是一套以公钥技术为基础、...

2012-02-21 17:38:03

阅读数 958

评论数 0

一致性哈希算法(Consistent Hashing)

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

2012-02-19 21:02:54

阅读数 657

评论数 0

ROAP协议流程

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

2012-02-17 12:17:15

阅读数 3128

评论数 0

编译Darwin Stream Server6.0.3

wget http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tar wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-...

2012-02-09 17:49:13

阅读数 1430

评论数 0

Darwin Streaming Server 6.0.3 Introduction

原文链接: http://www.codeproject.com/Articles/41874/Darwin-Streaming-Server-6-0-3-setup-customization Introduction Darwin Streaming Serv...

2012-02-06 21:21:37

阅读数 2252

评论数 0

ffmpeg打包TS代码分析

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

2011-12-19 17:37:56

阅读数 4160

评论数 1

vim标签功能

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

2011-10-08 16:18:53

阅读数 4631

评论数 0

EABI和OABI

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

2011-09-02 11:16:42

阅读数 498

评论数 0

宏定义中#和##

#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&quo...

2011-08-22 22:17:52

阅读数 338

评论数 0

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

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

2011-08-20 14:37:52

阅读数 516

评论数 0

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

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

2011-08-20 12:00:30

阅读数 614

评论数 0

ctags使用详解

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

2011-08-13 18:40:33

阅读数 559

评论数 0

中国内地城市CA分布

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

2011-08-07 10:17:45

阅读数 17842

评论数 4

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

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

2011-08-07 10:15:31

阅读数 704

评论数 0

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