技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

2012年6月11日 #

apue源码编译

摘要: http://www.apuebook.com/可以下载源码src.tar.gz修改配置文件编辑源码解压生成的apue.2e文件夹下的Make.defines.linux修改WKDIR=/home/var/apue.2e为你的apue.2e目录,比如我的apue源码解压在/usr/local,那我就改为:WKDIR=/usr/local/apue.2e然后进入apue.2e/std 目录,编辑linux.mk。修改里面所有的nawk为awk。最后返回apue.2e目录,执行make命令。解决编译错误getenv1.c:4: error: ‘ARG_MAX’ undeclared here (n 阅读全文

posted @ 2012-06-11 15:14 codestyle 阅读(588) 评论(0) 推荐(0)

【转】如何安装rabbitmq-c-aafba2c665b5这个版本的rabbitmq-c

摘要: http://hi.baidu.com/snowhilloldman/blog/item/a26830dd76b768205882dd30.html照理安装一个库这么简单的东东不应该写一篇垃圾文章,只是,我的真的很痛苦,希望看官们理解!先下载这个库吧:(点了以后文件名会自动变成rabbitmq-c-aafba2c665b5.tar.gz)http://hg.rabbitmq.com/rabbitmq-c/archive/tip.tar.gz这个库的最后更新时间是2010-04-20,姑且命名其版本为:rabbitmq-c-20100420再下载另一个库:(点了以后文件名会自动变成rabbitm 阅读全文

posted @ 2012-06-11 14:35 codestyle 阅读(286) 评论(0) 推荐(0)

python读写命名管道

摘要: apue里说匿名管道只能在父子进程里使用。如果两个没有关系的进程要通信,就只能使用命名管道,最简单的代码这里:pwrite.pyimport osfd = os.open('pipetest',os.O_NONBLOCK | os.O_CREAT | os.O_RDWR)os.write(fd,"hello")pread.pyimport osfd = os.open('pipetest',os.O_RDONLY)s = os.read(fd,5)print s 阅读全文

posted @ 2012-06-11 14:30 codestyle 阅读(4842) 评论(0) 推荐(0)

python使用amqp的例子

摘要: web程序需要给IPHONE手机推送消息,移动端同事写好了一个LIB,但是这个LIB使用的是阻塞IO,在APPLE服务器返回前程序是阻塞的,他们用了多线程来解决这个问题,但是webpy运行在apache里,无法进行线程管理,所以就迫切需要一个异步的机制来解决这个问题,希望做到需要发送消息时。调用一个函数,把数据扔进管道或者消息队列后就立即返回,也不管数据是否真的出去了,它相当于生产者,再有一个程序从管道或者队列中读取,进行实际的发送,相当于消费者但是python似乎只封装了IPC(UNIX/LINUX平台进程通信规范)的匿名管道,命名管道的API,并无消息队列,而且管道似乎不易操作,因此想使用 阅读全文

posted @ 2012-06-11 12:37 codestyle 阅读(3462) 评论(1) 推荐(1)

消息队列:amqp 以及ubuntu安装命令(apt-get)

摘要: (一)基本概念RabbitMQ是流行的开源消息队列系统,用erlang语言开发。我曾经对这门语言挺有兴趣,学过一段时间,后来没坚持。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。RabbitMQ的结构图如下:几个概念说明:Broker:简单来说就是消息队列服务器实体。Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。Queue:消息队列载体,每个消息都会被投入到一个或多个队列。Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。Ro 阅读全文

posted @ 2012-06-11 12:19 codestyle 阅读(971) 评论(0) 推荐(0)