摘要: 如果你退出Python解释器重新进入,以前创建的一切定义(变量和函数)就全部丢失了。因此,如果你想写一些长久保存的程序,最好使用一个文本编辑器来编写程序,把保存好的文件输入解释器。 我们称之为创建一个脚本。程序变得更长一些了,你可能为了方便维护而把它分离成几个文件。你也可能想要在几个程序中都使用一个常用的函数,但是不想把它的定义复制到每一个程序里。为了支持这些需要,Python提供了一个方法可以从文件中获取定义,在脚本或者解释器的一个交互式实例中使用。这样的文件被称为实例;模块中的定义可以导入到另一个模块或主模块中(在脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)模块是包括Pyt. 阅读全文
posted @ 2013-10-09 16:15 李秋 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 字典 Python有一个内建数据类型是字典(Dictionaries)。字典在某些语言中可能称为“联合内存”("associative memories'')或“联合数组”("associative arrays'')。序列是以连续的整数为索引,与此不同的是,字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它可以做为关键字,如果它直接或间接的包含了可变对象,就不能当做关键字。不能用链表做关键字,因为链表可以用它们的 append() 和 extend() 方法,或者用切片、或者通过检索变量来即 阅读全文
posted @ 2013-10-09 15:21 李秋 阅读(1710) 评论(0) 推荐(0) 编辑
摘要: 一篇一篇的重写意义不大,不如把整个PDF文档上传上来看着方便,下载链接 阅读全文
posted @ 2013-10-08 17:37 李秋 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 好,请安静,后排聊天的同学别吵醒前排睡觉的同学了,大家要相互理解嘛。今天讲适配器模式,这个模式也很简单,你笔记本上的那个拖在外面的黑盒子就是个适配器,一般你在中国能用,在日本也能用,虽然两个国家的的电源电压不同,中国是220V,日本是110V,但是这个适配器能够把这些不同的电压转换为你需要的36V 电压,保证你的笔记本能够正常运行,那我们在设计模式中引入这个适配器模式是不是也是这个意思呢?是的,一样的作用,两个不同接口,有不同的实现,但是某一天突然上帝命令你把B 接口转换为A 接口,怎么办?继承,能解决,但是比较傻,而且还违背了OCP 原则,怎么办?好在我们还有适配器模式。适配器的通用类图是这 阅读全文
posted @ 2013-10-04 11:09 李秋 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 好,我们继续讲课。大家都是高智商的人,都写过纸质的信件吧,比如给女朋友写情书什么的,写信的过程大家都还记得吧,先写信的内容,然后写信封,然后把信放到信封中,封好,投递到信箱中进行邮递,这个过程还是比较简单的,虽然简单,这四个步骤都是要跑的呀,信多了还是麻烦,比如到了情人节,为了大海捞针,给十个女孩子发情书,都要这样跑一遍,你不要累死,更别说你要发个广告信啥的,一下子发1 千万封邮件,那不就完蛋了?那怎么办呢?还好,现在邮局开发了一个新业务,你只要把信件的必要信息高速我,我给你发,我来做这四个过程,你就不要管了,只要把信件交给我就成了。我们的类图还是从最原始的状态开始:在这中环境下,最累的是写信 阅读全文
posted @ 2013-10-04 10:49 李秋 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了。这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空气是清新的,太美丽了,然后就待时间长了就有点寂寞了,没有动物,这些看的到都是静态的东西呀,怎么办?别忘了是神仙呀,没有办不到的事情,于是女娲就架起了八卦炉(技术术语:建立工厂)开始创建人,具体过程是这样的:先是泥巴捏,然后放八卦炉里烤,再扔到地上成长,但是意外总是会产生的: 第一次烤泥人,兹兹兹兹~~,感觉应该熟了,往地上一扔,biu~,一个白人诞生了,没烤熟! 第二次烤泥人,兹兹兹兹兹兹兹兹.. 阅读全文
posted @ 2013-10-02 11:19 李秋 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 一个国家有多个皇帝这种情况有没有?还确实有,就出现在明朝,那三国期间的算不算,不算!因为各自称帝,各有各的地盘,国号不同。大家还记得那首诗《石灰吟》吗?作者是谁?于谦,他是被谁杀死的?明英宗朱祁镇,对,就是那个在土木堡之变中被瓦刺俘虏的皇帝,被俘虏后,他弟弟朱祁钰当上了皇帝,就是明景帝,估计当上皇帝后乐疯了,忘记把老哥朱祁镇削为太上皇了,于是在中国的历史上就这个时期是有2个皇帝。这期间的大臣很郁闷,两个皇帝耶,两个精神依附对象。这个场景放到我们设计模式中就是叫有上限的多例模式(没上限的多例模式太容易了,和你直接new 一个对象没啥差别,不讨论)怎么实现呢,看我出招,先看类图: 然后看程序,先. 阅读全文
posted @ 2013-10-02 10:55 李秋 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 这个模式是很有意思,而且比较简单,但是我还是要说因为它使用的是如此的广泛,如此的有人缘,单例就是单一、独苗的意思,那什么是独一份呢?你的思维是独一份,除此之外还有什么不能山寨的呢?我们举个比较难复制的对象:皇帝。中国的历史上很少出现两个皇帝并存的时期,是有,但不多,那我们就认为皇帝是个单例模式,在这个场景中,有皇帝,有大臣,大臣是天天要上朝参见皇帝的,今天参拜的皇帝应该和昨天、前天的一样(过渡期的不考虑,别找茬哦),大臣磕完头,抬头一看,嗨,还是昨天那个皇帝,单例模式,绝对的单例模式,先看类图:然后我们看程序实现,先定一个皇帝:package com.cbf4life.singleton1;/ 阅读全文
posted @ 2013-09-30 17:49 李秋 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理的人能干活呀。比如西门庆找潘金莲,那潘金莲不好意思答复呀,咋办,找那个王婆做代理,表现在程序上时这样的:先定义一种类型的女人:package com.cbf4life.proxy; /** * @author cbf4Life cbf4life@126.com * I'm glad to share my knowledge with you all. * 定义一种类型的女人,王婆和潘金莲都属于这个类型的 阅读全文
posted @ 2013-09-30 17:24 李秋 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子的。先说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是小亮同志给的,妙计是放置在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜,用 JAVA程序怎么表现这个呢?我们先看类图:三个妙计是同一类型的东东,那咱就写个接口:package com.cbf4life.strategy; /** * @author cbf4Life cbf4life@126.com * I' 阅读全文
posted @ 2013-09-30 17:10 李秋 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 为了以后方便,记录一下步骤1、yum install readline-devel2、wget http://www.lua.org/ftp/lua-5.1.4.tar.gz3、cd lua-5.1.44、make linux5、make install 阅读全文
posted @ 2013-09-27 15:28 李秋 阅读(206) 评论(1) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html普通泛型class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定 public T getVar(){ // 返回值的类型由外部决定 return var ; } public void setVar(T var){ // 设置的类型也由外部决定 this.var = var ; ... 阅读全文
posted @ 2013-09-26 18:04 李秋 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 最近在工作中经常用到JAVA泛型相关的问题,最近看了几篇文章,总结一下。什么是泛型?泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。看着上面这段话有些拗口的话,我来解释一下:就在在List的里面可以加上String类型,比如以前的程序:import java.util.Map;import java.util.HashMap;public class Account { public static... 阅读全文
posted @ 2013-09-26 15:20 李秋 阅读(502) 评论(0) 推荐(0) 编辑
摘要: #!/bin/sh#statistics newplive logsSOURCELOGS=$1if [ "$#" != 1 ];thenecho echo "please input file!"echo "eg:/home/liqiu/newlive_090807.log"echo exit 3;... 阅读全文
posted @ 2013-09-25 19:00 李秋 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: for((i=1;i<=10;i++)); do PYTHONPATH=lib/ bin/cupid -c conf/config.cfg -u http://shop33220311.taobao.com/?tbpm=4 -s test/ -p xx; sz test/xx_*; done;数组遍... 阅读全文
posted @ 2013-09-25 18:59 李秋 阅读(2381) 评论(0) 推荐(0) 编辑
摘要: 最常用的日期处理Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(d));System.out.println... 阅读全文
posted @ 2013-09-25 17:58 李秋 阅读(801) 评论(0) 推荐(0) 编辑
摘要: 删除0字节文件find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete查看进程,按内存从大到小排列ps -e -o "%C : %p : %z : %a"|sort -k5 -nr按cpu利用率从大到小排列ps -e -o "%C : %p : %z : %a"|sort -nr打印说cache里的URLgrep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http: 阅读全文
posted @ 2013-09-17 16:50 李秋 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 看了很多文章,一般是说如果是IE6的话,最好使用数组的形式 var d1=new Date(); var src_str = "stextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstextstext"; var str=""; for(var i=0;i<1000000;i++){ str+=src_str+d1.getTime(); } var d2=new Date(); .. 阅读全文
posted @ 2013-09-12 11:28 李秋 阅读(730) 评论(0) 推荐(0) 编辑
摘要: List Map 基础信息HashMap最近写程序经常需要遍历集合,所以总结一下内容:一、简单实现Map map = new HashMap(); for(Object o : map.keySet()){ //o: 返回的key //map.get(o):返回的value对象内容 map.get(o); }以上方法慢不说,效率也不高。1.1 最经常使用也最可取的方法Map map = new HashMap();for (Map.Entry entry : map.entrySet()) { System.out.println("Key = " + entr... 阅读全文
posted @ 2013-09-05 15:30 李秋 阅读(1174) 评论(0) 推荐(0) 编辑
摘要: 1、sudo apt-get install eclipse2、sudo apt-get install openjdk-7-jdk3、修改eclipse.ini vim /usr/lib/eclipse/eclipse.ini添加内容:-vm /usr/lib/jvm/java-6-sun-1.6.0.15/bin4、启动Eclipse之后,在菜单栏中选择Help,然后选择Install New Software…,接着你会看到一个Install对话框,点击Work with:字段边上的Add按钮,你会得到一个新的Add Repository对话框,在Name字段中输入m2e,Loc... 阅读全文
posted @ 2013-09-05 15:01 李秋 阅读(348) 评论(0) 推荐(0) 编辑
摘要: java中的ArrayList 、List、LinkedList、Collection关系详解一、基础介绍(Set、List、Map)Set(集):集合中的元素不按特定方式排序,并且没有重复对象。他的有些实现类能对集合中的对象按特定方式排序。List(列表):集合中的元素按索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象。Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。他的有些实现类能对集合中的键对象进行排序。二、基本接口和类型1、Iterator接口 该接口允许遍历集合中的所有元素,一共有三个方法:public bool. 阅读全文
posted @ 2013-09-05 09:47 李秋 阅读(41583) 评论(2) 推荐(3) 编辑
摘要: Chapter 2 Modules and Dependencencies2.1 Java SE 兼容所有的Jersey组建都是基于Java6开发的,所以你的Java必须是Java6以上的版本才能运行应用程序。2.2 介绍Jersey的依赖Jersy的创建、组装和安装都是使用Apache的Maven,飞快照的Jersey都部署到了Maven的中央仓库。他也部署在了Java.Net Maven repositories,包括带有快照的版本。当然如果要查看最新的版本也可以查看Java.Net Maven repositories。一个使用Jersey的应用,依赖于Jersey,但是如果使用了第三方 阅读全文
posted @ 2013-08-19 15:32 李秋 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 前言这是jersey2.2的用户向导,我们会尽力维护它的更新并且也会增加新的章节。当阅读本用户指南的时候,也要参阅Jersey API 文档,额外的信息补充JERSEY的新特性和API如果你想要为用户向导做一些贡献或者发现有些问题没有在文档里面找到,请给我们发邮件:users@jersey.java.net当然如果你在文档中发现一些错误,你也可以在Jersey JIRA Issue Tracker的文档组建下面创建一个问题。第一章 Getting Start本章主要是讲解如何快速的使用Jersey搭建一个RESTful服务器。这个例子使用轻量级的服务器Grizzly实现的。在本章的最后你会看见 阅读全文
posted @ 2013-08-19 13:51 李秋 阅读(952) 评论(0) 推荐(0) 编辑
摘要: JAX-RS Application Resource and Sub-Resource本章要介绍的是JAX-RS的核心概念——Resouce、Sub-ResourceJAX-RS的2.0的java在线文档链接是:http://jax-rs-spec.java.net/nonav/2.0/apidocs/index.htmlJAX-RS的2.0的规范草案文档链接是:http://jcp.org/en/jsr/summary?id=3393.1 Root Resource ClassesRoot Resource Classes是一个至少包含@PATH注解或者方法带有@GET, @PUT, @P 阅读全文
posted @ 2013-08-18 15:49 李秋 阅读(959) 评论(0) 推荐(0) 编辑
摘要: 最近发现jersey特别流行,但是中文资料非常少,深感没有资料的痛苦,所以分享一下看到的内容供他人快速入门。今天翻译第一章、Getting Started。https://jersey.java.net/documentation/1.17/user-guide.html#getting-started第一章、Getting Started、1.1.7本章将会告诉你如何使用嵌入式的Grizzly server创建一个Jersey服务,在本章的最后一节也将展现如何使用一段程序来建立一个web应用。首先它需要依赖jersey的jar包。使用Maven开发,需要设置:jersey-server和je 阅读全文
posted @ 2013-08-17 11:45 李秋 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 最近一直在看TOMCAT,想要自己创建一个小WEB站点,有不想要部署在其他的容器内这是一个不错的学习对象。一、选择合适的模版mvn archetype:generate -DarchetypeCatalog=http://download.java.net/maven/2二、选择模版[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: http://downl.. 阅读全文
posted @ 2013-08-14 15:32 李秋 阅读(800) 评论(0) 推荐(0) 编辑
摘要: 其实编写一个入门级别的JAVA的WEB服务器,很简单,用SOCKET类即可实现。相关内容可以参考:http://www.cnblogs.com/liqiu/p/3253022.html一、首先创建一个目录,目录内结构如下:@~/study/webserver $ tree.├── src│ └── com│ └── taobao│ ├── HttpServer.java│ ├── Request.java│ └── Response.java└── webroot └── index.html二、创建文件:index.htmlHelloWorldpyrmont目录的三个java文件,分别是:H 阅读全文
posted @ 2013-08-12 17:19 李秋 阅读(540) 评论(0) 推荐(0) 编辑
摘要: TalkClient.javaimport java.io.*;import java.net.*; public class TalkClient { public static void main(String args[]) { try{ Socket socket=new Socket("127.0.0.1",4700); //向本机的4700端口发出客户请求 BufferedReader sin=new BufferedReader(new InputS... 阅读全文
posted @ 2013-08-12 15:30 李秋 阅读(2192) 评论(0) 推荐(0) 编辑
摘要: 一、概念Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。二、Filter简介Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截。简单说 阅读全文
posted @ 2013-08-05 10:07 李秋 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 刚刚转到MAC,很多功能发现不能用,总结一下:刷新页面:command+r命令行,到行首:control+a命令行,到行尾:control+evim,到行尾:shift+$vim,到行首:shift+^ 阅读全文
posted @ 2013-07-30 14:29 李秋 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 现在我已经将翻译的内容放到:http://wiki.nginx.org/HttpLuaModuleZhNginx API for LuaIntroduction各种各样的*_by_lua和*_by_lua_file配置文件服务在都在nginx.conf文件内。这些LUA API只能运行在这些配置文件里面。这个API有两个标准的包NGX和NDK。这个包在ngx_lua内默认的包。这个软件包可以这样的引入外部的文件 local say = ngx.say module(...) function foo(a) say(a) end强烈不推荐使用pack... 阅读全文
posted @ 2013-07-25 17:00 李秋 阅读(3257) 评论(0) 推荐(0) 编辑
摘要: google工程师JeffDean首先在他关于分布式系统的ppt文档列出来的,到处被引用的很多。1纳秒等于10亿分之一秒,=10^-9秒-----------------------------------------------------------NumbersEveryoneShouldKnowL1cachereference 读取CPU的一级缓存0.5nsBranchmispredict(转移、分支预测)5nsL2cachereference读取CPU的二级缓存7nsMutexlock/unlock互斥锁\解锁100nsMainmemoryreference 读取内存数据100nsC 阅读全文
posted @ 2013-07-24 19:12 李秋 阅读(6051) 评论(1) 推荐(0) 编辑
摘要: 数据存储(假设key为test,value为12345)printf"settest005\r\n12345\r\n"|nc127.0.0.112000STORED数据取回(假设key为test)printf"gettest\r\n"|nc127.0.0.112000VALUE test 0 512345END数值增加1(假设key为test,并且value为正整数)printf"incrtest1\r\n"|nc127.0.0.11200012346数值减少3(假设key为test,并且value为正整数)printf"d 阅读全文
posted @ 2013-07-21 09:19 李秋 阅读(463) 评论(0) 推荐(0) 编辑
摘要: access_by_luaaccess阶段。事例:location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; deny all; access_by_lua ' local res = ngx.location.capture("/mysql", { ... }) ... '; # proxy_pass/fastcgi_pass/... }也... 阅读全文
posted @ 2013-07-19 17:37 李秋 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 最近经常使用春哥和小哲老师写的NGINX-LUA,非常苦于没有中文文档,特别是向我这种英文水平实在有限的同学,所以将遇到的模块记录下来,供以后参考!原文:http://wiki.nginx.org/HttpLuaModulelua_code_cache一般放在nginx.conf里面,设置lua程序是否缓存,默认是开启的,开发模式开启即可:lua_code_cache off。开启后,重启nginx会有提示:nginx: [warn] lua_code_cache is off; this will hurt performance in /home/wb-liqiu/git/dante/co 阅读全文
posted @ 2013-07-19 15:37 李秋 阅读(3517) 评论(0) 推荐(0) 编辑
摘要: 命令事例 发送POST请求: 如果传输文件:curl -F "blob=@tmp.txt;type=text/plain" localhost:8080/request_body 普通post请求:curl -d "method=searchone&module=seller&user_name=w 阅读全文
posted @ 2013-07-19 15:05 李秋 阅读(16397) 评论(0) 推荐(1) 编辑
摘要: 适用环境:系统支持:CentOS、Ubuntu、Debian内存要求:≥128M安装了什么:1、Nginx-1.2.12、MySQL 5.5.253、PHP 5.2.17或PHP 5.3.134、phpmyadmin 3.5.15、ZendOptimizer 3.3.9(可选,支持PHP 5.2.17)或ZendGuardLoader(可选,支持PHP 5.3.x)6、xcache-2.0.0(可选)7、pure-ftpd-1.0.36(可选)安全设置1、使用php-fpm chroot功能使网站与系统完全隔离,起到保护系统及其它虚拟主机的作用(仅支持php-5.3.x)2、修复php-5.2 阅读全文
posted @ 2013-07-05 14:33 李秋 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 模块上下文结构 这是一个ngx_http_module_t类型的静态变量。这个变量实际上是提供一组回调函数指针,这些函数有在创建存储配置信息的对象的函数,也有在创建前和创建后会调用的函数。这些函数都将被nginx在合适的时间进行调用。typedef struct { ngx_int_t (*preconfiguration)(ngx_conf_t *cf); ngx_int_t (*postconfiguration)(ngx_conf_t *cf); void *(*create_main_conf)(ngx_conf_t *cf); char ... 阅读全文
posted @ 2013-06-28 11:15 李秋 阅读(538) 评论(0) 推荐(0) 编辑
摘要: handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识。基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-balancer。Handler模块就是接受来自客户端的请求并产生输出的模块。至于有些地方说的upstream模块则实际上也是一种handler。只不过它产生的内容来自于从后端服务器获取的,而非在本机产生的。 当Nginx系统启动的时候,每个handler都有一次机会把自己关联到一个在配置文件中使用location指令配置的一个location上。如果有多个handler模块都去关联同一个loca.. 阅读全文
posted @ 2013-06-28 09:42 李秋 阅读(962) 评论(0) 推荐(0) 编辑
摘要: From:http://tengine.taobao.org/book/chapter_02.htmlnginx的配置系统 nginx的配置系统由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,全部位于nginx安装目录下的conf目录下。 配置文件中以#开始的行,或者是前面有若干空格或者TAB,然后再跟#的行,都被认为是注释,也就是只对编辑查看文件的用户有意义,程序在读取这些注释行的时候,其实际的内容是被忽略的。 由于除主配置文件nginx.conf以外的文件都是在某些情况下才使用的,而只有主配置文件是在任何情况下都被使用的。所以在这里我们就以主配置文件为例... 阅读全文
posted @ 2013-06-27 22:35 李秋 阅读(736) 评论(0) 推荐(0) 编辑