Category Archives: 他山石

Hello World 他山石

[转] div模拟textarea

使用很简单,一个普通的block元素上加个contenteditable=”true”就ok了,如下:

<div contenteditable="true"></div>

true外面的引号甚至去掉都没关系。

contenteditable属性虽是HTML5里面的内容,但是IE似乎老早就支持此标签属性了。所以,兼容性方面还是不用太担心的。

ok,最麻烦的模拟textarea的可编辑效果已经解决了,现在想要使用div实现高度自适应那就像是给花花草草松松土一样容易的。使用min- height属性基本上就一步到位了,考虑到IE6浏览器对min/max家族不屑一顾,结合其内部元素溢出会撑开父标签高宽的特性,IE6浏览器直接定 高就可以了。

CSS代码:

.test_box {
    width: 400px; 
    min-height: 120px; 
    max-height: 300px;
    _height: 120px; 
    margin-left: auto; 
    margin-right: auto; 
    padding: 3px; 
    outline: 0; 
    border: 1px solid #a0b3d6; 
    font-size: 12px; 
    word-wrap: break-word;
    overflow-x: hidden;
    overflow-y: auto;
}

HTML代码:

<div class="test_box" contenteditable="true"><br /></div>

——-
转自:http://blog.163.com/xiangfei209@126/blog/static/9869567420113154453944/

Hello World 他山石

log4php配置文件实例

文件名:log4php-1.properties

log4php.appender.default = LoggerAppenderDailyFile
log4php.appender.default.layout = LoggerLayoutPattern
log4php.appender.default.layout.ConversionPattern =%d{ISO8601} | [%p] | %m%n 
log4php.appender.default.datePattern = Ymd
log4php.appender.default.file = /Users/logs/php/%s.log
log4php.rootLogger = DEBUG,default

这样就可以通过建立多个配置文件,方便为每一个产品或者模块采用不同的配置,当然生成的日志目录也可以灵活管理。
调用如下:

include_once('log4php/Logger.php');  
Logger::configure("log4php-1.properties");  
$logger = Logger::getLogger('cam'); 
//debug
$logger->debug('---debug---');

————
参考:http://hmw.iteye.com/blog/1147299
下载log4php:http://logging.apache.org/log4php/download.html

Hello World 他山石

3D立方体

只支持safari和chrome 😉

1
2
3
4
5
6
7
8
9
10
11
12


转自:http://www.webkit.org/blog-files/3d-transforms/morphing-cubes.html

Hello World 他山石

[转]使用ajax和history.pushState无刷新改变页面URL

在访问现在很火的google plus时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器的前进和后退。不禁让人想问,是什么有这么强大的功能呢?

HTML5里引用了新的API,就是history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的。

与传统的AJAX的区别

传统的ajax有如下的问题:

虽然ajax可以无刷新改变页面内容,但无法改变页面URL

其次为了更好的可访问性,内容发生改变后,改变URL的hash。但是hash的方式不能很好的处理浏览器的前进、后退等问题

有的浏览器引入了onhashchange的接口,不支持的浏览器只能定时去判断hash是否改变

再有,ajax的使用对搜索引擎很不友好,往往蜘蛛爬到的区域是空的

为了解决传统ajax带来的问题,HTML5里引入了新的API,即:history.pushState, history.replaceState

可以通过pushState和replaceState接口操作浏览器历史,并且改变当前页面的URL。

pushState是将指定的URL添加到浏览器历史里,replaceState是将指定的URL替换当前的URL。

如何调用

var state = {
	title: title,
	url: options.url,
	otherkey: othervalue
};
window.history.pushState(state, document.title, url);

state对象除了要title和url之外,也可以添加其他的数据,比如:还想将一些发送ajax的配置给保存起来。

replaceState和pushState是相似的,不需要多做解释。

如何响应浏览器的前进、后退操作

window对象上提供了onpopstate事件,上面传递的state对象会成为event的子对象,这样就可以拿到存储的title和URL了。

window.addEventListener('popstate', function(e){
  if (history.state){
	var state = e.state;
    //do something(state.url, state.title);
  }
}, false);

这样就可以结合ajax和pushState完美的进行无刷新浏览了。

一些限制

