<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2419964455604205023</id><updated>2012-02-15T23:31:19.590-08:00</updated><category term='jetspeed'/><title type='text'>cassockming's blog</title><subtitle type='html'>贫僧从东土大唐而来，前往西天拜佛求经</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-6297429749125422985</id><published>2008-02-25T23:30:00.000-08:00</published><updated>2008-03-01T21:33:32.735-08:00</updated><title type='text'>activemq+spring的简单例子</title><content type='html'>&lt;a href="http://cassock.googlegroups.com/web/mq.rar"&gt;mq.rar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;activemq服务器一台,producer一台,consumer一台&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/cassock/web/MDP.rar"&gt;MDP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-6297429749125422985?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/6297429749125422985/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=6297429749125422985' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/6297429749125422985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/6297429749125422985'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2008/02/activemqspring.html' title='activemq+spring的简单例子'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-680012939943781150</id><published>2008-01-26T00:12:00.000-08:00</published><updated>2008-01-26T00:23:31.882-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jetspeed'/><title type='text'>安装Jetspeed-2</title><content type='html'>1.下载jetspeed&lt;br /&gt;&lt;a href="http://www.apache.org/dist/portals/jetspeed-1/jetspeed-1.6-war.zip"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;a href="http://apache.mirror.phpchina.com/portals/jetspeed-2/binaries/jetspeed-2.1.3-installer.jar"&gt;&lt;strong&gt;http://apache.mirror.phpchina.com/portals/jetspeed-2/binaries/jetspeed-2.1.3-installer.jar&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;2.执行jetspeed-2.1.3-installer.jar,选择安装目录,选择数据库类型为postgres&lt;br /&gt;&lt;br /&gt;3.postgres中创建数据库prod-2&lt;br /&gt;&lt;br /&gt;4.进入Jetspeed-2.1.3\database,修改database.properties,完整数据库的配置&lt;br /&gt;&lt;br /&gt;5.将postgres下的jdbc jar复制至server/shared/lib 下&lt;br /&gt;&lt;br /&gt;6.进入Jetspeed-2.1.3\database,运行ant&lt;br /&gt;&lt;br /&gt;7.启动tomcat&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-680012939943781150?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/680012939943781150/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=680012939943781150' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/680012939943781150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/680012939943781150'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2008/01/jetspeed-2.html' title='安装Jetspeed-2'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-7056204329432186557</id><published>2007-11-24T03:04:00.000-08:00</published><updated>2007-11-24T05:04:07.678-08:00</updated><title type='text'>CGLIB部分翻译</title><content type='html'>原文：&lt;a href="http://www.ociweb.com/jnb/jnbNov2005.html"&gt;http://www.ociweb.com/jnb/jnbNov2005.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;使用CGLIB库创建动态代理&lt;br /&gt;&lt;br /&gt;介绍CGLIB库&lt;br /&gt;代理提供一个替身或持有者去控制访问目标对象。他引入了一种间接访问对象的方式，自从JDK1.3开始，JDK就引入了动态代理，被经常用做创建动态代理。JDK的动态代理使用简单，但是它所代理的类需要有一个或多个接口。如果需要代理旧系统中遗留下来但没有接口的类，怎么办呢？你需要使用CGLIB库。&lt;br /&gt;&lt;br /&gt;CGLIB库是一个强大的、高效的代码生成类库。它广泛的被使用在基于面向方面编程(AOP)的框架中，比如Spring AOP和dynaop，提供方法去拦截。Hibernate，最流行的object-relation mapping工具，也用CGLIB库去代理单联关系.(many-to-one和one-to-one)关联(非对集合的延迟加载，它使用不同的机制实现).EasyMock和jMock使用模拟对象对Java代码进行测试的类库，他们都使用CGLIB库为那些没有接口的类创建模拟对象。&lt;br /&gt;&lt;br /&gt;CGLIB库在底层使用一个而快的字节码处理框架—ASM，它将存在的字节码进行转换并生成新的类。除CGLIB之外，脚本语言解析器，比如Groovy和BeanShell也使用ASM生成Java字节码。ASM使用类似SAX解析器方式的机制来实现高性能。不鼓励直接使用ASM，因为它需要较高的JVM知识，包括类文件形式和命令集.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_M-qdtB0cd1w/R0ggYC6N_oI/AAAAAAAAAF0/164YrvQ0Ics/s1600-h/clip_image002.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_M-qdtB0cd1w/R0ggYC6N_oI/AAAAAAAAAF0/164YrvQ0Ics/s320/clip_image002.jpg" alt="" id="BLOGGER_PHOTO_ID_5136390972486057602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;图1: CGLIB库和ASM字节码框架&lt;br /&gt;&lt;br /&gt;图1展示了CGLIB库相关框架和语言直接的关系.。注意一些框架，比如Spring AOP和Hibernate，通常会根据需要，既使用CGLIB库又使用JDK动态代理.Hibernate为网状的应用服务器使用JDK动态代理来实现事务管理适配器；而Spring AOP，除非你指定使用CGLIB代理，否则默认使用JDK动态代理。&lt;br /&gt;&lt;br /&gt;CGLIB Proxy APIs&lt;br /&gt;CGLIB库基本代码很小，但是由于缺乏文档，因此很难学习.目前版本为2.1.2。CGLIB库的结构如下&lt;br /&gt;• net.sf.cglib.core&lt;br /&gt;底层字节码处理类，他们大部分与ASM有关系。&lt;br /&gt;• net.sf.cglib.transform&lt;br /&gt;编译期或运行期类和类文件的转换&lt;br /&gt;• net.sf.cglib.proxy&lt;br /&gt;实现创建代理和方法拦截器的类&lt;br /&gt;• net.sf.cglib.reflect&lt;br /&gt;实现快速反射和C#风格代理的类&lt;br /&gt;• net.sf.cglib.util&lt;br /&gt;集合排序工具类&lt;br /&gt;• net.sf.cglib.beans&lt;br /&gt;JavaBean相关的工具类&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;要创建动态代理，你只需要使用在代理包里的一些API.&lt;br /&gt;如之前的章节中所述，CGLIB库是一个比ASM级别高的层。它无需实现接口去代理类是非常有效的。本质上，它动态的生成一个子类去覆盖被代理类的non-final方法并且wires up hooks去毁掉用户定义的拦截器。他比JDK动态代理方式更快速.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_M-qdtB0cd1w/R0ggny6N_qI/AAAAAAAAAGA/7IsNfsjeUMk/s1600-h/clip_image002.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_M-qdtB0cd1w/R0ggny6N_qI/AAAAAAAAAGA/7IsNfsjeUMk/s320/clip_image002.jpg" alt="" id="BLOGGER_PHOTO_ID_5136391243068997282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;图2: CGLIB库用作代理的常用API&lt;br /&gt;如图2所示，CGLIB库常用于实现代理的API. net.sf.cglib.proxy.Callback接口是一个标记接口。所有的回调接口都继承这个接口并被net.sf.cglib.proxy.Enhancer使用。&lt;br /&gt;net.sf.cglib.proxy.MethodInterceptor是最普遍的回调类型。它通常使用于基于代理的AOP实现来拦截方法调用，这个接口有单一的一个方法&lt;br /&gt;public Object intercept(Object object, java.lang.reflect.Method method, Object[] args, MethodProxy proxy) throws Throwable;&lt;br /&gt;当net.sf.cglib.proxy.MethodInterceptor是一个代理的所有方法的回调时，调用该方法前，代理调用的方法会通知原有对象上的方法. 如图3所示。第一个参数是代理对象。第二个参数是原始对象，第三个参数是方法被拦截是方法的参数原始的方法也可以被普通的反射类java.lang.reflect.Method的对象使用，也可以被net.sf.cglib.proxy.MethodProxy对象使用。net.sf.cglib.proxy.MethodProxy由于更快，所以通常是首选，客制化代码能够在调用原始方法之前或者后被注入.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_M-qdtB0cd1w/R0ghFS6N_rI/AAAAAAAAAGI/ruv038gVka8/s1600-h/clip_image002.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_M-qdtB0cd1w/R0ghFS6N_rI/AAAAAAAAAGI/ruv038gVka8/s320/clip_image002.jpg" alt="" id="BLOGGER_PHOTO_ID_5136391749875138226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;图三: CGLIB MethodInterceptor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-7056204329432186557?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/7056204329432186557/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=7056204329432186557' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/7056204329432186557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/7056204329432186557'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/11/cglib.html' title='CGLIB部分翻译'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_M-qdtB0cd1w/R0ggYC6N_oI/AAAAAAAAAF0/164YrvQ0Ics/s72-c/clip_image002.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-4504475805051683673</id><published>2007-10-25T10:19:00.001-07:00</published><updated>2007-10-25T10:25:12.342-07:00</updated><title type='text'>linux常用命令</title><content type='html'>1.查看ip ifconfig&lt;br /&gt;&lt;br /&gt;2.查看网络端口 netstat -an|grep 61616&lt;br /&gt;&lt;br /&gt;3.查看进程 ps -an | grep java&lt;br /&gt;&lt;br /&gt;4.添加操作权限 chmod 777 filename&lt;br /&gt;&lt;br /&gt;5.查看已安装的软件位置 whereis java&lt;br /&gt;&lt;br /&gt;6.查看当前路径 pwd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-4504475805051683673?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/4504475805051683673/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=4504475805051683673' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/4504475805051683673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/4504475805051683673'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/10/linux.html' title='linux常用命令'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-6129614588858434186</id><published>2007-09-21T05:55:00.000-07:00</published><updated>2007-09-21T06:23:23.437-07:00</updated><title type='text'>suse 安装 jdk5</title><content type='html'>1. 下载jdk5 -- jdk-1_5_0_09-linux-i586-rpm.bin&lt;br /&gt;2. 将下载文件 放在/tmp下&lt;br /&gt;3. 输入./jdk-1_5_0_09-linux-i586-rpm.bin&lt;br /&gt;4. java -version 如果版本是java version "1.4.2_06",则需修改环境变量.&lt;br /&gt;5. 编辑/ect/profile&lt;br /&gt;6. 在最后添加&lt;br /&gt;export JAVA_HOME=/usr/java/jdk1.5.0_06&lt;br /&gt;export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar&lt;br /&gt;export JRE_HOME=$JAVA_HOME/jre&lt;br /&gt;export PATH=$JAVA_HOME/bin:$PATH&lt;br /&gt;&lt;br /&gt;7.注销，进入系统 java -version "1.5.0_09"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-6129614588858434186?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/6129614588858434186/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=6129614588858434186' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/6129614588858434186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/6129614588858434186'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/09/suse-jdk5.html' title='suse 安装 jdk5'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-9018482234301777296</id><published>2007-08-11T19:58:00.000-07:00</published><updated>2007-08-11T20:28:24.860-07:00</updated><title type='text'>young girl</title><content type='html'>不知不觉喜欢上一个小丫头，比我小...6岁&lt;br /&gt;&lt;br /&gt;怪怪的感觉&lt;br /&gt;&lt;br /&gt;她要是问我喜欢她什么，我肯定还是不知道怎么回答&lt;br /&gt;&lt;br /&gt;因为喜欢，所以喜欢&lt;br /&gt;&lt;br /&gt;比如：&lt;br /&gt;&lt;br /&gt;被一个变态骚扰的时候&lt;br /&gt;&lt;br /&gt;她认为吸引对方的是她的文采胜过于她的照片&lt;br /&gt;&lt;br /&gt;而忽略了别人正在骚扰她的事实&lt;br /&gt;&lt;br /&gt;比如:&lt;br /&gt;&lt;br /&gt;谈论我很色的这个问题&lt;br /&gt;&lt;br /&gt;到了我也同意自己是个色狼的地步&lt;br /&gt;&lt;br /&gt;于是我表示要控制自己的荷尔蒙&lt;br /&gt;&lt;br /&gt;她竟然认为这样她很失败&lt;br /&gt;&lt;br /&gt;阿弥陀佛!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-9018482234301777296?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/9018482234301777296/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=9018482234301777296' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/9018482234301777296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/9018482234301777296'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/08/young-girl.html' title='young girl'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-9215372262287562893</id><published>2007-05-04T21:26:00.000-07:00</published><updated>2008-01-25T05:19:38.584-08:00</updated><title type='text'>新体验</title><content type='html'>5月3号, 一时的冲动和3618的折磨下, 溜到了五棵松;&lt;br /&gt;&lt;br /&gt;下了车, 街上有一坨人, 不过mm们穿的都很到位, 心情不错;&lt;br /&gt;&lt;br /&gt;找了个店, 卖手机的mm长的一般, 所以我决定速战速决;&lt;br /&gt;&lt;br /&gt;blablablablablablablabla..........&lt;br /&gt;&lt;br /&gt;十五分钟后揣着小明出来了;&lt;br /&gt;&lt;br /&gt;他有以下几个优点：&lt;br /&gt;&lt;br /&gt;1. 是彩屏, 也就是彩色的屏幕, 标识着本人终于进入二十一世纪;&lt;br /&gt;&lt;br /&gt;2. 有摄像头, 标志着坐我对面的处长, 你以后上班睡觉的样子会成为我勒索你的证据;&lt;br /&gt;&lt;br /&gt;缺点：&lt;br /&gt;&lt;br /&gt;1. 写短信要用两只手了.&lt;br /&gt;&lt;br /&gt;2. 功能太多，不知道是干什么用的.&lt;br /&gt;&lt;br /&gt;3. 会引起贼注意(以前3618小偷看到了都不动手)&lt;br /&gt;&lt;br /&gt;给她发了几个短信, 没理我, 这不重要, 拿支笔写短信是很好玩的事情;&lt;br /&gt;&lt;br /&gt;以后开会的时候, 把声音开到最大;&lt;br /&gt;&lt;br /&gt;再见了3618, 如果哪天和流氓打架, 会有用武之地的.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-9215372262287562893?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/9215372262287562893/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=9215372262287562893' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/9215372262287562893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/9215372262287562893'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/05/blog-post.html' title='新体验'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-4795559262272917705</id><published>2007-04-19T08:01:00.001-07:00</published><updated>2007-04-19T08:02:47.766-07:00</updated><title type='text'>火车上吃摇头丸</title><content type='html'>&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-_2gW3zwMMQ"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-_2gW3zwMMQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-4795559262272917705?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/4795559262272917705/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=4795559262272917705' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/4795559262272917705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/4795559262272917705'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/04/blog-post_19.html' title='火车上吃摇头丸'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-971671933252428503</id><published>2007-04-18T08:20:00.000-07:00</published><updated>2007-04-18T09:43:02.742-07:00</updated><title type='text'>About postcondition</title><content type='html'>These days we talked about how to write use case for Mining project. One issue is postcondition.&lt;br /&gt;&lt;p&gt;The postcondition are not action to be performed during the operation. So it should be the result of operation. Or I can consider the postcondition is the change after operation. There are always three types:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Instance creation and deletion.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Attribute change of value.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Associations (to be precise, UML links) formed and broken.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Postcondiction are not necessary. But we always forget association.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-971671933252428503?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/971671933252428503/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=971671933252428503' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/971671933252428503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/971671933252428503'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/04/about-postcondition.html' title='About postcondition'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-2895490094159090612</id><published>2007-04-17T07:37:00.003-07:00</published><updated>2007-04-17T08:02:05.649-07:00</updated><title type='text'>需求用例评审</title><content type='html'>&lt;span style="font-family:times new roman;"&gt;愿景&lt;br /&gt;&lt;br /&gt;愿景目标直接或间接来自对这个系统的好坏有最终发言权的人吗？&lt;br /&gt;愿景目标有办法度量吗？&lt;br /&gt;开发团队所有人都了解愿景吗？&lt;br /&gt;&lt;br /&gt;涉众&lt;br /&gt;&lt;br /&gt;这个系统之外，业务组织之内的涉众考虑了吗？系统可能会使他们获得什么？损失什么？&lt;br /&gt;业务组织之外，业务组织所属的大组织之内的涉众考虑了吗？系统可能会使他们获得什么？损失什么？&lt;br /&gt;政府、法律、文化等涉众考虑了吗？系统可能会触及他们哪些方面？&lt;br /&gt;开发组织内部的涉众（开发人员、管理人员）考虑了吗？系统可能会使他们获得什么？损失什么？&lt;br /&gt;开发团队所有人都了解1、2、3、4吗？&lt;br /&gt;&lt;br /&gt;用例图&lt;br /&gt;每个用例是否通过语法测试：“主执行者”使用系统来“用例名称”&lt;br /&gt;用例是否对涉众形成有意义的价值？&lt;br /&gt;针对每个用例思考：如果去掉这个用例，会对愿景造成多少损害？&lt;br /&gt;&lt;br /&gt;用例&lt;br /&gt;&lt;br /&gt;执行者&lt;br /&gt;是否直接和系统交互？系统是否将为其提供界面或接口？&lt;br /&gt;有没有遗漏辅助执行者？&lt;br /&gt;&lt;br /&gt;涉众利益&lt;br /&gt;是否真的来自该类涉众？&lt;br /&gt;是否该类涉众的直接利益？&lt;br /&gt;是否采用“希望….”或“担心…”的格式？&lt;br /&gt;&lt;br /&gt;前置条件&lt;br /&gt;系统是否能检测到条件是否满足？&lt;br /&gt;不满足条件，用例的第一步能否开始？&lt;br /&gt;&lt;br /&gt;后置条件&lt;br /&gt;系统是否能检测到条件是否满足？&lt;br /&gt;&lt;br /&gt;基本路径&lt;br /&gt;步骤书写是否符合“动作－验证－改变－回应”的规则？有没有把多个步骤合成一步？&lt;br /&gt;主语是否都为执行者或者“系统”？&lt;br /&gt;是否涉及了界面设计的细节？&lt;br /&gt;&lt;br /&gt;扩展路径&lt;br /&gt;系统能否检测扩展点条件？&lt;br /&gt;是否系统要处理的意外和分支？&lt;br /&gt;&lt;br /&gt;业务规则&lt;br /&gt;前排涉众是否理解该业务规则？该业务规则是否为解决某个非功能需求而产生？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;设计约束&lt;br /&gt;前排涉众是否理解该设计约束？该设计约束是否为解决某个非功能需求而产生？&lt;br /&gt;&lt;br /&gt;针对所有的步骤、约束前排涉众能否理解和验证所写的需求？&lt;br /&gt;&lt;br /&gt;系统最终如果不实现该条需求，会有哪些涉众的利益受损害？&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-2895490094159090612?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/2895490094159090612/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=2895490094159090612' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/2895490094159090612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/2895490094159090612'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/04/blog-post_8544.html' title='需求用例评审'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-818408367837269331</id><published>2007-04-17T07:33:00.000-07:00</published><updated>2007-04-17T07:59:48.711-07:00</updated><title type='text'>javascript 的面向对象特性参考</title><content type='html'>&lt;span style="font-family:times new roman;"&gt;转贴 &lt;/span&gt;&lt;a href="http://www.klstudio.com/post/52.html"&gt;&lt;span style="font-family:times new roman;"&gt;http://www.klstudio.com/post/52.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;br /&gt;最近在看用javascript+css实现rich client。javascript 也是一个蛮有意思的语言。特别是其面向对象的实现和其他“标准”的OO launguage有很大的不同。但是，都是动态语言，我还是觉得它比起python语法和库都差得太远。可是没有explorer支持python开发啊。。。：（&lt;br /&gt;&lt;br /&gt;这是我学习javascript中面向对象特性的一点总结。希望对具有其他语言的面向对象设计经验的朋友理解javascript的OO有所帮助。我具有c++,java和python的面向对象设计的经验。&lt;br /&gt;&lt;br /&gt;总的感受， javascript作为一种弱类型的动态语言，语法接近于java，但其面向对象的方式更和python相识。&lt;br /&gt;&lt;br /&gt;1 面向对象的特性&lt;br /&gt;&lt;br /&gt;类，成员变量，成员函数，类变量，类方法，继承，多态&lt;br /&gt;&lt;br /&gt;1) 类&lt;br /&gt;&lt;br /&gt;类的定义：function Circle(r) { this.r = r; }&lt;br /&gt;&lt;br /&gt;类的实例化： c = Circle(3);&lt;br /&gt;&lt;br /&gt;2) 成员变量&lt;br /&gt;&lt;br /&gt;成员变量在初始化函数里申明：this.r = r;&lt;br /&gt;&lt;br /&gt;注意，在对象生成后，你也可以给它附上成员变量，比如c.name="my circle"，&lt;br /&gt;&lt;br /&gt;但是除非特别的需要，我强烈建议你不要这样做。也就是所有的成员都应在初始化函数里声明。我认为这是一种好的style。&lt;br /&gt;&lt;br /&gt;这一点和python很相识。&lt;br /&gt;&lt;br /&gt;3）成员函数&lt;br /&gt;&lt;br /&gt;成员函数的标准形式是这样的：&lt;br /&gt;&lt;br /&gt;Cricle.prototype.area = function() { return 3.14 * this.r * this.r; }&lt;br /&gt;&lt;br /&gt;这和java或python或c++都大不一样。但为了帮助理解，你可以把prototype看作基类。&lt;br /&gt;&lt;br /&gt;prototype里面的变量或方法，是所有对象共享的。&lt;br /&gt;&lt;br /&gt;比如，c.area()调用最终就会让解释器调用到Circle.prototype.area().&lt;br /&gt;&lt;br /&gt;相比于java和c++，javascript具有他们都没有的一个语义，也就是你可以在prototype里定义变量。定义在prototype里的变量可以被所有的实例共享量。所以一般它应该是一个常数，比如：Circle.prototype.PI = 3.14.&lt;br /&gt;&lt;br /&gt;显然，prototype里的变量和方法都应该是不变的。每一个对象实例都不应该取修改prototype中的内容。虽然语言允许你可以这样做，但这样做没有任何意义，也违反了面向对象的语义（想想，java会让你动态修改一个类的方法吗）。&lt;br /&gt;&lt;br /&gt;当然，对于多态是另外一回事，在后面详述。&lt;br /&gt;&lt;br /&gt;而且，我建议所有的成员函数都在紧接类定义的地方定义。而不应该在代码运行的某个地方对一个对象实例增加/修改成员函数。这样的结果是javascript的类定义尽量向java看齐。使得代码更清晰。&lt;br /&gt;&lt;br /&gt;4）类变量&lt;br /&gt;&lt;br /&gt;类变量是属于一个类的变量。就像java里用static修饰的变量。因为它属于类，所以它也应该是一个常量。实例不应该去修改它，虽然你可以（java里可以用final修饰，使得类变量一旦定义，就不能修改）。这里可以看到，类变量和prototype里定义的变量的功能是相似的。确实如此，他们的目的都是一样的。但他们的访问方式&lt;br /&gt;&lt;br /&gt;不一样。比如：&lt;br /&gt;&lt;br /&gt;Circle.prototype.PI = 3.14;&lt;br /&gt;&lt;br /&gt;Circle.PI = 3.14;&lt;br /&gt;&lt;br /&gt;//用prototype里的变量&lt;br /&gt;&lt;br /&gt;Circle.prototype.area1 = function() { return this.PI * this.r * this.r; }&lt;br /&gt;&lt;br /&gt;//用类变量&lt;br /&gt;&lt;br /&gt;Circle.prototype.area2 = function() { return Circle.PI * this.r * this.r; }&lt;br /&gt;&lt;br /&gt;5）类方法&lt;br /&gt;&lt;br /&gt;这个概念应该很简单。注意类方法里绝对不要用this关键字，和java完全一样。&lt;br /&gt;&lt;br /&gt;Circle.max = function(a, b) {&lt;br /&gt;return a.r &gt; b.r ? a : b;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;theMax = Circle(new Circle(1), new Circle(4));&lt;br /&gt;&lt;br /&gt;6）继承&lt;br /&gt;&lt;br /&gt;子类继承父类，那么 “子类实例” 具有和 “父类实例” 完全一样的行为。javascript是这样实现的。&lt;br /&gt;&lt;br /&gt;function SubCircle(x, y, r) {&lt;br /&gt;this.x = x;&lt;br /&gt;this.y = y;&lt;br /&gt;this.r =r;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;SubCircle.prototype = new Circle(0);&lt;br /&gt;记得前面说的吗？可以把prototype看作一个基类。这里，prototype确确实实是一个基类。它是如何实现的呢？&lt;br /&gt;&lt;br /&gt;举例如下：&lt;br /&gt;sc = SubCirlce(1,1,3);&lt;br /&gt;sc.area();&lt;br /&gt;&lt;br /&gt;调用的传递：&lt;br /&gt;sc.area()-&gt;sc.prototype.area()-&gt;Circle(0).area()-&gt;Circle.prototype.area().&lt;br /&gt;看来是不是很奇妙呢。&lt;br /&gt;&lt;br /&gt;通过这种方式，javascript实现了继承。&lt;br /&gt;&lt;br /&gt;7）多态&lt;br /&gt;&lt;br /&gt;多态是子类会定义和父类具有相同signature的方法。假设在SubCircle所在的空间PI=100,而面积公式也变为 PI*R*R*R。&lt;br /&gt;&lt;br /&gt;SubCircle.prototype.PI = 100&lt;br /&gt;&lt;br /&gt;SubCircle.prototype.area = function() {&lt;br /&gt;return this.PI*this.r*this.r*this.r;&lt;br /&gt;}&lt;br /&gt;Sc.area()&lt;br /&gt;&lt;br /&gt;这样的操作可以认为是:&lt;br /&gt;&lt;br /&gt;Sc.PI-&gt;sc.prototype.PI-&gt;Cricle(0).PI = 100&lt;br /&gt;&lt;br /&gt;Sc.area()-&gt;sc.prototype.area()-&gt;Circle(0).area.&lt;br /&gt;这个时候，调用过程是这样的&lt;br /&gt;&lt;br /&gt;sc.area()-&gt;sc.prototype.area(),在这里解释器发现了area这个方法，于是它就调用此方法。&lt;br /&gt;&lt;br /&gt;而Cricle.prototype.area就永远也不会被调用。PI的调用也是如此。那么子类如何想调用父类的方法应怎么办呢？好像没有什么办法哦，谁知道可以告诉我。但面向对象的理论告诉我们，继承主要是提供接口而不是代码复用，所以还是少有这样的念头为好 ：）。&lt;br /&gt;&lt;br /&gt;下面是一个例子程序。包含上面的所有的概念。&lt;br /&gt;例子&lt;br /&gt;///////////define: Cricle//////////////////&lt;br /&gt;function Circle(r) {&lt;br /&gt;this.r = r;&lt;br /&gt;}&lt;br /&gt;Circle.PI = 3.14;&lt;br /&gt;Circle.prototype.PI = 3.14;&lt;br /&gt;Circle.prototype.area = function() { return Circle.PI*this.r*this.r; }&lt;br /&gt;Circle.prototype.area2 = function() { return this.PI*this.r*this.r; }&lt;br /&gt;&lt;br /&gt;//// test&lt;br /&gt;c = new Circle(3);&lt;br /&gt;//alert("area1 :"+c.area());&lt;br /&gt;//alert("area2 :"+c.area2());&lt;br /&gt;&lt;br /&gt;Circle.max = function(a, b) { return a.r&gt;b.r ? a.r : b.r; }&lt;br /&gt;//alert("max is "+Circle.max(new Circle(1), new Circle(3)));&lt;br /&gt;&lt;br /&gt;c1 = new Circle(1);&lt;br /&gt;c2 = new Circle(1);&lt;br /&gt;c2.PI = 100;//Circle.prototype.PI=100;&lt;br /&gt;&lt;br /&gt;//alert("c1.area1 "+c1.area());&lt;br /&gt;//alert("c1.area2 "+c1.area2());&lt;br /&gt;//alert("c2.area1 "+c2.area());&lt;br /&gt;//alert("c2.area2 "+c2.area2());&lt;br /&gt;&lt;br /&gt;////////////////////////define: SubCircle //////////////////&lt;br /&gt;function SubCircle(x, y, r) {&lt;br /&gt;this.x = x;&lt;br /&gt;this.y = y;&lt;br /&gt;this.r = r;&lt;br /&gt;}&lt;br /&gt;SubCircle.prototype = new Circle(0);&lt;br /&gt;SubCircle.prototype.PI = 100;&lt;br /&gt;SubCircle.prototype.move2 = function(x, y) { this.x = x; this.y = y;}&lt;br /&gt;SubCircle.prototype.area = function() { return this.PI*this.r*this.r*this.r; }&lt;br /&gt;&lt;br /&gt;//// test&lt;br /&gt;sc = new SubCircle(0,0,2);&lt;br /&gt;&lt;br /&gt;alert(sc.area());&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-818408367837269331?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/818408367837269331/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=818408367837269331' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/818408367837269331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/818408367837269331'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/04/javascript.html' title='javascript 的面向对象特性参考'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2419964455604205023.post-7302861032654389754</id><published>2007-04-17T07:19:00.000-07:00</published><updated>2007-04-19T08:08:06.025-07:00</updated><title type='text'>失去</title><content type='html'>古代的男子失恋以后会去参军, 战死沙场为荣;&lt;br /&gt;&lt;br /&gt;我再失几次, 要是还活着, 应该当将军了！&lt;br /&gt;&lt;br /&gt;感情到尽头, 最好是爱恨扯平, 谁都不欠谁的；只是总也扯不平;&lt;br /&gt;&lt;br /&gt;我已经过了扯皮的年龄;&lt;br /&gt;&lt;br /&gt;只是还忘不了, 所以拼命工作;&lt;br /&gt;&lt;br /&gt;第一次开始时, 并不喜欢她, 只是怜悯, 后来发现值得怜悯的人是自己; 第二次开时, 并不喜欢她, 只是为了忘记, 后来被别人忘了！&lt;br /&gt;&lt;br /&gt;第一次失去时, 想再找和第一个一模一样的, 第二次失去时, 想找与第一个和第二个一模一样的;&lt;br /&gt;&lt;br /&gt;多了一个选择, 进步了！&lt;br /&gt;&lt;br /&gt;很想她!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2419964455604205023-7302861032654389754?l=cassockming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cassockming.blogspot.com/feeds/7302861032654389754/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2419964455604205023&amp;postID=7302861032654389754' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/7302861032654389754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2419964455604205023/posts/default/7302861032654389754'/><link rel='alternate' type='text/html' href='http://cassockming.blogspot.com/2007/04/blog-post_17.html' title='&lt;b&gt;失去&lt;/b&gt;'/><author><name>Danfo Yam</name><uri>http://www.blogger.com/profile/06952964584086760548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://lh5.google.com/image/zhp54321/RiTz0Tvg2tE/AAAAAAAAAEQ/WT95jqh3kOU/s160-c/Cassockming.jpg'/></author><thr:total>0</thr:total></entry></feed>
