自定义博客皮肤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)
  • 收藏
  • 关注

原创 ELisp编程十:求最大值

这是一个简单的练习,如果一个list中有几个数字,写一个函数,找出最大值。(setq number-list '(5 8 9 10 87 34))(defun max-number(n-list) (let ((tmp (car n-list)) (max tmp)) (while n-list (setq tmp (car n-list)) (if (>

2012-04-26 15:59:30 2894 1

原创 Ant删除目录

一个小功能,但是花了几个小时。记录下来。 执行ant clear-files 将删除当前工程目录下的content/apps/下面的所有av_template*为目录名的目录。注意:1.failonerror="false"可以保证如果要删除的目录不存在,也不会报错2.verbose="true" 能够看到详细信息,便于调

2012-04-26 10:11:41 7080

原创 Windows 2008 mount NFS server

本文描述如何用CentOS搭建NFS server,然后通过Windows 2008 server将NFS共享目录mount到本地驱动器Z上。CentOS搭建NFS server执行下面的命令安装NFS软件yum install portmap -yyum install nfs* -y编辑/etc/exports文件/opt/share              10.112.18.110(r

2012-04-24 12:50:10 21772

原创 ELisp编程九:循环

最简单的形式(while TRUE-OR-FALSE-TEST BODY...)比如:(setq x 10 total 0)(while (plusp x) ; while x is positive (incf total x) ; add x to total (decf x)) ; subtract 1 from x初始设置x=10,total=0如

2012-04-19 20:14:15 4889

原创 ELisp编程八:条件语句

false 和 true如果一个值不是false(或nil)的,都认为是true.symbol t 的值是true.symbol nil 的值是false.if语句下面的代码打印出"true"(if 'true (message "true"))注意,true前面必须加单引号,否则报错:error: (void-variable true)解析器抱怨找不到变量true的值。单引号阻止解析器求值。e

2012-04-19 14:18:46 4942

原创 ELisp编程七:创建函数

自定义函数用Emacs创建一个test.el文件。编写如下代码:(defun add2 (x) (+ 2 x))(add2 8)第一段是定义了一个函数add2,传递任意数值x,都会加上2后返回,在这个函数的最后的括号后面运行C-x C-e,创建该函数。然后在到第二段调用代码最后面执行C-x C-e在Mini-buffer可以看到和为10.如果想要调用一个不存在的函数,解析器会报错:(vo

2012-04-19 13:29:12 3278

原创 ELisp编程六:定义变量

给变量赋值set(set arg1 arg2) 这种语法将arg2设置为arg1的值比如: (set ‘flowers '(rose violet daisy buttercup))这是创建了一个symbol flowers,将(rose violet daisy buttercup) list 赋值给了flowers的value域。稍后,可以直接使用flowers,就像用变量一样,实际上是使用的

2012-04-19 10:02:17 5261

原创 ELisp编程五:解析器相关

Lisp解析器如何处理list?如果这个list前面有单引号,就会直接将该list返回(不包含单引号);如果没有单引号,则会将这个list的第一个元素作为函数名去查找,如果找到,则调用该函数,如果找不到则返回错误消息。一般按照从左到右的顺序一个一个处理list中的元素如果list内部有嵌套,解析器总是从最里层的那个开始处理。如何求值?求值的结果总是返回一个值,如果求值错误,也会返回错误信息内部li

2012-04-18 22:48:21 2897

原创 ELisp编程四:文件操作

确定一个文件是否存在(file-exists-p "~/test.el")看看它的帮助文档:file-exists-p is a built-in function in `C source code'.(file-exists-p FILENAME)Return t if file FILENAME exists (whether or not you can read it.)See

2012-04-17 13:39:28 4106

原创 ELisp编程三:理解错误信息与查看帮助

错误信息运行一句list(this is an unquoted list)Emacs(版本22之后)会打开一额个*Backtrace*的buffer,里面显示:Debugger entered--Lisp error: (void-function this) (this is an unquoted list) eval((this is an unquoted list)) ev

2012-04-17 10:52:28 3933

原创 ELisp编程二:Atom,Symbol,空格,注释

Atom在list中的不可分割的元素称为atom,比如前面一篇中的数字,单词,运算符号等。一个list可以只有一个元素,或者一个元素都没有。Empty list写成 (),这是一个特殊的list,因为它也同时算做一个atom.array(数组)也是一个atom,但是可以被分成多个部分。双引号括起来的字符串也是一个atom,它有个常叫的名字string.Symbolsymbol是一个对象,里面包含了

2012-04-16 18:50:29 5573

原创 ELisp编程一:运行elisp的各种方式

使用Emacs这么多年,越用功能越多,开发C++,Java,HTML,JavaScript,访问MySQL,CMake编辑。上新闻组,收Gmail,Emacs Lisp语言是其中的灵魂。自己开发或者修改emacs的扩展模块就需要掌握ELisp,而且Lisp既然是人工智能语言,学会它会让自己的思维上一个层次。有这么多好处,还等什么呢?立刻行动起来吧。从最简单的如何在Emacs上执行加法开始:输入M-

2012-04-16 16:42:49 9386 1

原创 CppCMS模板系统

CppCMS不知不觉已经用了很久了,产品也开发了几个。不过CppCMS的版本一直在演化,1.0已经正式发布,文档也在不断增加和更新。本篇从自己的体会谈谈模板系统(template system).下面这篇文章系统的介绍了template system。本文部分选取其中的例子,但是从我的角度重新解释。作者的文章有时候不是那么容易理解。http://cppcms.com/wikipp/en/page/

2012-04-15 21:07:45 6143 13

原创 几个基本字符集整理介绍

ASCII 参考:http://zh.wikipedia.org/wiki/ASCIIAmerican Standard Code for Information Interchange,美国信息交换标准代码用一个字节表示128个字符,其中不可显示字符33个.33个字符中有一些是已经废除的控制字符。另外就是95个可显示字符。128个字符显然不够用,只能支持26个英文字母,阿拉伯数字和标点符号。具体

2012-04-13 14:55:18 3905 1

原创 MongoDB升级操作

1.首先备份数据到另一台机器上http://www.mongodb.org/display/DOCS/Backups#Backups-Mongodump上面描述了几种备份的情况。服务不停备份服务停止备份我这次备份只是防止万一,比较简单,可以在服务运行的情况下备份。mongodump --host IP -d kaimei -o ~/kaimei_bk上面的命令运行子我自己的电脑上,也安装了mong

2012-04-08 10:01:45 5430

原创 Jackson应用三 对象属性的控制

通常都是通过第二篇介绍的Full Data Binding技术迅速享受Jackson带来的方便快捷。但是又很快就碰到一些小的问题,如何忽略某些属性,不让它参与序列化。(请别误会,这里不是谈Java serializable机制)还是蛮简单的,一个Annotation而已。修改一下Response.java文件,在message属性上加上@JsonIgnoreimport com.fasterxml

2012-04-06 15:22:06 8895

原创 Jackson应用二 Full Data Binding

Data Binding第二种应用是Full Data Binding.也就是可以支持自定义的Java类到JSON对象的互相转换。下面的代码演示了简单的使用方法:类Response的定义:import lombok.Getter;import lombok.Setter;/** * * @author chenshu */public class Response {

2012-04-06 15:03:16 4834

原创 Jackson应用一 Simple data binding

Jackson 是一个高性能的JSON Java 库,网址参考:http://wiki.fasterxml.com/JacksonHome先看看最简单的Simple data binding怎么使用。就是可以将属于Maps,Lists,Strings,Numbers,Nulls的Java对象转换成JSON对象,当然也可以从JSON对象转换成这些类型的对象。Simple data binding是D

2012-04-06 10:23:50 8736

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关注的人

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