1、无法跨域,这个是必然的。引用曾经在网上看到的一句经典的话:“如果javascript可以跨域的话,那他就可以逆天了!”

2、state对象虽然可以存储很多自定义的属性,但值不能是个对象。

对应后端的一些处理

这种模式下除了当前使用ajax可以无刷新浏览外,还要保证直接请求改变的URL后也可以正常浏览,所以后端要对这些处理下。

1、对结合pushState的ajax可以发送一个特殊的头,如: setRequestHeader(‘PJAX’, ‘true’)。

2、后端获取到有PJAX=true的header时,将页面中通用的部分都不输出。比如:PHP可以通过下面的判断

function is_pjax(){
	return array_key_exists('HTTP_X_PJAX', $_SERVER) && $_SERVER['HTTP_X_PJAX'] === 'true';
}

虽然接口上只有pushState、replaceState、onpopstate,但在使用的时候还是要做很多处理的。
————–
转自:http://www.52ladybug.com/?p=202

他山石 美食

[转]吃货必知的入门级调料

葱蒜荤菜也,大蒜和大葱

蒜香排骨、蒜泥茄子、蒜薹炒肉、蒜蓉西兰花……没错,首先要介绍的入门级调料,正是纵贯大江南北,男女老少通吃的大蒜。

http://www.jiangkl.com/wp-content/uploads/2011/09/1.jpeg
【大蒜对食物的渗透力和在人群中的影响力,从“蒜你狠”的涨价风波中可见一斑。生吃、烤吃、煮着吃,有的人无蒜不欢,有的人却对大蒜的气味唯恐避之不及……】

在汇通八方的厨房调料清单中,蒜葱已盘踞中土庖厨数千年。尽管大蒜带着刺激性气味,辛辣中国两千年以上,但土里土气的它却是正宗的外来货,追溯原产地,还要来到中亚、西亚或欧洲一带。

虽然现在大蒜在我国的栽培几乎无处不可,但不管哪,最为人熟知的都是那个藏在地表之下的蒜头,也就是蒜的“鳞茎”。作为葱属植物的重要特征,要说清“鳞茎是变态了的茎”这件事儿还真有点儿困难。不妨这么想象:将草本植物的茎垂直压扁,其上的叶子必然会随着间距的极度缩小而紧紧包覆,再将这些包覆的叶子肉质化,一个典型的鳞茎就形成了,比如主要由层层变态叶组成的洋葱头。别看鳞茎是一种压扁的“变态茎”,但茎顶端的顶芽和茎叶结合处的腋芽可是样样俱全,而且每个芽都可能发育成为一个完整的植株——回到蒜头的身上,那一个个的蒜瓣,就正是鳞茎中肉质化的侧芽。

http://www.jiangkl.com/wp-content/uploads/2011/09/2.jpeg
【大蒜(Allium sativum),百合科Liliacea 葱属Allium,多年生草本,栽培历史悠久,幼苗、花葶和鳞茎均供蔬食。1.大蒜鳞茎 2. 蒜薹 3.大蒜植株】

除了鳞茎,大蒜的地上部分也还颇有几个常在厨房中出没的角色,比如,正常栽种得到的茎叶(青蒜)、黑暗条件下培育的黄化茎叶(蒜黄)以及将近花期时长出的花葶,也就是蒜薹(tái)。不过这几种食材的商品名在不同地区的称呼比较混乱,作为一个自然控,不妨尝试在交易的时候说“来半斤黄化大蒜”,或问“这捆大蒜花葶怎么卖?”嗯,绝对不会搞混。

《玉篇•艹部》:“葱,荤菜也。” 《闲居赋》:“菜则葱韭蒜芋,青笋紫姜。”

说完大蒜,另一种使用同样普遍的调味品大葱就该闪亮登场了。

http://www.jiangkl.com/wp-content/uploads/2011/09/3.jpeg
【大葱炒鸡蛋、大葱蘸酱,这应该是大葱最为耀眼的亮相方式吧。在大葱价格上扬的时候,由于很多店家舍不得放大葱,于是“大葱炒鸡蛋”就变成了“鸡蛋炒大葱”……】

