- 博客(19)
- 收藏
- 关注
原创 RabbitMQ 基于python的使用方法
RabbitMQ基于的原理之前已经讲过,每个组成部分也都有说明, 现在就开始学习如何使用了。从最基本的模型说起。P发送一个hello的消息给C。在这个事例中,并不需要考虑太多rabbitMQ部件上的设置。对于发送方P来说,需要做的就是定义好一个队列,使用默认的exchange。#!/usr/bin/env pythonimport pikaconnecti
2014-05-30 16:39:47
903
翻译 docker 架构 (文件系统, 层, 容器)
按照docker官网上的说法,docker的文件系统分为两层:bootfs和rootfsbootfs包含了bootloader和linux内核。用户是不能对这层作任何修改的。在内核启动之后,bootfs实际上会unmount掉。rootfs则包含了一般系统上的常见目录结构,类似于/dev, /proc, /bin等等以及一些基本的文件和命令。上图中,aufs (advanced
2014-03-17 17:06:42
8985
1
翻译 如何使用 docker 及常用命令(二)
本节主要介绍如何查看某个container的当前运行状态以及如何登录一台正在运行的container首先,是从doc
2014-03-14 14:58:35
845
原创 如何使用 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
734
原创 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
622
原创 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
1002
原创 python mox使用方法(2)
上文讲了如何架空一个普通的函数,但是在python代码中,大部分都是以类的形式存在的,那现在就开始讲如何架空一个类。 首先,我们要声明一个叫做Zoo的类,并把之前的函数移入这个类中。 class Zoo(object): def __init__(self): self.animals = ['penguin', 'swan', 'tiger', 'monkey'
2014-01-03 18:22:46
1924
原创 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
3045
原创 python 版本的读写锁
最近要用到读写锁的机制,但是python2.7的自带库里居然木有.网上讲读写锁的例子众多,但是原理简单,代码明晰的却不多见, 索性自己写个.读写锁一般用于多个读者,1个或多个写者同时访问某种资源的时候。多个读者之间是可以共享资源的,但是写者与读者之间,写者与写者之间是资源互斥的。这也就是说同时可以有多个读者或一个写者处于工作状态。细分下来,读写锁可以分为三类,读者优
2013-09-09 15:21:57
6342
1
原创 python zeromq安装
今天在机器上试安装了ZeroMQ,因为是公共环境,存在一些权限问题,于是研究了下下python版本的zeroMQ 如何安装到指定的路径下。首先下载zeromq和pyzmq. 官方下载路径为:http://zeromq.org/intro:get-the-software解压缩之后首先安装zeromq到指定目录。 > cd zeromq > ./configure
2013-08-21 11:03:59
2310
翻译 LLVM IR 语法简介(一)
LLVM IR 被设计为一种轻量级,底层的语言用来描述各种上层的语言,对于不同的语言,都可以归纳为同一种IR的格式。标示符:LLVM的标识符分为全局标识符和局部标识符。 全局标识符以'@'开头,局部标识符以'%'为开头。1. 命名过的数值会被标识为一个带有前缀的字符串,类似于%foo, @DivisionByZoo.具体的语法是: [%@][a-zA-Z$._][a-zA-
2013-08-19 13:55:19
3108
原创 llvm 常见命令
llvm作为一套成熟的编译体系,提供了很多命令用于不同阶段的使用。通过这些命令的组合使用,可以将一个完整的编译过程,拆分成多个步骤。llvm-as: 将IR文件编译为二进制文件,默认生成后缀名为.bc的文件,也可以使用-o指定输出: llvm-as -o hello hello.llllvm-dis: 将二进制文件回溯成IR文件,生成.ll后缀的文件 llvm
2013-08-16 12:21:38
5867
翻译 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
639
原创 非专业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
679
原创 非专业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
585
原创 非专业levelDB源码解析1
最近在做NoSQL方面的项目。项目开始之前,先学习当今比较主流的NoSQL数据库,从levelDB开始。关于levelDB的架构分析,参考了网上的《LevelDb日知录》,就不狗尾续貂了。直接从源码分析起。首先从创建一个DB讲起。LevelDB中创建或打开一个新的DB很容易。 // Open a database leveldb::DB* db;
2013-03-27 17:57:18
718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人