自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 收藏
  • 关注

原创 Spring利用注解进行多次拦截

最近在用Spring AOP时遇到一个问题。一个切入点会触发两个通知,而切入点是通过注解进行标注的,而注解作为参数传递给通知方法。这样的情况下同时触发两个通知,Spring调用通知方法时传递的注解参数会出现类型错误的问题。 先定义两个注解,Annotation1和Annotation2[code="java"]@Target(ElementType.M...

2015-08-23 11:43:14 373

原创 HBase Coprocessor示例

HBase的coprocessor分为两类,Observer和EndPoint。Observer相当于触发器,代码部署在服务端,相当于对API调用的代理。介绍这方面的文章不少,在此不赘述。这里想说一下EndPoint的使用。 EndPoint相当于存储过程。0.94.x之前使用EndPoint需要实现CoprocessorProtocol接口,而0.96.x的...

2015-03-27 10:22:11 275

原创 Hive自定义UDAF详解

遇到一个Hive需求:有A、B、C三列,按A列进行聚合,求出C列聚合后的最小值和最大值各自对应的B列值。这个需求用hql和内建函数也可完成,但是比较繁琐,会解析成几个MR进行执行,如果自定义UDAF便可只利用一个MR完成任务。 所用Hive为0.13.1版本。UDAF有两种,第一种是比较简单的形式,利用抽象类UDAF和UDAFEvaluator,暂不做讨论。主...

2014-07-25 14:14:16 683

原创 Applier编译安装

Applier是MySQL推出的MySQL数据库与HDFS数据的实时同步工具,Hive的数据实时同步同样适用。官方介绍可参见:http://dev.mysql.com/tech-resources/articles/mysql-hadoop-applier.html[size=large]环境:[/size] Applier当前的版本为0.1.0-...

2014-02-27 18:09:07 270

原创 编译libhdfs

Mysql Applier是Mysql向hdfs进行实时备份的工具。其中用到了libhdfs,是hadoop提供的C语言访问hdfs的接口。以下是编译过程和遇到的问题。 libhdfs编译过程比较顺利,执行如下命令即可:[code="java"]ant compile-c++-libhdfs -Dislibhdfs=true[/code]下面的官方...

2014-02-25 15:32:40 259

原创 调整gofmt和goimports的缩进

goimports是一个类似于gofmt的go代码格式化工具,除此之外还可以自动修正import的package,但仅限于标准库。 goimports的缩进默认是8个长度单位的tab,但个人已经习惯了4个长度单位,所以对goimports进行了一下修改,使其行首缩进4格。 1、下载goimports的源码 goi...

2014-02-09 23:25:18 2017

原创 synergy共享键鼠

sharemouse和synergy是局域网内共享键鼠比较好的两款软件。我是在linux和mac之间进行共享,sharemouse只支持win和mac,所以选择了synergy。synergy几乎是全平台支持,也包括android。服务端和客户端的配置不在赘述,使用的过程中我没用配置文件,都是gui直接操作的。需要注意的一点是在服务端配置客户端的screen时,screen nam...

2014-01-20 16:28:18 1550

原创 Eclipse for mac 支持Retina

Eclipse.app下找到Info.plist,添加如下信息:[code="java"]NSHighResolutionCapable[/code]

2014-01-16 23:18:15 104

原创 用java7启动Eclipse for mac

mac上装的是eclipse 3.7,直接启动时会提示没有安装java6,但机器上已经有了java7。做一下修改可以用java7启动eclipse。1、Eclipse.app内找到Info.plist,在Eclipse下添加如下内容[code="java"]-vm/Library/Java/Ja vaVirtualMachines/jdk1.7.0_45.jdk/Conten...

2014-01-16 23:09:01 118

原创 RCFile浅析

RCFile是Facebook制定的一种数据格式,应用在Hive、pig等系统中。RCFile结合了行存储和列存储的优点,对数据进行行分割和列分割后存储。行分割形成的多行组成一个row split,每个row split里面进行列分割。即:一个row split表示多行数据,row split内部的一行表示一列数据。需要注意的是:RCFile中的“key”和“value”一般不与MR...

2013-07-11 16:52:33 606

原创 eclipse中Access restriction问题的解决

如果在Eclipse使用某些访问受限的API时,会报这种错误:[color=red][b]Access restriction: The type Resource is not accessible due to restriction on required library[/b][/color]这是因为Eclipse默认把这些受访问限制的API设成了ERROR,在java-compi...

2013-04-24 16:58:31 251

原创 KMP算法

之前看过KMP的算法,道理挺简单,但是算法实现有点不好懂。近来重温,转一篇写的比较好的blog。[url]http://www.cppblog.com/oosky/archive/2006/07/06/9486.html[/url] 这个求模式值的函数逆天了,反正我写不出来 :wink: [code="c"]void nextIndex(const c...

2012-10-03 21:35:19 76

原创 C语言中一个函数返回值不一致的问题

对于一个只用C写十几二十行程序的菜鸟,也能遇到这样那样诡异郁闷的问题,其实知道点底层也挺好的。先说这个问题:[code="c"]#include #include #define max(a,b) ((a)>(b)?(a):(b))int computeMax(int [], int);int main() { int array[10] = {1...

2012-09-18 23:55:36 1594

原创 编译安装googlepinyin输入法

苦于没找到fedora下googlepinyin的rpm安装包,好像也没有fedora源(貌似ubuntu有),直接下载了源码安装。 googlepinyin依赖libgooglepinyin,我下载的是fcitx-googlepinyin-0.1.5.tar.xz和libgooglepinyin-0.1.2.tar.bz2 先安装libgooglep...

2012-07-18 20:39:37 723

原创 sublime text 2插件

1、convert2utf82、VintageEx

2012-06-27 20:11:51 104

原创 mapreduce输出文件的重命名

之前看过,但用到的时候又忘记了……做下备注,以防忘记 重写MultipleOutputFormat的String generateFileNameForKeyValue(K key, V value, Configuration conf)方法。...

2012-06-27 19:35:41 433

原创 linux菜单与文件关联

刚手动装了一个sublime text 2,想设置一下菜单和打开方式,发现不会……找了老半天,找到个讲的挺明白的,转一下。 [url]http://forum.ubuntu.org.cn/viewtopic.php?t=259119[/url] 注:xfce的桌面环境,菜单的设置可以按照上面的方法,但文件的打开方式不可以。需要修改个人的~/.lo...

2012-06-27 19:35:12 101

原创 关于尾递归

经常说尾递归,但发现如果具体说怎么回事,还是有点懵……老赵的blog上写了一篇尾递归的文章,不错,转一下: [url]http://blog.zhaojie.me/2009/03/tail-recursion-and-continuation.html[/url]...

2012-06-13 10:35:14 81

原创 shell中判断变量是否是数字

1、[url]http://www.kuqin.com/article/24shell/172512.html[/url]var=$(echo $1|bc 2>/dev/null)if [[ $var != $1 ]] then echo "$1 isn't a number!" exit 1fiif echo $1|gre...

2012-05-29 12:01:37 991

原创 hadoop中迭代器的对象重用问题

在用reduce时出现一个问题,在这上面耗费了好些时间,一直以为是业务逻辑方面的问题,不曾想是技术上的问题:reduce中迭代器返回对象的问题。写此blog以纪念在解决这个问题时的怂……囧 先看这个reduce的实例:[code="java"]public static class sellerInfoReduce extends MapReduceBas...

2012-05-07 18:58:43 295

原创 Java的补码表示

最近发现一个比较低级的问题,就是java中的数值表示。Java是使用补码表示数值的,但一直忽略了哪个是源码,哪个是补码。看这个简单的例子:[code="java"]public class JavaTest { public static void main(String[] args) throws Exception { System.out.pr...

2012-04-20 17:19:39 374

原创 同步锁的失败可能

以下例子参考[url]http://developer.51cto.com/art/201104/256239.htm[/url] 网上闲逛时发现一篇博文,讲的是单例同步锁时失败的可能,提到的错误自己基本都忽略了,下面以其中的例子说一下自己的理解。 单例模式是比较简单直接的:[code="java"]public class Singleton { ...

2012-04-20 10:29:14 191

原创 C语言中strlen方法的陷阱

在用strlen时遇到挺郁闷的问题,用strlen求字符数组的长度时总是不对,google了一下才发现忽略了其中的一些细节。[code="c"]int main() { char a[5]="AABCD"; char b[4]="CDAA"; int len = strlen(a); printf("%d\n",len);}[/cod...

2012-03-13 23:56:20 683 1

原创 函数宏与函数调用开销

在阅读K&R中macro substitution一节中提到[quote]One practical example comes from , in which getchar and putchar are often defined as macros to avoid the run-time overhead of a function call per chara...

2012-03-08 00:09:35 493

原创 结构体的大小——结构体对齐问题

C语言中,基本数据类型与操作系统有关(虽然直接与编译器相关),基本没有什么变化。比如在32位操作系统中,int占4个字节,long占4个字节,char占1个字节,double占8个字节。但是结构体的大小并不只与操作系统有关了,与编译器有比较大的关系。 不同的编译器有不同的对齐方式,下面以32为linux下gcc4.6为例,分析一下gcc中结构体对齐的问题。...

2012-03-05 23:31:28 264

原创 使用hadoop序列化机制时的一点小问题

其实在现在接触到的数据处理中还没怎么碰到到需要自己实现序列化对象的情况。偶然看到一篇文章,说的是由于偷懒而造成序列化和反序列化时造成的不必要的时间和空间消耗。其实如果自己遇到这种问题,应该也会使用同样偷懒的方法。这里说明一下,以便提醒自己要这么做时,是否考虑到了性能方面的问题。 原文地址:[url]http://teddziuba.com/2008/04/dont...

2012-02-25 17:07:24 73

原创 关于getchar()、scanf()、gets()

在看K&R的时候对于getchar()产生了一点疑问,下面根据自己的理解和几个例子说明一下。 [color=blue][size=medium]Q1:关于EOF[/size][/color][code="c"]#include int main() { int c; while((c = getchar()) != EOF)...

2012-02-18 21:25:02 85

原创 fedora相关软件及启动优化

1、axel yum多线程更新 2、yum-fastestmirror 自动选择最快的源进行更新[color=blue]==============================我是分割线================================[/color] systemd-analyz...

2012-02-16 23:43:04 159

原创 Linux基本数据类型大小——int,char,long int,long long int

转自:[url]http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/[/url] 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h文件对Linux下数据类型的限制及存储字节大小的说明。  /* We don't ha...

2012-02-12 16:47:25 527

原创 [转]float在计算机中的存储

转自[url]http://blog.csdn.net/guqsir/article/details/7015267[/url] 浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。 一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent ...

2012-02-10 16:41:36 139

原创 firefox几个比较有用的扩展

1、down them all 不用多说,多线程下载的2、chmfox 看chm格式文件的3、ease link 解码迅雷、qq、快车等专用下载连接的,相当有用4、firebug 搞开发的都知道这个干啥的了吧5、webmail notifier 使用网页邮箱时的邮件提醒6、huaban e...

2012-01-25 00:28:51 473

原创 安装python的mysql驱动的问题

在fedora 15下安装python的mysql驱动遇到了两个小问题,记录一下: 1、找不到setuptools模块 在执行python setup.py build时提示找不到setuptools模块。[img]http://dl.iteye.com/upload/attachment/596290/72857200-ba94-3...

2011-11-28 00:19:49 124

原创 ngnix编译依赖

编译安装ngnix,有时configure不成功,有时configure勉强成功了,make又出错。后来发现是依赖包没有安装完全。 zlib zlib-devel openssl openssl-devel pcre pcre-devel 这几个包提前安装好之后,configure和make就没什么问题了。...

2011-11-26 21:48:50 71

原创 cygwin环境下运行mahout的一些问题

本来想在windows环境下运行mahout处理一些数据问题,没想到cygwin中运行mahout遇到的问题让我很头疼。下面记录一些遇到的问题: 1、$MAHOUT_HOME/bin/下的mahout脚本中默认的MAHOUT_CONF_DIR是"$MAHOUT_HOME/src/conf",但是发行版与源码是两个独立的包,故发行版中没有src目录,不过倒是有c...

2011-11-24 14:31:44 84

原创 [转]vim对文件的编解码—encoding,fileencoding,fileencodings

vim对于文件的编解码有三个参数,分别是encoding、fileencoding,fileencodings,下面说的应该可以解决绝大多数的问题了。 [size=medium]1、支持中文编码的基础[/size] 要更好地支持中文编码需要两个特性:+multi_byte和+iconv,可以用|:version|命令检查当前使用的Vim是否支...

2011-11-21 16:44:50 207

原创 Linux下比较好用的几个软件(不定时更新)

[size=medium][color=darkblue] 1、expect[/color][/size] programmed dialogue with interactive programs。 Expect is a program that "talks" to other interactive programs according ...

2011-09-19 21:49:30 266

原创 关闭Fedora15多余的tty

由于fedora15使用了systemd来启动系统,所以老版本的fedora关闭多余tty(虚拟控制台)的方法就没用了。 其实阅读/etc/inittab能看出些端倪,很简单,只需要把/etc/systemd/system/getty.target.wants下多余的tty删除掉就行,这些文件都是一些link,均指向了/lib/systemd/system/get...

2011-09-12 16:51:20 166

原创 解决kernel 2.6.40-4.fc15下无线网卡冲突

更新了fedora15的新内核之后,发现无线网卡不能用了,驱动装载了之后照样不管用。一开始以为是驱动模块的问题,又重新装了两三遍驱动,还是不行。google了一下,发现是与bcma冲突,解决方法如下: 1、打开/etc/modprobe.d/broadcom-wl-blacklist.conf 2、添加语句:blacklist bcma...

2011-08-21 13:20:11 115

原创 Configuration简析

以下分析基于Hadoop-0.19.2 我们在写job的时候经常会写这么一句[code="java"]JobConf conf = new JobConf(***.class)[/code] 显而易见,这是加载Hadoop的配置。虽然整个过程简单说无非就是读取配置文件,但还是来简单分析一下内部是如何进行处理的。看一下JobConf这个类的...

2011-08-09 10:30:33 144

原创 SpringExt 扩展原理

这篇文章是基于webx框架官方文档整理的。具体的请参见webx官方文档。 首先先弄明白在面向对象的设计中比较核心的一个原则——OCP(Open-Closed Principle),也就是开闭原则。 最早描述OCP的是OCP原则的提出者Bertrand Meyer,他在他的著作《Object Oriented Software Construc...

2011-07-25 11:27:24 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除