也许有人注意到了,本文介绍葱蒜的时候用的都是“大葱”、“大蒜”的称呼,但这可不是为了突出与喝咖啡者不同的乡土味儿,而真的是为了避免混乱。葱属植物亲兄弟500余种,仅国内就有110余种,可食者更是难以统计,《闲居赋》中的葱、韭、蒜皆在其列,因此俗谓混淆之事在所难免。事实上,这也正说明了为每一种植物取唯一拉丁学名的重要性。大蒜由张骞自西域引入,本名为“葫”(hú),而中国本来也有原生的蒜,那就是小蒜(Allium macrostemon),估计是后来由于不够霸气,被夺走了名字。

而论及葱,则更加说不清了——“火葱(Allium cepiforme)在南方普遍栽培,常称‘小葱’以别大葱”;“野葱(Allium chrysanthum)广布于青藏高原至华中,葱岭或由之得名”;“北葱(Allium schoenoprasum)北方区广布,欧洲食用”……以至于《汉语大字典》中对于“葱”字的解释只能说是“葱类植物”,与此相对的是,蒜茴桂椒等却都有具体一至数种的描述。大葱本身的野生起源现已不可考,只能“推测”为仍野生于北亚的阿尔泰葱(Allium altaicum)。

http://www.jiangkl.com/wp-content/uploads/2011/09/4.jpeg
【大葱(Allium fistulosum),百合科Liliaceae 葱属Allium,多年生草本,全国各地广泛栽培,国外也有栽培,做蔬菜食用。】

不过,植物分类本就是参杂主观成分的一项工作,此“种”与彼“种”相比,其差别若按其他两种间的区别程度来看,也许足以归并成一种,或再拆为数种。但要知道,植物并非为人类而生存,所以也不会按照人的标准一种一种演化分明。这点还是古人想得明白,无论是《玉篇》中的葱还是《说文》中的蒜,一句话三个字就足以形容何为葱蒜了——不过“荤菜也”。

果作干与辣,胡椒和花椒

在当代煲汤界,胡椒虽然是作用举足轻重的香料,却也并非身价不菲之物。但在古代欧洲,这种可作为香料和调味料使用的物质,却由于罕见和极受欢迎变得异常昂贵,只有极富阶层才能够买到。

http://www.jiangkl.com/wp-content/uploads/2011/09/5.jpeg
【胡椒猪肚汤和黑椒牛柳,这两道胡椒作料的代表菜应该早已名声在外了吧!】

在调料植物里头,如果“洋气”将南洋雨林的湿热算在内的话,那么不管是名字还是身世,胡椒都绝对算得上“洋气”十足。别看“胡”本来是中土针对北方异族的称呼,但原产胡椒的地方却在南亚和东南亚热带地区,正好位于相反的国门之南。

http://www.jiangkl.com/wp-content/uploads/2011/09/6.jpeg【胡椒(Piper nigrum),胡椒科Piperaceae 胡椒属Piper,木质攀援藤本 1.胡椒调料粉末 2.捣鼓和研磨胡椒的传统武器 3.胡椒植物】

胡椒的分布区属于热带亚洲,全年都有着稳定的高温、充沛的降水,以及随即而来的、茂密且高大的植被——这里正是世界三大热带雨林区之一。为了适应雨林内的高度荫蔽,胡椒在这样的环境里进化成了善于取巧的攀援植物,通过依附更高更直的其他树木来获得更多的光照。所以我们如果去到胡椒的栽培区,就会见到取代沟沟垄垄的,是一排排木石之属所制成的桩桩柱柱,用以供胡椒的气根攀附。而在油亮的胡椒叶丛之中,那一串串的果实就是我们所食用的胡椒粉原料。

http://www.jiangkl.com/wp-content/uploads/2011/09/7.jpeg
【原料浆果是否成熟,是否去皮等制作工序的差异,使胡椒成品的颜色变得五花八门。】

与胡椒粉呛鼻的印象迥异,胡椒的果子们属于肉果大类中多汁的浆果类果实,而且成熟后会呈现浓艳纯正的鲜红色。我们所见到胡椒粉的“干燥”和“无彩”则是由于其制作过程中包括了干燥和去皮等过程,早已看不出胡椒果实的原样。但在亚洲部分地区,还是可以见到通过不同加工方法得到的绿胡椒和红胡椒。

