自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ 基于python的使用方法(二)

第三种应用场景是发布/订阅

2014-05-30 17:45:38 767

原创 RabbitMQ 基于python的使用方法

RabbitMQ基于的原理之前已经讲过,每个组成部分也都有说明, 现在就开始学习如何使用了。从最基本的模型说起。P发送一个hello的消息给C。在这个事例中,并不需要考虑太多rabbitMQ部件上的设置。对于发送方P来说,需要做的就是定义好一个队列,使用默认的exchange。#!/usr/bin/env pythonimport pikaconnecti

2014-05-30 16:39:47 876

原创 RabbitMQ 使用的AMQP模型解析

RabbitMQ 是采用AMQP协议进行通信的。比起简单的TCP/UDPt

2014-05-30 14:12:14 3023

翻译 docker 架构 (文件系统, 层, 容器)

按照docker官网上的说法,docker的文件系统分为两层:bootfs和rootfsbootfs包含了bootloader和linux内核。用户是不能对这层作任何修改的。在内核启动之后,bootfs实际上会unmount掉。rootfs则包含了一般系统上的常见目录结构,类似于/dev, /proc, /bin等等以及一些基本的文件和命令。上图中,aufs (advanced

2014-03-17 17:06:42 8771 1

翻译 如何使用 docker 及常用命令(二)

本节主要介绍如何查看某个container的当前运行状态以及如何登录一台正在运行的container首先,是从doc

2014-03-14 14:58:35 825

原创 如何使用 docker 及常用命令(一)

要使用docker,首先要下载一个image作为container. docker存放所有的image在一个统一的repository里面,类似于git。通过pull命令就可以下载指定image了。。 docker pull ubuntu下载ubuntu的image,直接使用这条命令,会下载多个ubuntu的版本,通过TAG来区分,默认会使用“latest”, 即12.04版。

2014-03-14 14:35:40 677

原创 docker 安装和使用 注意

1  如何下载image:  在安装好docker之后,通过docker pull ubuntu应该可以获取image.  但是如果局域网有可能无法链接到docker的网站并下载.  配置http代理并重启docker.   > sudo export HTTP_PROXY=http://www.xxx.com:8080 docker -d &  > sudo docker p

2014-03-11 09:58:27 599

原创 python mox使用方法(3)

现在来制造一些异常情况!  首先,声明一个异常。class ZooException(Exception): pass然后修改我们的测试用例,并且来捕获这个异常。 def test_feed(self): zookeeper = self.m.CreateMock(zoo.ZooKeeper) zookeeper.feed(mox.St

2014-01-06 10:46:06 955

原创 python mox使用方法(2)

上文讲了如何架空一个普通的函数,但是在python代码中,大部分都是以类的形式存在的,那现在就开始讲如何架空一个类。  首先,我们要声明一个叫做Zoo的类,并把之前的函数移入这个类中。 class Zoo(object): def __init__(self): self.animals = ['penguin', 'swan', 'tiger', 'monkey'

2014-01-03 18:22:46 1855

原创 python mox使用方法

pymox是一套用于python代码unit test的框架. 官方链接如下:  https://code.google.com/p/pymox/  但是从官方的wiki上看到pymox的使用案例较少,而且比较简略.   这里按照通常使用情况整理下.  首先从最基本的框架说起. 创建一个unit test的test case, 在这里需要先import两个包

2014-01-03 18:00:16 2929

原创 python 版本的读写锁

最近要用到读写锁的机制,但是python2.7的自带库里居然木有.网上讲读写锁的例子众多,但是原理简单,代码明晰的却不多见, 索性自己写个.读写锁一般用于多个读者,1个或多个写者同时访问某种资源的时候。多个读者之间是可以共享资源的,但是写者与读者之间,写者与写者之间是资源互斥的。这也就是说同时可以有多个读者或一个写者处于工作状态。细分下来,读写锁可以分为三类,读者优

2013-09-09 15:21:57 6263 2

原创 python zeromq安装

今天在机器上试安装了ZeroMQ,因为是公共环境,存在一些权限问题,于是研究了下下python版本的zeroMQ 如何安装到指定的路径下。首先下载zeromq和pyzmq. 官方下载路径为:http://zeromq.org/intro:get-the-software解压缩之后首先安装zeromq到指定目录。 > cd zeromq > ./configure

2013-08-21 11:03:59 2218 2

翻译 LLVM IR 语法简介(一)

LLVM IR 被设计为一种轻量级,底层的语言用来描述各种上层的语言,对于不同的语言,都可以归纳为同一种IR的格式。标示符:LLVM的标识符分为全局标识符和局部标识符。 全局标识符以'@'开头,局部标识符以'%'为开头。1. 命名过的数值会被标识为一个带有前缀的字符串,类似于%foo, @DivisionByZoo.具体的语法是: [%@][a-zA-Z$._][a-zA-

2013-08-19 13:55:19 3015

原创 llvm 常见命令

llvm作为一套成熟的编译体系,提供了很多命令用于不同阶段的使用。通过这些命令的组合使用,可以将一个完整的编译过程,拆分成多个步骤。llvm-as: 将IR文件编译为二进制文件,默认生成后缀名为.bc的文件,也可以使用-o指定输出: llvm-as -o hello hello.llllvm-dis: 将二进制文件回溯成IR文件,生成.ll后缀的文件 llvm

2013-08-16 12:21:38 5539

翻译 Erlang 常见注意事项

1 timer模块:  使用erlang:send_after和erlang:start_timer 会比直接调用timer模块要快。  调用timer时会起一个进程来管理,这个进程在多进程的环境下很容易被延误。但timer:tc和 timer:sleep除外2 list_to_atom/1:atom类型是不会被垃圾回收的。一旦生成,就一直存在。所以在一个长期运行的

2013-07-08 14:14:15 580

翻译 Erlang 的8个误区

1, 函数调用,fun 和apply/3 的效率。

2013-07-05 09:37:19 501

原创 非专业levelDB源码解析3:Env

从levelDB的文档中可以看出,env实际上是针对操作系统的各种功能的一次封装,每个操作系统可以编写各自的env的实现方式。这样levelDB就不再依赖于指定的操作系统,尽力做到平台无关性。 // An Env is an interface used by the leveldb implementationto access operating system functionalit

2013-03-28 11:16:35 647

原创 非专业levelDB源码解析2:slice

Slice 是在字符串类型上的简单封装。从其成员变量中可以看出,它其实只是一个指针类型,内部并不分配空间。LevelDB的说明中指出,Slice的有效期是依赖于外部存储的。// The user of a Slice must ensure that the slice// is not used after the corresponding external storage has

2013-03-28 11:09:04 558

原创 非专业levelDB源码解析1

最近在做NoSQL方面的项目。项目开始之前,先学习当今比较主流的NoSQL数据库,从levelDB开始。关于levelDB的架构分析,参考了网上的《LevelDb日知录》,就不狗尾续貂了。直接从源码分析起。首先从创建一个DB讲起。LevelDB中创建或打开一个新的DB很容易。 // Open a database leveldb::DB* db;

2013-03-27 17:57:18 672

空空如也

空空如也

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

TA关注的人

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