自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (4)
  • 收藏
  • 关注

原创 Protocol Buffer 三 简单例子之Java程序

首先用maven创建一个简单的Java application.mvn archetype:generate -DgroupId=org.freebird.protocolbuffer -DartifactId=sample -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false创建的目录结构如下:$ tre

2012-05-31 23:08:38 4445 1

原创 Protocol Buffer 二 简单例子之C++程序

我的例子是为了证明Protocol Buffer良好的跨语言特性。例子由两个程序构成,一个是C++程序,负责将对象User序列化到文件中。另一个是Java程序,负责从文件中反序列化成User对象。下面的图形反映了两个程序以及Protocol Buffer之间的关系。先设计User对象的proto文件,Protocol Buffer编译器要利用它生成C++文件和Java文件。package samp

2012-05-30 20:15:58 6221

原创 Protocol Buffer 一 安装

下载编译器的源代码:http://code.google.com/p/protobuf/downloads/list 阅读README(C++/Java/Python)LInux下的C++安装方式:  $ ./configure  $ make  $ make check  $ make installLinux下的Java安装方式1.首先执行C++安装方式2.建议使用Nexus作为私服需要修改p

2012-05-30 19:51:58 3988

原创 Gerrit管理帐号

前面的文章描述了如何搭建一个Gerrit server和基本的使用。本文描述Gerrit的管理。文档Gerrit服务器启动后,网站上有一个Documentation链接。点击后会看到四个选项:index,searching,uploading和access control文档内容很多,不必专门去Gerrit官方查找。创建CI服务器使用的帐号CI服务器比如Jenkins肯定需要访问Gerrit来获取

2012-05-26 18:21:13 16102

原创 Ubuntu12.04 server安装Gerrit

前一阵子在CentOS 6.2上安装了Git/gitosis/ReviewBoard,那个烦啊。主要是gitosis这个东西管理不方便,其次是 Review board安装也比较繁琐,需要在客户端使用hook。虽然大家已经开始使用,而且用起来感觉比较简单。但是review board工作流过于宽松,程序员不经过批准也可以push代码到远程服务器上。基本上属于君子协定,不太适合对代码提交审查严格的环

2012-05-20 18:46:40 10283 3

原创 Linux用户管理命令

每次都去查,总是记不住,最终还是在这里做个笔记吧。添加用户useradd和adduser都能添加用户,区别是:1.adduser会提示设置密码,而useradd不会。2.adduser会创建用户目录,比如/home/freebird  freebird是用户,useradd不会3.adduser会创建用户组,默认和用户名相同4.adduser会询问全名,房间号码,电话号码等用户信息,useradd

2012-05-20 13:42:05 8262

原创 git checkout之一 HEAD基本和detached 状态

1.HEAD基础git checkout 实际上是修改HEAD文件的内容,让其指向不同的branch。HEAD文件指向的branch就是当前branch.一般来讲,HEAD的内容是指向staging(暂存区)的master文件的。ref: refs/heads/master当然也可指向其他索引文件,不管怎么样,这个索引文件的内容又由git reset控制。通过git branch命令看到的结果和H

2012-05-19 18:40:01 116274 4

原创 Review board 和 Git 配合使用 三

现在看看Review board推荐的post-review工具。该工具可以简化工作,上一节的描述中一般都要自己生成一个diff文件,然后上传到网站上,发起一个请求。post-review 可以简化这种工作。文档可以参考:http://www.reviewboard.org/docs/manual/1.6/users/tools/post-review/在Ubuntu上可以执行easy_insta

2012-05-13 15:45:57 12187

原创 Review board 和 Git 配合使用 二

Repositories设置接前文。浏览器上输入http://battleship,然后输入管理员的用户名(我这里是admin)和密码,登陆成功后右上角菜单会看到Admin链接。点击后进入管理页面。在Repositories选中中添加一个新的repository,然后设置hosting如下图:选择Custom的原因是我们采用了老旧的gitosis。SSH私钥设置选择settings菜单,进入SSH

2012-05-13 12:08:29 8437 1

原创 三年后再反思我的" Java Web项目管理得失谈"

三年前,我写了 Java Web项目管理得失谈,文章地址:http://blog.csdn.net/sheismylife/article/details/4154325这三年,自己经历了SOHO,北京互联网公司和现在的ESRI研发中心,技术能力又有了很大的提升,管理上也历练了不少。重新阅读我过去的文章,又有了新的认识。过去那篇文章总结了项目结果不如预期的几个主要原因:只挑选其中几个再说明。1)程