《尔雅•释木》:“檓,大椒。”郭璞注:“今椒树丛生实大者,名为檓。” 《后汉书•第五伦传》:“伏见虎贲中郎将窦宪,椒房之亲……”

既然胡椒是“番邦之椒”的意思,那么必然有一种早就被利用的“土椒”与之对应了,难道是辣椒(Capsicum annuum)?不然,辣椒产于美洲,入驻中国的时间比胡椒还要晚得多。于是,答案明显地指向了辣椒的搭档——花椒。

http://www.jiangkl.com/wp-content/uploads/2011/09/8.jpeg
【不管是火锅,还是花椒鱼片、花椒鸡之类的菜品,在川菜中,花椒可是享有“川菜灵魂与幽物”的美誉。】

花椒不仅在当下凭借麻辣的口感辅助川菜横行全国,它的果实早在数千年前就已为民熟知和使用。然而尽管都是干巴巴的果实产物,花椒粒却和后天干燥的胡椒粉不同,生来就没有什么汁水,于是花椒所属的“蓇葖果”(一种每个果子仅由一枚心皮形成的果实类型)也就被归入了干果大类。

http://www.jiangkl.com/wp-content/uploads/2011/09/9.jpeg
【花椒(Zanthoxylum bungeanum),芸香科Rutaceae 花椒属Zanthoxylum,落叶小乔木 1.川菜中,花椒和辣椒可算是生死不离 2.花椒调料 3.花椒植物】

“花椒”一名最早的文字记载出自《诗•唐风•椒聊》:“椒聊之实,蕃衍盈升。”由于花椒每颗结实树上都缀满海量鲜红的果子,在擅长联想的国人眼中,花椒被解读成生殖能力旺盛的象征,加之还能“避邪”(估计是指驱虫防腐的功效),所以花椒在古时常被用来填垫墓室内棺或涂糊宫女住房的墙壁,以取“多子多孙”之意,后来宫中女眷的住房也因此被称为“椒房”。 据此,我们可以推断出开篇《后汉书》中“椒房之亲”的这位窦宪大人应当是一名外戚。

—————

转自:http://www.guokr.com/article/62322/

他山石

[转]yum安装LAMP

1. 安装Apahce, PHP, MySQL以及php连接mysql库组件。
#yum -y install httpd php mysql mysql-server php-mysql
yum会到指定的服务器(mirror:163.com服务器)下载对应的软件版本,并自动处理依赖关系,并进行安装。

2. 安装apache扩展
#yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
让apache更好的支持其他的软件。

3. 安装php的扩展
#yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
apache本身并不支持php文件,要安装对应的php软件,然后进行http.conf配置;让apache能解析.php文件。

4. 安装MySQL的扩展
#yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
跟好的实现mysql的功能。

5. 配置开机启动服务
#/sbin/chkconfig httpd on [设置apache服务器httpd服务开机启动]
#/sbin/service httpd start [启动httpd服务,与开机启动无关]
#/sbin/service mysqld start [启动mysqld服务,与开机启动无关]

6. 简单配置文件:
apache的配置文件是/etc/httpd/conf下
modules放在/usr/lib/httpd下
php的配置文件在/etc/php.d/下 和/etc/php.ini
php的modules放在/usr/lib/php/modules下

7. 安装Tomcat5
#yum -y install tomcat5 tomcat5-webapps tomcat5-admin-webapps
安装Tomcat5安装包和对应的依赖关系包

8. 启动Tomcat5
#service tomcat5 start
#chkconfig tomcat5 on

9. 在浏览器输入http://你的IP:8080/,可以看到Apache SoftWare Foundation页,如果看不到,请确认是否是防火墙问题
看到一个猫头 ——————>tomcat5安装成功

10. Apache与Tomcat整合
如果网站需同时整合Apache与Tomcat可以使用JK或者Proxy方式
使用VI编辑proxy_ajp.conf文件
#vi /etc/httpd/conf.d/proxy_ajp.conf
输入以下内容
ProxyPass /tomcat/ ajp://localhost:8009/
存储文件后,重启Apache

#service httpd restart

在浏览器输入http://你的IP/tomcat/,可以看到Apache SoftWare Foundation页
As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at:

$CATALINA_HOME/webapps/ROOT/index.jsp

