新型序列化类库MessagePack,比JSON更快、更小的格式 07月26日

新型序列化类库MessagePack,比JSON更快、更小的格式

MessagePack 是个什么东东?先来看一段官方的解释: MessagePack is an effici [...]

站在技术角度说说国内的云计算 07月21日

站在技术角度说说国内的云计算

云计算和大数据,两个高端大气上档次的词语,在如今这个浮躁的互联网、移动互联网社会,如果一个项目不接上这两个词, [...]

分布式计算框架 Fourinone[转] 03月15日

FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我对分布式计算进行了长时间的思考,也看了老外写的其他开源框架,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想解决问题的初衷:我们仅仅是想写个程序把几台甚至更多的机器一起用起来计算,把更多的cpu和内存利用上,来解决我们数量大和计算复杂的问题,当然这个过程中要考虑到分布式的协同和故障处理。如果仅仅是为了实现这个简单的初衷,为什么一切会那么复杂,我觉的自己可以写一个更简单的东西,它不需要过度设计,只需要看上去更酷一点,更小巧一点,功能更强一点。于是我将自己对分布式的理解融入到这个框架中,考虑到底层实现技术的相似性,我将 Hadoop,Zookeeper,MQ,分布式缓存四大主要的分布式计算功能合为一个框架内,对复杂的分布式计算应用进行了大量简化和归纳。 (更多…)

在C里面嵌入Lua的过程[lua研究二] 03月09日

偶遇一个事情,需要在C里面嵌入Lua代码,这真是痛苦了我好久….

不知道为啥lua默认编译没有生成.so 的动态链接库,需要修改Makefile生成liblua.so,我用的版本是5.2

一、先修改根目录的 Makefile
修改一行

TO_LIB= liblua.a liblua.so

二、再修改src的Makefile
注意,请搜索关键字,第二行是需要修改的,第一行,和第三行是粘贴的,至于粘贴的位置嘛,你看样子比较像的就粘贴一起吧
第三行的开始是tab键

LUA_SO=liblua.so
ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
$(LUA_SO): $(CORE_O) $(LIB_O)
$(CC) -o $@ -shared $? -ldl -lm

然后编译,安装,ldconfig

make linux
make install

在/etc/ld.so.conf中加入一行
/usr/local/lib/
然后执行
/sbin/ldconfig
重新加载动态链接库。

三、敲两段代码
luadd.c

#include
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"

/* the Lua interpreter */
lua_State* L;

int luaadd ( int x, int y )
{
int sum;

/* the function name */
lua_getglobal(L,"add");

/* the first argument */
lua_pushnumber(L, x);

/* the second argument */
lua_pushnumber(L, y);

/* call the function with 2
arguments, return 1 result */
lua_call(L, 2, 1);
//lua_pcall(L, 2, 1,0);

/* get the result */
sum = (int)lua_tointeger(L, -1);
lua_pop(L, 1);

return sum;
}

int main ( int argc, char *argv[] )
{
int sum;

/* initialize Lua */
//L = lua_open();
L = luaL_newstate();

/* load Lua base libraries */
//luaL_openlibs(L);
luaopen_base(L);

/* load the script */
(void)luaL_dofile(L, "add.lua");

/* call the add function */
sum = luaadd( 10, 15 );

/* print the result */
printf( "The sum is %d\n", sum );

/* cleanup Lua */
lua_close(L);

/* pause */
//printf( "Press enter to exit..." );
//getchar();

return 0;
}

lua代码 add.lua

function add(x,y)
return x+y
end

四、当然是gcc了

gcc luadd.c -llua -ldl -g

五、不出意外的话,当然是出现结果

the sum is 25

希望大家这过程顺利

Lua在linux下的安装[Lua研究一] 03月08日


wget http://www.lua.org/ftp/lua-5.2.0.tar.gz
tar zxvf lua-5.2.0.tar.gz
make linux
make install

然后lua就安装好了,简单快捷

print(“a”);

print(“hello”);

Facebook Scribe介绍【转】 03月06日

Facebook Scribe介绍

——————-

1. 介绍

Scribe是Facebook一个开源的实时分布式日志收集系统。它提高了大规模日志收集的可靠性和可扩展性。你可以在不同的节点上安装Scribe服务,然后这些服务会把收集到的信息发布到中心的服务集群上去。当中心服务不可得到时,本地的Scribe服务会暂时把收集到的信息存储到本地,等中心服务恢复以后再进行信息的上传。中心服务集群可以把收集到的信息写入本地磁盘或者分布式文件系统上,如hdfs,或者分发到另一层的Scribe服务集群上去。

Scribe提供了一种无阻塞的thrift服务,底层依赖libevent库和thrift库的支持。 (更多…)

Glibc 内存管理-Ptmalloc2 源代码分析 09月14日

Glibc 内存管理-Ptmalloc2 源代码分析

这篇文章不错,淘宝的一个朋友写的 http://www.heyues.com/book/c/glibc-ptm [...]

使用 libevent 和 libev 提高网络应用性能【转】 09月13日

使用 libevent 和 libev 提高网络应用性能【转】

许多服务器部署(尤其是 web 服务器部署)面对的最大问题之一是必须能够处理大量连接。无论是通过构建基于云的服 [...]

ubnutu下的工作 05月02日

ubnutu下的工作

以前切换过几次要用ubuntu,都以失败告终了,第一次应该是在大三的时候,那个时候对linux非常狂热,天天搞 [...]

ubuntu下dell Latitude E5400 无线网卡安装【转载】 04月25日

笔记本是dell的,需要装那个无线网卡,找了一下,这个可以用

无线网卡设备制造商是broadcom,下面这个链接有驱动的下載及readme

http://www.broadcom.com/support/802.11/linux_sta.php

1:编译

# make clean (optional)
# make

2:检查,删除

# lsmod | grep “b43\|ssb\|wl”
# rmmod b43
# rmmod ssb
# rmmod wl

3:加载

# modprobe lib80211
# insmod wl.ko

按照readme中的步骤就可以安装完成,但是每次系统启动的时候不会自动加载,那么就需要将wl.ko拷贝到:
/lib/modules/2.6.31-14-generic/kernel/net/wireless/
目录,然后在/etc/rc.local加入:

modprobe -r ssb
modprobe wl

or

modprobe lib80211
insmod /yourpath/wl.ko

这样就可以了

—————————————————————————————————————————————————————

作者: chua | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明

网址: http://www.meichua.com/archives/281.html