我的备忘录
文章平均质量分 57
iteye_13453
这个作者很懒,什么都没留下…
展开
-
静态链接与动态链接
基于gmp开发第三方库,后者以动态链接库(静态库?)对方式发布,为了效率gmp建议对该库采用静态链接,所以,目的是生成静态链接gmp库的库文件(动态库?静态库?)一、生成可执行文件1. 动态链接库的编译Mac和linux都是:gcc -o param_convention1 param_convention.c -lgmp2. 静态链接库的编译Mac是:...原创 2014-09-06 03:24:07 · 215 阅读 · 0 评论 -
关于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 · 321 阅读 · 0 评论 -
rebar工具使用备忘录 (5)
haogongju、人人IT网、59n南龙、360doc、ask3不要抄我的烂博客了,私人备忘用。2012-08-23 18:17:59 · 125 阅读 · 0 评论 -
lager的使用
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。 erlang本身提供了日志管理,但这与其它语言中常见的log4xxx的日志框架很不同:日志文件是二进制的,查看起来很不方便;每条日志跨多行文本,也不方便查找和分析。总之,这自带的日志系统让用惯log4xxx系列的人用起来很不习惯。后来陆续有log4erl这样的应用,lager算是后...2012-08-23 15:06:01 · 1137 阅读 · 0 评论 -
rebar工具使用备忘录 (4)
haogongju、人人IT网、59n南龙、360doc、ask3不要抄我的烂博客了,私人备忘用。 [size=x-large]4.应用的发布与配置[/size]具体的,erlang里的发布是将应用系统及其依赖的第三方库,以及erlang运行时打包,这样的一个发布可以作为一个独立的系统,安装到其它的机器上。这里的发布类似JEE里的war发行包,但是并不完全相同。如果要类...2012-08-22 19:20:13 · 294 阅读 · 0 评论 -
rebar工具使用备忘录 (3)
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。2012-08-22 19:18:30 · 104 阅读 · 0 评论 -
对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 · 107 阅读 · 0 评论 -
对Riak Core的探索 (8)
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。原创 2012-08-11 18:52:17 · 102 阅读 · 0 评论 -
对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 · 177 阅读 · 0 评论 -
对Riak Core的探索 (6) HTTP接口
haogongju,人人IT网,360doc不要抄我的烂博客了,私人备忘用。 haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。我们需要了解系统的一些状态,比如,对riak这个NoSQL来说,我们需要了解bucket的当前存储状态。有时候也需要直接访问某个存储对象。这都可以通过HTTP和其他接口访问,HTTP是Riak Core提供最直接最...原创 2012-08-09 16:16:40 · 128 阅读 · 0 评论 -
对Riak Core的探索 (5) 业务逻辑的实现:数据如何处理
[size=x-large]业务逻辑的实现:数据如何处理[/size]重点是数据如何处理:Riak Core提供了一个统一的接口以控制分布在ring上的数据的计算(操作)。Riak Core的数据控制接口如前所述,每类vnode提供了一套服务,每个服务由在各个partition上的vnode进程组成,这些进程实际分布在各个物理节点上。对于每一个物理节点,每类服务会有一个ri...2012-08-07 18:18:38 · 166 阅读 · 0 评论 -
关于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 · 452 阅读 · 0 评论 -
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 · 230 阅读 · 0 评论 -
Riak Core与folsom
folsom是Riak从1.2开始引入。原创 2012-09-01 11:54:14 · 129 阅读 · 0 评论 -
folsom_metrics使用备忘
folsom是一个通用的统计度量工具。使用很简单,关键是搞清它的度量方式的含义。有如下几种度量器(metrics):counter, gauge, histogram, histories, meter有些还可以往下细分。使用方法都是先new一个度量器(metric),然后每来一个数据,notify一下这个metric:例如gauge类型的时速表的使用。1. 新...原创 2013-06-07 15:41:25 · 173 阅读 · 0 评论 -
在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 · 2836 阅读 · 0 评论 -
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 · 167 阅读 · 0 评论 -
FreeBSD,dtrace和erlang
因为linux的systemtap和utrace需要自己重新编译linux内核,实在不想折腾。听闻新FreeBSD将全面使用clang替代gcc,在加上FreeBSD最早就有了对dtrace的支持,所以这两天开始了解FreeBSD是怎么回事。[size=x-large]0. 更新机制[/size]许多软件开发都很活跃,发布频繁,所以除非在系统安装刚发布的那段时间,一般从官网下载的光...原创 2012-06-24 20:21:12 · 325 阅读 · 0 评论 -
使用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 · 235 阅读 · 0 评论 -
关于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 · 1275 阅读 · 0 评论 -
关于erlang的iolist
erlang字符串可以用list结构存放ASCII编码(0~255)的整数,这是传统的方式,缺点是浪费内存,而且对unicode无效。又因为list实际上用的是一种链表结构,每个字符都带一个指针(它指向下一个字符的地址)。节省内存的话用binary存放字符串,它有很多有优点,例如可以用utf8编码存放unicode字符。binary字符串内部用字符串的首地址和字符串的长度(而不是\0结束符...原创 2012-06-17 15:10:00 · 728 阅读 · 0 评论 -
建个github的本地中转站
局域网内有多台开发机器,因为网络的原因,从github拉取更新时总是失败,这台成功了那台又不行;还有个原因是网络速度,拉取的工程有81M,网络传输也不快。于是琢磨在本地建个github的镜像库,所有机器都统一clone自这个本地镜像库里,然后由这个镜像库负责与github更新。[code="shell"]cd /storage/mirror_github/git clone --mir...2012-06-13 16:46:14 · 1099 阅读 · 0 评论 -
关于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 · 815 阅读 · 0 评论 -
关于erlang的进程池
有两种情况需要考虑使用进程池管理erlang进程。一种是普通erlang进程,很便宜,一次可以并行很多(默认32K,当然可以调整vm参数设置更大),但是这不意味着可以无限制的使用,实际上轻松的达到上限是很容易的(想想发明国际象棋的那位向国王请赏的办法,类似的,一个进程开两个,两个再开四个,四个再开8个。。。。,很容易就达到了上限),因此有时候我们需要对进程进行管理,避免无限制的使用累垮系统...原创 2012-05-30 18:42:48 · 377 阅读 · 0 评论 -
遇到的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 · 285 阅读 · 0 评论 -
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 · 172 阅读 · 0 评论 -
手工从源码制作一个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 · 214 阅读 · 0 评论 -
对Riak Core的探索 (4) 数据的分布及处理步骤
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。[size=x-large]三、Riak Core系统的数据的分布和处理步骤[/size]从原理上讲,Riak Core通过hash算法将数据随机均匀的分布在一个环上,数据的hash值也就是在环上的位置(源码中常用Index表示),知道了Index就知道了对应的分区partition,知道了...2012-03-19 23:20:30 · 202 阅读 · 0 评论 -
对Riak Core的探索 (3) - 依赖注入 IoC
[size=x-large]二、 基于Riak Core分布式应用开发[/size]开发一个基于Riak Core的分布式数据处理系统,意味着它要处理的数据将在hash后映射到一个环上,也就是说这些数据分布在各个数据节点的partition上,数据的处理也在各个partition上进行。显然每个数据处理系统有它自己的数据处理逻辑。如果我们实现了这个处理逻辑然后以某种方式注入到Ria...原创 2012-03-16 20:05:14 · 150 阅读 · 0 评论 -
新语言实现点对点手机数据传输
[url=http://it.solidot.org/article.pl?sid=09/09/07/0338205]新语言实现点对点手机数据传输[/url]matrix 发表于 2009年9月07日 11时36分 星期一 来自电池寿命减少部门 《MIT技术评论》报道,移动通信一般都要经过手机发射塔、基站,偶尔还会通过无线网络,[url=http://www.tech...原创 2009-09-07 15:28:33 · 231 阅读 · 0 评论 -
我的Mac编程环境
升级了下机器,发现有些东西又得重装,好久没弄细节都忘了,为了以后不再都折腾,记在这里备忘[size=medium]1. 安装xcode[/size]去[url=http://developer.apple.com/]水果的开发网站[/url]下载最新的Xcode(免费的,但是要注册),Xcode提供了Mac下的gcc,make等全套UNIX开发工具;但是有些小问题,[list]...原创 2010-02-04 00:13:30 · 197 阅读 · 0 评论 -
在一台机器上控制Erlang集群节点的实验1
最近被在多台机器上部署erlang节点测试,机器太多,开了N多putty窗口,切来换去都快搞疯了,这可不是长久之计,赶紧想办法。受mryufeng[url=http://mryufeng.iteye.com/blog/133816]这篇文章的提示[/url]做了些实验。实验1:所有erlang程序只部署在一台机器(作为主节点,master),其它机器节点(称为从节点,slave)的启动都由...原创 2009-05-07 23:47:42 · 142 阅读 · 0 评论 -
Google Chrome现在支持Web Sockets了
[url=http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html]Web Sockets Now Available In Google Chrome[/url]从Chrome 4.0.249.0开始支持Web Sockets,而且缺省设置为开启。Web Socket是Web上的TCP,为Web应用提供...2009-12-10 22:43:13 · 338 阅读 · 0 评论 -
gbk, gb2312,big5,unicode,utf-8,utf-16的区别
[url=http://www.cppblog.com/bidepan2023/archive/2007/02/12/18691.html]gbk, gb2312,big5,unicode,utf-8,utf-16的区别[/url]转自 [url=http://www.cppblog.com/bidepan2023/]fmddlmyy 的 Blog[/url]标题 谈谈Unicode编...原创 2009-10-27 16:34:16 · 140 阅读 · 0 评论 -
OGR vector data tips and tricks
[url=http://gfoss.blogspot.com/2008/06/ogr-vector-data-tips-and-tricks.html]OGR vector data tips and tricks[/url]by markusN[size=medium][b]Get vector map extent[/b][/size]You can easily grep t...原创 2009-10-16 22:24:49 · 160 阅读 · 0 评论 -
ubuntu下erlang源代码的编译与安装
今天重装了ubuntu系统(ubuntu server),发现开发环境几乎是裸的。再重新编译安装erlang需要一些关键库,去年装过,现在又忘了,记之备查。当然可以用apt-get直接安装erlang,不过版本有些旧而已,本文说的是如何从源代码编译出一个在ubuntu下可用的erlang。可以用如下命令察看apt安装erlang所依赖的其它库:sudo apt-get buil...2009-03-27 21:40:12 · 1411 阅读 · 0 评论 -
HTTP反向代理的理解
出于安全考虑,局域网内的机器访问访问墙外的网站借助于代理服务器进行,如果把局域网外Internet想象成一个巨大的资源库,局域网内的用户要访问这个库里的资源必须统一通过代理服务器进行。反过来,如果局域网向Internet提供资源,让Internet上的用户访问局域网内的资源也可以设置成一个代理服务器,只不过与我们常用的代理服务器方向正好相反,所以叫反向代理(Reverse Proxy)。包...原创 2009-03-14 16:54:57 · 362 阅读 · 0 评论 -
用tor自建的局域网代理服务器
知道了不值一提,记之备忘要求很简单,局域网内有些机器不能直接访问互联网,因此用自己的机器中转一下。一般安装tor后会带有privoxy,privoxy作为http代理服务器负责将tor提供的scoket5转换成http。缺省情况下privoxy只负责代理本机的http请求,要想让局域网内其它机器也能使用只要修改一下privoxy的主配置文件(Main Configuration),...原创 2009-03-07 16:25:26 · 1949 阅读 · 0 评论 -
VIM深度学习之旅(zz)
VIM深度学习之旅(1)http://imtx.cn/archives/122.html(2)http://imtx.cn/archives/124.html2008-06-06 00:50:41 · 267 阅读 · 0 评论 -
Linux动态库搜索路径(转载)
原文:http://blog.chinaunix.net/u/16651/showart.php?id=434959众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库...2008-05-30 00:13:23 · 111 阅读 · 0 评论