- 博客(139)
- 收藏
- 关注
原创 静态链接与动态链接
基于gmp开发第三方库,后者以动态链接库(静态库?)对方式发布,为了效率gmp建议对该库采用静态链接,所以,目的是生成静态链接gmp库的库文件(动态库?静态库?)一、生成可执行文件1. 动态链接库的编译Mac和linux都是:gcc -o param_convention1 param_convention.c -lgmp2. 静态链接库的编译Mac是:...
2014-09-06 03:24:07
246
原创 在macbook上安装linux
1. 安装最新的rEFInd > 0.8.2http://sourceforge.net/projects/refind/postdownload?source=dlp2. 用u盘引导安装制作usb启动盘的方法见https://help.ubuntu.com/community/How%20to%20install%20Ubuntu%20on%20MacBook%20using...
2014-06-12 10:29:00
2909
原创 NIF与OS线程
NIF的OS线程编程模型可以参考The Art of Multiprocessor Programming第八章Monitors and Blocking Synchronization
2013-08-31 01:29:15
286
原创 小备忘录
像素坐标与地理坐标转换关系为X=A1+ PA2+ LA3Y=A4+ PA5+ LA6其中X为所求像素点地理坐标 Y为所求像素点地理 坐标 P为图像像素点列号 L为行号 A1 至 A6 六个参数为Tiff格式影像数据起始参数 可通过GDAL的GetGeoTransform函数获取参数1~6含义分别为左上角起点地理坐标东西方向上每个像素代表的地理距离...
2013-08-29 10:24:51
195
原创 关于nif
[size=x-large]一、NIF的误用问题[/size]使用NIF是很危险的,一不小心它就会搞垮你的erlang VM,还会堵塞erlang调度器使VM进入假死状态。平均每20个使用NIF的项目,就有19个滥用了NIF。参考:[url=http://jlouisramblings.blogspot.tw/2013/07/problematic-traits-in-erlang...
2013-08-19 10:28:56
1329
原创 自建riak帮助文档
riak的文档越来越丰富了,如果要离线看,可以自建一个riak doc一、安装ruby前提,需要ruby 1.9,Mac10.6.8 32bit Snow Leopard 自带的ruby 1.8版本太低可能还要装port1。安装rvm:用rvm装ruby 1.9.3是最方便的,参考 http://ruby-china.org/wiki/rvm-guide...
2013-08-12 21:39:27
197
原创 riak的用户库模块加载问题
基于riak core/pipe构建自己的应用时会遇到如何加载自己的应用模块的问题。在此收集一些常用方法备忘。指定用户自定义模块的路径编译好的erlang模块由[url=http://erlang.org/doc/man/code.html]Erlang code server[/url]负责加载到Erlang运行时。code server可以在启动时自动加载基本库模块,也可以...
2013-08-04 13:32:54
226
原创 遇到的riak性能问题
1。 遇到一个奇怪的性能问题,多个进程中用riakc_pb_socket put和get有着不同的性能表现。我的情况是put还好,但是get老是超时(60秒)。有人在邮件上提到了这个问题,不过和我相反。在这里记录下备忘。http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-July/012669.h...
2013-07-23 10:59:12
323
原创 作为内存数据库的riak
riak的邮件列表最近的讨论[url=http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-July/012585.html]riak_kv_memory_backend in production[/url]Here are some suggestions for running the memory ...
2013-07-19 21:28:13
350
原创 dialyzer使用备忘
一、构建PLT文件:新构建dialyzer --build_plt --apps $(APPS)--apps参数对命令指定的应用构建PLT,缺省的PLT文件是~/.dialyzer_plt文件如果要生成自己的plt文件,使用--output参数指定dialyzer --build_plt --apps $(APPS) --output_plt my_abc.plt...
2013-07-04 12:36:35
209
原创 CRDT: 分布式环境下的数据结构
Strong Eventual Consistency and Confilict-free Replicated Data TypesSEC & CRDT
2013-07-02 10:06:03
614
原创 Erlang应用打包工具:node_package
[url=https://github.com/basho/node_package]node_package[/url]是一个制作[b]erlang应用[/b]安装包的脚本/模版集合。支持的平台包括deb(ubuntu), MacOSX, FreeBSD。这里记录我使用过程中遇到的一些问题,备忘。[size=x-large]一、前提[/size]rebar.config中...
2013-07-01 17:15:59
294
原创 手工从源码制作一个riak安装包
riak的Makefile文件提供了各个平台上的安装包的生成脚本。因此自己制作一个特定版本的riak安装文件是很方便的。[size=x-large]一、前提[/size]0. git没错,打包需要git1. build-essential工具要安装,它包括了gcc编译器,在build leveldb时需要。[code="shell"]sudo apt-get insta...
2013-06-22 18:47:47
247
原创 folsom_metrics使用备忘
folsom是一个通用的统计度量工具。使用很简单,关键是搞清它的度量方式的含义。有如下几种度量器(metrics):counter, gauge, histogram, histories, meter有些还可以往下细分。使用方法都是先new一个度量器(metric),然后每来一个数据,notify一下这个metric:例如gauge类型的时速表的使用。1. 新...
2013-06-07 15:41:25
201
原创 ubuntu上安装systemtap
因为Ubuntu没有提供kernel debug symbols,systemtap安装后是不能直接在ubuntu上正常使用的。有人提供了一个安装脚本https://bitbucket.org/sentimental/poc_stap为12.04添加apt-get源:sudo tee /etc/apt/sources.list.d/ddebs.list ...
2013-03-13 12:32:35
729
原创 cowboy的一个小陷阱
我在用cowboy时遇到了一个麻烦,通过HTTP连接获取数据时不能用的HTTP/1.1的持久连接(persistent connection)进行数据交换,每个请求-响应过程必须断开连接后重新连才行,也就是说只有Connection:close时才能正常工作。用wireshark看连接的数据包发现一个奇怪的现象,就是每个响应的最后都会紧跟着出现一个204 No Content的响应。无论是...
2013-01-09 16:08:49
768
原创 git 库永久删除大文件
无意中把一个装有很多大文件数据的文件夹(./my1202260986)提交了,现在.git有681MB之大$ du .git -hd0681MB .git不过还没有push出去。我用如下命令清除了错误提交的大文件:$ git filter-branch --index-filter 'git rm -r --cache --ignore-unmatch my1202260...
2013-01-08 11:49:54
193
关于Erlang/OTP的application参数配置
Erlang/OTP中将完成特定功能的一组模块组织起来,称之为[url=http://www.erlang.org/doc/man/application.html]application [/url]。(这不是个好名字,因为它与我们约定俗成的application有着不同的含义,例如在JEE这样的开发中,整个应用系统被称为一个application;在iOS中一个独立游戏、一个小工具都被...
2012-08-26 23:27:37
342
lager的使用
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。 erlang本身提供了日志管理,但这与其它语言中常见的log4xxx的日志框架很不同:日志文件是二进制的,查看起来很不方便;每条日志跨多行文本,也不方便查找和分析。总之,这自带的日志系统让用惯log4xxx系列的人用起来很不习惯。后来陆续有log4erl这样的应用,lager算是后...
2012-08-23 15:06:01
1191
rebar工具使用备忘录 (4)
haogongju、人人IT网、59n南龙、360doc、ask3不要抄我的烂博客了,私人备忘用。 [size=x-large]4.应用的发布与配置[/size]具体的,erlang里的发布是将应用系统及其依赖的第三方库,以及erlang运行时打包,这样的一个发布可以作为一个独立的系统,安装到其它的机器上。这里的发布类似JEE里的war发行包,但是并不完全相同。如果要类...
2012-08-22 19:20:13
320
对Riak Core的探索 (9) cheatsheet
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。[size=x-large]常用API之与ring、节点有关的API[/size][list][*]riak_core:vnode_modules() 查询安装的vnode模块[*]riak_core_ring_manager:get_raw_ring() 获取整个ring环,包括part...
2012-08-12 12:58:36
131
原创 关于新能源
大概7、8年前我就读到太阳能相关制造技术的相关进展,随后每年都会有一些相关的报道,读来很鼓舞人心。但是直到现在还没有一款高效且便宜的太阳能电池进入普通市场,真是令人沮丧。其它例如氢电池也是如此。也许还要等至少20年的时间。比如今年的:[url=http://cn.engadget.com/2012/08/21/ibm-alliance-sets-efficiency-record-fo...
2012-08-11 19:53:17
183
原创 对Riak Core的探索 (7)
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。关于Riak Core的使用,有许多例子可以探索。最经典最复杂的莫过于riak 这个NoSQL数据库本身,不过riak本身不是一个实现,几乎没有erlang代码,它更像是胶水,将具体的KV实现(riak_kv)与riak_core(当然还有其它应用,比如日志、统计等等其它应用)粘结起来。riak...
2012-08-10 18:15:27
215
原创 对Riak Core的探索 (6) HTTP接口
haogongju,人人IT网,360doc不要抄我的烂博客了,私人备忘用。 haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。我们需要了解系统的一些状态,比如,对riak这个NoSQL来说,我们需要了解bucket的当前存储状态。有时候也需要直接访问某个存储对象。这都可以通过HTTP和其他接口访问,HTTP是Riak Core提供最直接最...
2012-08-09 16:16:40
150
对Riak Core的探索 (5) 业务逻辑的实现:数据如何处理
[size=x-large]业务逻辑的实现:数据如何处理[/size]重点是数据如何处理:Riak Core提供了一个统一的接口以控制分布在ring上的数据的计算(操作)。Riak Core的数据控制接口如前所述,每类vnode提供了一套服务,每个服务由在各个partition上的vnode进程组成,这些进程实际分布在各个物理节点上。对于每一个物理节点,每类服务会有一个ri...
2012-08-07 18:18:38
196
关于webmachine
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。基于mochiweb,REST风格的erlang Web容器。流程图见docs目录下的http-headers-status-v3.png。它适合构建符合REST风格的面向资源的web应用,不适合那种需要HTTP长连接的应用(例如websocket,这也和webmachine基于的web服务器m...
2012-08-03 14:38:08
478
原创 关于puppet
推荐书Pro puppet无法忍受Puppet Cookbook的排版这里有个更好的[url=http://www.puppetcookbook.com/]Puppet Cookbook[/url][size=xx-large]1. 基本概念[/size]puppet是一个CS结构的配置管理工具,用ruby开发的。作为服务器端的S,puppet的术语...
2012-07-20 15:35:15
267
原创 FreeBSD,dtrace和erlang
因为linux的systemtap和utrace需要自己重新编译linux内核,实在不想折腾。听闻新FreeBSD将全面使用clang替代gcc,在加上FreeBSD最早就有了对dtrace的支持,所以这两天开始了解FreeBSD是怎么回事。[size=x-large]0. 更新机制[/size]许多软件开发都很活跃,发布频繁,所以除非在系统安装刚发布的那段时间,一般从官网下载的光...
2012-06-24 20:21:12
363
原创 使用dialyzer遇到的问题
1. 对自定义behaviour的警告有洁癖的可能无法忍受这种警告, Callback info about the my_module behaviour is not available只能加这个参数-Wno_undefined_callbacks [code="shell"]dialyzer --src ./src -Wno_undefined_callbacks [...
2012-06-19 18:18:07
254
原创 关于erlang的iolist
erlang字符串可以用list结构存放ASCII编码(0~255)的整数,这是传统的方式,缺点是浪费内存,而且对unicode无效。又因为list实际上用的是一种链表结构,每个字符都带一个指针(它指向下一个字符的地址)。节省内存的话用binary存放字符串,它有很多有优点,例如可以用utf8编码存放unicode字符。binary字符串内部用字符串的首地址和字符串的长度(而不是\0结束符...
2012-06-17 15:10:00
786
建个github的本地中转站
局域网内有多台开发机器,因为网络的原因,从github拉取更新时总是失败,这台成功了那台又不行;还有个原因是网络速度,拉取的工程有81M,网络传输也不快。于是琢磨在本地建个github的镜像库,所有机器都统一clone自这个本地镜像库里,然后由这个镜像库负责与github更新。[code="shell"]cd /storage/mirror_github/git clone --mir...
2012-06-13 16:46:14
1174
关于erlang的binary
[size=x-large]1. binary数据是可以在不同进程间共享的[/size]当然这些进程都在同一Erlang节点上。这与普通term不同,后者作为消息在进程间传递时是要在接收进程中做拷贝的(当然atom数据例外,它们也不会做拷贝)。摘一段[url=http://www.erlang.org/doc/efficiency_guide/processes.html#id68...
2012-06-02 16:03:56
853
原创 关于erlang的进程池
有两种情况需要考虑使用进程池管理erlang进程。一种是普通erlang进程,很便宜,一次可以并行很多(默认32K,当然可以调整vm参数设置更大),但是这不意味着可以无限制的使用,实际上轻松的达到上限是很容易的(想想发明国际象棋的那位向国王请赏的办法,类似的,一个进程开两个,两个再开四个,四个再开8个。。。。,很容易就达到了上限),因此有时候我们需要对进程进行管理,避免无限制的使用累垮系统...
2012-05-30 18:42:48
408
原创 riak对大数据文件或对象的支持问题
很遗憾在2011年12月的时候,basho宣布[url=http://lists.basho.com/pipermail/riak-users_lists.basho.com/2011-December/006905.html]不再提供对luwak的支持[/url]。因为luwak有[url=http://lists.basho.com/pipermail/riak-users_lists.bas...
2012-05-24 19:24:52
241
原创 riak资料汇编
[size=x-large]一、上手[/size]各个操作系统平台上的安装说明:[url=http://wiki.basho.com/Installation.html]Installation[/url]新手可以先看[url=http://wiki.basho.com/The-Riak-Fast-Track.html]riak快速教程[/url]上手。[size=x-...
2012-04-10 17:38:03
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人