这样就可以解析 .jsp文件。

———
转自:http://www.linuxdiyf.com/viewarticle.php?id=202377
——–
前六步在centos-6.0下亲测可用

业界杂谈 他山石

[转]抓大放小,从粗到精

作为产品经理的你,洋洋洒洒的整理完产品的功能列表,长舒一口气,看,爷的产品多强大,规划了这么多牛掰闪闪的功能;作为交互设计师的你,头晕眼花的画完产品的原型和流程,暗自窃喜道,看,咱的流程多细致,梳理了那么多特殊情况和可能性;作为视觉设计师的你,设计了好多个华丽丽的界面,你为每一个页面进行了精心的雕琢,期待用户见到每一个页面都竖起大拇指说这个界面真漂亮;作为开发人员的你,搭建完框架之后,发现每个模块都有评审时漏掉的细节,一个模块一个模块的赶进度,导致你精疲力尽力不从心。

其实,在一个产品里,并不是所有的功能都那么重要的,如果产品经理只是交付一个功能列表,而不做需求优先级设定的话,产品可能沦为没有主心骨的产品,交互设计师设计的时候,不确定主要任务是什么;视觉设计师设计的的时候,不确定哪些界面和模块要提供更精致的设计;开发人员开发的时候,不知道哪些功能该设定更高的开发优先级,于是就会形成大家都在搅浆糊的状态,可能因为某些弱弱的分支流程的复杂性,导致开发人员花了大量的时间去攻克难题;可能因为某个不那么重要的设置界面中,UI增加了复杂的转场效果,导致开发人员搞到头破血流;可能因为开发人员捡着简单的功能先做,导致复杂的重要功能到最后才被草草攻克,一堆bug。别在抱怨各个角色不给力什么的了,想想自己的需求的分析是否到位,是否给你的需求排排等级,哪些对解决产品的商业价值+用户价值有最大的帮助,优先实现它,不重要的,不着急的,可以次优先级实现。

产品功能就像镜头里的花,如果你的镜头里,全是花,会因为全是亮点而变得没有亮点;如果你的镜头里,聚焦于一朵最娇艳的话,亮点就轻松浮现了。但有时候,说不做什么比说做什么还要难。必须每次改版,都上一些新功能,才能让用户知道我们在持续改进,才能让老板知道我们的团队充满战斗力。针对这些要上的功能(或来源于客户,或来源于老板,或来源于自己突发奇想),如果你经过了反复的调研,结论是做的意义不大,你甚至都不敢汇报,还是要硬着头皮上新功能。直到程序底层架构出了大问题,才不得不停下来做代码重构。

“People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying ‘no’ to 1,000 things. ——Steve Jobs

是的,不得不说,乔布斯是一个睿智的产品经理,他眼光独到,敢于取舍,会为了一个产品秘密研发几年,终于厚积薄发。国内环境不太一样,是非成败,瞬息万变,没有一个老板乐意让团队研发那么久,下那么大赌注在一款产品上。他们希望马上看到成绩,逼得团队甚至没有太多时间去深入调研,只能找到一些已经被证明可用的模式,Copy to China,虽说有些变态,可更多的是无奈。

即便如此,产品经理仍然可以讲清楚,产品的核心模块、核心功能是什么。就像这样一个金字塔,塔尖上的是最重要的需求,没有这些,就没有产品价值。

而一个交互设计师,则需要在了解清楚主要需求之后,对应分解到主要任务流程,你需要花80%的精力去设计那20%的重要任务流程,而这20%的重要任务流程,又足以解决80%的用户的核心需求。

有两个技巧让你不会劳心劳力又没成绩——1.抓大放小,要精心雕琢主要任务快速完成次要任务;2.从粗到精,不要上来就陷入到细节中去

其实花了这么多笔墨,只是讲了一个简单的道理,学会做减法,学会排优先级,学会抓主要矛盾。但这本身就是一件知易行难的事,还需要在实践中不断磨练。
———-
转自:http://ucdchina.com/snap/10368

Hello World 他山石

javascript 刷新页面的方法

1. window.location.reload

<script language=”JavaScript”>
function myrefresh(){
window.location.reload();
}
setTimeout(‘myrefresh()’,1000); //指定1秒刷新一次
</script>