2012-05-12 22:38:28 26304 35

原创 Review board 和 Git 配合使用 一

出于一个美好的目的,当代码提交之前,需要自动通知相关人员进行代码review,当review代码的人批准后才能将代码提交到代码仓库中,否则修改后再次review。项目的工程师可能不在一个地方办公,比如我们ESRI,工程师分布在不同的国家的不同部门。因此需要Email和Web站点来协同工作。我们的代码管理也是多种多样,美国团队使用Starteam,我们中国使用Git. 本来在Git之上有一个很好的r

2012-05-12 15:44:40 8861

原创 ELisp编程十四:宏三

下面的宏实现了一个逻辑:首先将expression求值,然后赋值给var如果var为真,则执行then参数求值后的表达式否则执行else参数求值后的表达式,else参数为可选。感谢danlei带来的例子。该文章他的回答解释了为什么比C/C++宏强大的原因。http://stackoverflow.com/questions/10535684/lisp-macro-special-usage/105

2012-05-11 23:25:46 3429

原创 ELisp编程十三:宏二

为什么分两个步骤:先展开宏,再求值。因为单单有一个宏定义(这里称macro body)是不能在编译时求值的,宏的参数还没呢。宏的参数必须要等到编译器看到宏调用代码的时候才能知道。因此将宏参数传递给宏定义,然后展开宏再求值,是唯一能行的方法。很好理解,这里就像C++的一样。反引号(Backquote)`最简单的情况下,和‘功能相同,代表不要对一个list求值 `(a list of (+ 2

2012-05-10 21:54:09 3507

原创 Windows 通过公钥访问Git Server

Reviewboard的windows客户端, Gerrit的windows客户端, Jenkins的Windows server端都需要这种方式。1.请先安装Git bash和TortoiseGit程序。2.先运行Git bash,在bash终端上运行ssh-keygen.exe 不要输入密码,最后会告诉你生成了公钥和私钥文件,记住名称。3.将公钥文件改名,根据文件内容的最后一个字符串,然后按照

2012-05-08 13:57:57 7437 2

原创 ELisp编程十三:宏一

参考文档:http://www.gnu.org/software/emacs/manual/html_node/elisp/Macros.html#Macroshttp://www.emacswiki.org/emacs/EmacsLispManual_Chinese_Notes#toc54简单的例子:文档中少了一行代码,我补上:(defmacro inc (var) (list

2012-05-05 23:30:27 3712

原创 ELisp编程十二:正则表达式二

字符类别参考文档:http://www.gnu.org/software/emacs/manual/html_node/elisp/Char-Classes.html#Char-Classes字符类别使用时需要在外面再加上方括号,比如字符串:abcd  3 ab\ ef要想匹配里面的数字,需要使用字符类别:  [:digit:]正则表达式写法是:"[[:digit:]]"[:xdigit:] 用来

2012-05-05 22:32:42 4139

原创 ELisp编程十一:正则表达式一

交互式编写正则表达式比如buffer中有一个字符串abcd 3运行命令:M-x:re-builder会出现一个小buffer,在双引号里面输入正则表达式d ,上面有字符串的buffer马上高亮d字符,如果输入3,则高亮3字符。特殊字符参考文档:http://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Special.html#R

2012-05-03 23:19:16 4750

原创 CentOS 5.6 安装Nginx

在/usr目录下执行命令下载最新Nginx源代码:wget http://nginx.org/download/nginx-1.2.0.tar.gz解压后可以看到nginx-1.2.0目录:tar zxvf nginx-1.2.0.tar.gz安装PCRE库yum -y install pcre-devel安装openssl库yum -y install openssl openssl-devel

2012-05-02 10:22:44 4964

JSF2自定义组件编程系列 第五部分 源代码

package composite component into jar maven3 jsf2 UBuntu glassfishv3.0.1 Emacs JDEE

2011-01-06

JSF2 example project

一个我自己用的JSF2的模板工程,使用maven-glassfish-plugin,mybatis,logback。

2011-01-03

用UBuntu开发OpenGL程序8

摄像头360度旋转示例 开发平台,UBuntu,NetBeans6.8

2010-02-24

用UBuntu开发OpenGL程序6 源代码

文章附带源代码,NetBeans6.8工程,UBuntu系统

2010-02-15

空空如也

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

TA关注的人

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