2. 刷新包含该框架的页面用
<script language=JavaScript>
parent.location.reload();
</script>

3. 子窗口刷新父窗口
<script language=JavaScript>
self.opener.location.reload();
</script>
( 或 <a href=”javascript:opener.location.reload()”>刷新</a>   )

4.  刷新另一个框架的页面用
<script language=JavaScript>
parent.otherFrameID.location.reload();
</script>

5. 使用meta,自动定时刷新
<meta http-equiv=”refresh” content=”20″>
其中20指每隔20秒刷新一次页面.

参考:http://www.cnblogs.com/lmjob/archive/2008/08/11/1265164.html

业界杂谈 他山石 爱好收藏

[转]ipad2 拆解

~~对于某些人,拆解最新的电子/机械产品,永远是他们最大的乐趣~~和iphone4类似,ipad2仍然是把最大的空间留给电池,主板被挤到了较小的部分~~续航力一直是苹果的大卖点

来自:http://pad.zol.com.cn/220/2204965.html

他山石

从阿波罗登上月球开始,那个善良的美国就死了—-技术进步≠文明进步

为什么美国国旗只有插在月球上才象征文明和进步,

而它插到地球的任何一个角落都象征着霸权和战乱?

我一点也不质疑阿波罗飞船于1969年7月20日登上月球的真实性,因为现在所有的证据只能表明你们可以怀疑它,但却不能证明它是假的。

按这样的逻辑,秦始皇和亚历山大大帝都是假的,只要你怀疑。

存疑,是历史的必然,那些被记录在历史里的东西没有一样不存疑的,而如阿波罗登月这样被怀疑了40年仍然不能被推翻的历史,必然是真实的,它的真实和其它历史事件的真实一样,又带着真实的怀疑。

其实,当代航天技术已经让我们毫不怀疑人类有登上月球的能力,那也并不是什么高不可攀的技术,只要想上去,中国人一样会上去。

所以,中国人一定要早点上去,追赶上世界最先进科学文明的脚步。

不过,1969年的阿波罗登月,在我看来,可能又是另一个标志,即当美国,用它所谓优越的社会制度、聪明才智和探索精神为人类成就了第一次登临地球之外另一颗宇宙体,让嫦娥飞月梦想成真之后,它摇身一变,从世界最先进最文明最进步国家成为一个掌握着世界最高科技水平和最先进武器的新世界独裁者――从阿波罗登月到现在40年来,美国在世界舞台上做的惟一一件好事是搞掉了另一个霸权主义国家苏联,而同时它利用自己所掌握的最先进的科技力量、最强大的核力量,又干了无数件坏事,肢解了无数主权独立的国家,在世界各地制造无数的动荡,以各种各样的理由杀了无数的非美国人,现在所谓危害于全世界的邪恶榜样,除金正日之外,哪个人的成长不蒙美国所赐?

阿波罗登月,当是人类历史科技文明的里程碑事件,但在它之后,美国却一次又一次用作恶多端的事实证明,所谓的先进科技和文明力量,如果掌握在好人手里是人类的福音,而掌握在恶人的手里就是人类的灾难。

1969年7月20日以后,美国,挟阿波罗登月所象征的科技神话,在全世界制造了多少这样的灾难呢?

那是磬竹难书。

所以,从阿波罗登月开始,那个善良的美国就彻底死了。

如果美国是一个人,那么阿波罗登月就是美国的人性从善向恶最终演变的分水岭。

这就是我今天要纪念一下这个与我并无太大关系的日子的真实想法。

它告诉我们,在技术层面保持人类不断探索征服世界和宇宙的内动力是必要的,但人类只在科技文明上不断创新不断进取未必就会有人类真正的美好未来到来,也可能带来的是更大的霸权、仇杀和毁灭。

在不断激进自己改造世界的技术性能力的同时,人类还要不断锻造自己的灵魂和道德,积累自己的善良和怜惜之心,而这些才是在今天这个比较重要的日子里,美国人和全世界的人都该好好想一想的。

否则,你们人类,再用不着等到第二个或第二个阿波罗登月,就都自我哏屁归西了。

———————————————————-

转自:http://blog.ifeng.com/article/2955853.html