<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>出家如初，成佛有余</title>
	<link>http://www.yeeach.com</link>
	<description>专注电子商务领域，关注互联网，关注新媒体；Yeeach.com用于记录我技术生涯的点滴</description>
	<pubDate>Fri, 03 Oct 2008 12:43:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
	<language>en</language>
			<item>
		<title>Android 思考1-开放手机联盟思考</title>
		<link>http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/</link>
		<comments>http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 12:43:34 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[web2.0-无线互联网]]></category>

		<category><![CDATA[android]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[LiMo]]></category>

		<category><![CDATA[Open Handset Alliance]]></category>

		<category><![CDATA[OpenMoko]]></category>

		<category><![CDATA[手机操作系统]]></category>

		<category><![CDATA[无线互联网]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/</guid>
		<description><![CDATA[&#160;&#160;&#160; 这段时间，Google真的是风光无限，先是Google Chrome的发布，以及最近的T-Mobile G1的隆重上市，铺天盖地都是Google的消息，不得不感叹品牌的力量。
&#160;&#160;&#160; 整理一下对于Android的一些零碎的思考，以加深的无线互联网的理解。分成几部分思考一下：
&#160;&#160;&#160; 1、对Android 开放手机联盟思考
&#160;&#160;&#160; 2、Android 的商业模式思考：Android的商业模式、Google的无线互联网战略
&#160;&#160;&#160; 3、Android动了谁的奶酪：手机操作系统的竞争格局
&#160;&#160;&#160; 4、有中国特色的Android：Android山寨化、中国移动的Android平台
&#160;&#160;&#160; 5、Android的技术思考：
1、Android开放手机联盟
&#160;&#160;&#160; 在成立1年多后，Google发起的以Android为核心的Open Handset Alliance终于推出了第一款真机T-Mobile G1，应该说在类似的产业联盟中，能够在如此短的时间内推出真机，效率还是蛮高。如果举办一个有中国特色的“Android上市庆功表彰大会”的话，致辞中应该有类似“在联盟xxxx的光辉思想指引下，我们克服了重重困难，终于迎来了这个属于伟大的xxxx的光辉时刻。在这里我要感谢x、感谢xxxx，感谢xxxx,…”。
&#160;&#160;&#160; 一个成熟的手机产业联盟应当涵盖手机产业链中的半导体芯片制造商、设备制造商、运营商、软件提供商（软件服务器商、软件开发商、集成商、第三方开发者）等。从目前来看，Google发起的以Android为核心的Open Handset Alliance包含了手机产业链上的一些重量级的公司（参考open handset alliance members），这些重量级的会员加入对于尽快催熟整个围绕Android的产业链，帮助Android在目前Symbian、Windows Mobile、Linux、Apple OS X等手机操作系统平台竞争的乱世中迅速崛起起着至关重要的作用。但Google应当很清楚时间及成果对于维系这样松散联盟的重要性，因此也是其必须尽快推出G1这样的标杆产品的原因。从目前已知的资料而言，我觉得T-Mobile G1毋宁说是一个“IPhone的梦魇”的产品，还不如说是Google的Labs Beta产品。从G1的硬件配置、所支持的应用、用户体验等而言，尚有很多需要完善的地方，如果这样的产品都算完美的话，那就太低估人民群众的审美能力了。
&#160;&#160;&#160; 就目前竞争阶段而言，Google需要的不是一个完美的产品，而是需要一个证明联盟价值的东西，哪怕是半成品。
&#160;&#160;&#160; Google应当很清楚，每一个联盟的参与者都不是为了慈善事业而参加这样的商业联盟，每一个游戏的参与者都希望从中获取最大的商业利益。就目前的竞争格局而言，整个智能手机操作系统的竞争尚处于初级阶段，胜负尚难言定，Android能否在手机操作系统的竞争中成为主导平台尚需要很长一段时间。因此在联盟的这些会员中，除了Google自己，我认为先半导体芯片制造商、终端设备制造商、软件提供商、运营商等大部分都是机会主义者，基本上都脚踩几只船，他们关心的是“怎样的无线互联网时代获取更大的市场份额”，参加各种这样的联盟只是他们的手段之一。
&#160;&#160;&#160; 对于半导体芯片制造商而言，吸引他们的是“怎样卖出更多的芯片、怎样占领更大的市场份额”。
&#160;&#160;&#160; 对于设备制造商而言，吸引他们的是“怎样降低终端的制造成本，卖出更多的设备”。对于Samsung、LG、HTC这样没有自己核心操作系统的厂商而言，采取墙头草式的跟随战略还可以理解。而对于Motorola而言这样的举措就是愚蠢之极（Motorola Building Up 350-Person Android Team. Nokia Also Sniffing Around.）。到现在为止，Motorola自己还没搞清楚自己在移动产业的核心竞争力所在-平台为王，没有搞清楚移动终端竞争的根本-用户体验至上。放弃自己还相对成熟的Linux平台当山大王的机会不用（或者借助已经参加的LiMo联盟），甘愿去另外一个联盟充当一个二流的喽啰角色，Motorola完蛋了。 同样的道理，如果Nokia也放弃自己的Symbian平台，加入 Open Handset Alliance&#160; ，那Nokia也是愚蠢之极。对于这些设备制造商而言，放弃自己的与竞争对手有所区隔的竞争点不用，在竞争中采用与竞争对手完全同质化的产品，这样的竞争能有多少价值，利润能有多少。
&#160;&#160;&#160; 对于运营商而言，吸引他们的是“怎样让所有的终端都符合自己的规范，卖出更多电信服务”。
&#160;&#160;&#160; 对于软件提供商而言，吸引他们的是“谁的平台市场份额最大、谁的平台开发最为容易”。
&#160;&#160;&#160; 对于Google而言，Android作为其无线互联网战略的一个重要棋子，通过开放平台（是不是真正意义的开源平台尚待观察）的方式来颠覆手机操作系统的竞争格局，从一个局外人一跃成为游戏的参与者。其最大的兴趣是成为游戏规则的制定者（加入Android成功的话）。关于Google的无线互联网布局以及Android在Google无线互联网战略的意义的继续思考中…。
&#160;&#160;&#160; 关于手机联盟，比较有意思的是，可以比较一下几个与Open Handset Alliance联盟类似的基于Linux的产业联盟的会员：
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LiMo（http://www.limofoundation.org/）
&#160;&#160;&#160;&#160;&#160;&#160;&#160; OpenMoko（http://www.openmoko.org/）
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LiPS（http://www.lipsforum.org/）
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Maemo（http://maemo.org/intro/）
&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 这段时间，Google真的是风光无限，先是Google Chrome的发布，以及最近的T-Mobile G1的隆重上市，铺天盖地都是Google的消息，不得不感叹品牌的力量。</p>
<p>&#160;&#160;&#160; 整理一下对于Android的一些零碎的思考，以加深的无线互联网的理解。分成几部分思考一下：</p>
<p>&#160;&#160;&#160; 1、对Android 开放手机联盟思考</p>
<p>&#160;&#160;&#160; 2、Android 的商业模式思考：Android的商业模式、Google的无线互联网战略</p>
<p>&#160;&#160;&#160; 3、Android动了谁的奶酪：手机操作系统的竞争格局</p>
<p>&#160;&#160;&#160; 4、有中国特色的Android：Android山寨化、中国移动的Android平台</p>
<p>&#160;&#160;&#160; 5、Android的技术思考：</p>
<h3>1、Android开放手机联盟</h3>
<p>&#160;&#160;&#160; 在成立1年多后，Google发起的以Android为核心的Open Handset Alliance终于推出了第一款真机T-Mobile G1，应该说在类似的产业联盟中，能够在如此短的时间内推出真机，效率还是蛮高。如果举办一个有中国特色的“Android上市庆功表彰大会”的话，致辞中应该有类似“在联盟xxxx的光辉思想指引下，我们克服了重重困难，终于迎来了这个属于伟大的xxxx的光辉时刻。在这里我要感谢x、感谢xxxx，感谢xxxx,…”。</p>
<p>&#160;&#160;&#160; 一个成熟的手机产业联盟应当涵盖手机产业链中的半导体芯片制造商、设备制造商、运营商、软件提供商（软件服务器商、软件开发商、集成商、第三方开发者）等。从目前来看，Google发起的以Android为核心的Open Handset Alliance包含了手机产业链上的一些重量级的公司（参考<a title="http://www.openhandsetalliance.com/oha_members.html" href="http://www.openhandsetalliance.com/oha_members.html">open handset alliance members</a>），这些重量级的会员加入对于尽快催熟整个围绕Android的产业链，帮助Android在目前Symbian、Windows Mobile、Linux、Apple OS X等手机操作系统平台竞争的乱世中迅速崛起起着至关重要的作用。但Google应当很清楚时间及成果对于维系这样松散联盟的重要性，因此也是其必须尽快推出G1这样的标杆产品的原因。从目前已知的资料而言，我觉得T-Mobile G1毋宁说是一个“IPhone的梦魇”的产品，还不如说是Google的Labs Beta产品。从G1的硬件配置、所支持的应用、用户体验等而言，尚有很多需要完善的地方，如果这样的产品都算完美的话，那就太低估人民群众的审美能力了。</p>
<p>&#160;&#160;&#160; <strong><em>就目前竞争阶段而言，Google需要的不是一个完美的产品，而是需要一个证明联盟价值的东西，哪怕是半成品。</em></strong></p>
<p>&#160;&#160;&#160; Google应当很清楚，每一个联盟的参与者都不是为了慈善事业而参加这样的商业联盟，每一个游戏的参与者都希望从中获取最大的商业利益。就目前的竞争格局而言，整个智能手机操作系统的竞争尚处于初级阶段，胜负尚难言定，Android能否在手机操作系统的竞争中成为主导平台尚需要很长一段时间。因此在联盟的这些会员中，除了Google自己，我认为先半导体芯片制造商、终端设备制造商、软件提供商、运营商等大部分都是机会主义者，基本上都脚踩几只船，他们关心的是“怎样的无线互联网时代获取更大的市场份额”，参加各种这样的联盟只是他们的手段之一。</p>
<p>&#160;&#160;&#160; 对于半导体芯片制造商而言，吸引他们的是“怎样卖出更多的芯片、怎样占领更大的市场份额”。</p>
<p>&#160;&#160;&#160; 对于设备制造商而言，吸引他们的是“怎样降低终端的制造成本，卖出更多的设备”。对于Samsung、LG、HTC这样没有自己核心操作系统的厂商而言，采取墙头草式的跟随战略还可以理解。而对于Motorola而言这样的举措就是愚蠢之极（<a title="http://it.sohu.com/20080929/n259812891.shtml" href="http://www.techcrunch.com/2008/09/28/motorola-building-up-350-person-android-team-nokia-also-sniffing-around/">Motorola Building Up 350-Person Android Team. Nokia Also Sniffing Around.</a>）。到现在为止，Motorola自己还没搞清楚自己在移动产业的核心竞争力所在-平台为王，没有搞清楚移动终端竞争的根本-用户体验至上。放弃自己还相对成熟的Linux平台当山大王的机会不用（或者借助已经参加的LiMo联盟），甘愿去另外一个联盟充当一个二流的喽啰角色，Motorola完蛋了。 同样的道理，如果Nokia也放弃自己的Symbian平台，加入 Open Handset Alliance&#160; ，那Nokia也是愚蠢之极。对于这些设备制造商而言，放弃自己的与竞争对手有所区隔的竞争点不用，在竞争中采用与竞争对手完全同质化的产品，这样的竞争能有多少价值，利润能有多少。</p>
<p>&#160;&#160;&#160; 对于运营商而言，吸引他们的是“怎样让所有的终端都符合自己的规范，卖出更多电信服务”。</p>
<p>&#160;&#160;&#160; 对于软件提供商而言，吸引他们的是“谁的平台市场份额最大、谁的平台开发最为容易”。</p>
<p>&#160;&#160;&#160; 对于Google而言，Android作为其无线互联网战略的一个重要棋子，通过开放平台（是不是真正意义的开源平台尚待观察）的方式来颠覆手机操作系统的竞争格局，从一个局外人一跃成为游戏的参与者。其最大的兴趣是成为游戏规则的制定者（加入Android成功的话）。关于Google的无线互联网布局以及Android在Google无线互联网战略的意义的继续思考中…。</p>
<p>&#160;&#160;&#160; 关于手机联盟，比较有意思的是，可以比较一下几个与Open Handset Alliance联盟类似的基于Linux的产业联盟的会员：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; LiMo（<a href="http://www.limofoundation.org/">http://www.limofoundation.org/</a>）</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; OpenMoko（<a href="http://www.openmoko.org/">http://www.openmoko.org/</a>）</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; LiPS（<a href="http://www.lipsforum.org/">http://www.lipsforum.org/</a>）</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; Maemo（<a href="http://maemo.org/intro/">http://maemo.org/intro/</a>）</p>
<p>&#160;&#160;&#160; 法国电信从LiPS联盟转为LiMo的故事很有趣，很值得一看：<a title="http://blog.sina.com.cn/s/blog_4a09ed6f0100ad0q.html" href="http://blog.sina.com.cn/s/blog_4a09ed6f0100ad0q.html">Mobile Linux组织融合背后的故事</a></p>
<p>&#160;&#160;&#160; 每一个人都希望自己在联盟中当老大，掌握无上的话语权，没有不能放弃的原则，只要利益使然。对于曾经“不作恶”的Google亦然，尤其是在作为成功者需要捍卫已有利益时候。</p>
<h3>参考资料：</h3>
<p>&#160;&#160;&#160; <a href="http://www.androidin.com/android-827-1-1.html">http://www.androidin.com/android-827-1-1.html</a></p>
</p>
</p>
</p>
</p>
</p>
<p>&#160;&#160;&#160; <a title="http://blog.sina.com.cn/s/blog_4a09ed6f0100ad0q.html" href="http://blog.sina.com.cn/s/blog_4a09ed6f0100ad0q.html">http://blog.sina.com.cn/s/blog_4a09ed6f0100ad0q.html</a></p>
<p>&#160;</p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe575548-8226-431d-933b-1f6861dbf2e5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati 标签: <a href="http://technorati.com/tags/android" rel="tag">android</a>,<a href="http://technorati.com/tags/google" rel="tag">google</a>,<a href="http://technorati.com/tags/%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91" rel="tag">无线互联网</a>,<a href="http://technorati.com/tags/%e6%89%8b%e6%9c%ba%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f" rel="tag">手机操作系统</a>,<a href="http://technorati.com/tags/Open+Handset+Alliance" rel="tag">Open Handset Alliance</a>,<a href="http://technorati.com/tags/LiMo" rel="tag">LiMo</a>,<a href="http://technorati.com/tags/OpenMoko" rel="tag">OpenMoko</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/&amp;title=Android 思考1-开放手机联盟思考">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/web20-%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91/" title="显示web2.0-无线互联网的所有日志" rel="category tag">web2.0-无线互联网</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/10/03/android-%e6%80%9d%e8%80%831-%e5%bc%80%e6%94%be%e6%89%8b%e6%9c%ba%e8%81%94%e7%9b%9f%e6%80%9d%e8%80%83/feed/</wfw:commentRss>
		</item>
		<item>
		<title>还记得年少的的梦吗？</title>
		<link>http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/</link>
		<comments>http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 17:25:12 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[管理-个人修炼]]></category>

		<category><![CDATA[管理-杂思]]></category>

		<category><![CDATA[理想]]></category>

		<category><![CDATA[成功学]]></category>

		<category><![CDATA[梦想]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/</guid>
		<description><![CDATA[&#160;&#160;&#160; 十一呆在家中，没心没肺地看电影。看了部典型励志类电影的火箭小子（Rocket Boys）。故事根据美国NASA火箭专家Homer Hickam的畅销自传小说《ROCKET BOYS》改编http://en.wikipedia.org/wiki/Rocket_Boys，主要讲述了美国西弗吉尼亚州一个矿山小镇上的四个高中生百折不挠，完成自制火箭的梦想。老美描述故事的能力还是强大、很煽情。
&#160;&#160;&#160; 其实从儿时到现在，我们自己也像Homber一样曾经拥有过多少如此的梦想，那些梦想的光环是如此的绚丽，以致我们都只是远远观望，而忘记了去向梦想迈进。又有多少梦想我们曾经去尝试过呢，又有多少梦想我们曾经去坚持过一段时间？曾经拥有过的很多梦想只是象征性的尝试了一下就以各种冠冕堂皇的理由放弃掉了，更多的梦想尚来不及去尝试就已经被遗忘掉了。
&#160;&#160;&#160; 最为可悲的是，在经历现实生活中一次次的从梦想到挫折的经历后，我们发现在现实面前我们是如此的脆弱和无助，发现其实我们都只是凡夫俗子，于是我们不再梦想，也不再为梦想付出时间和精力。有的只是陷在沙发上，吃着各种垃圾食品，看肥皂剧里别人的梦想、别人的成功故事；有的只是参加各种成功学讲座，听关于成功学的速成秘籍；有的只是过着行尸走肉般的生活，日复一日、年复一年地做同样的事情。我们彻底丧失了对于未来、对于事业梦想的能力，更丧失了为梦想坚持和付出的勇气和动力，相反我们自己也开始嘲讽Homer Hickam对梦想唐·吉柯德式的固执坚持，嘲讽自己曾经的年少轻狂、不韵世事。
&#160;&#160; 千万不要放弃追求梦想的激情，有梦想才会有奇迹！
&#160;
Technorati 标签: 梦想,理想,成功学
	
	
	&#169; chuanliang for 出家如初，成佛有余, 2008. &#124;
	  Permalink &#124;
	  One comment
	Add to del.icio.us
	Search blogs linking this post with Technorati
	Want more on these topics ? Browse the archive of posts filed under 管理-个人修炼,  管理-杂思.]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 十一呆在家中，没心没肺地看电影。看了部典型励志类电影的火箭小子（Rocket Boys）。故事根据美国NASA火箭专家Homer Hickam的畅销自传小说《ROCKET BOYS》改编<a title="http://en.wikipedia.org/wiki/Rocket_Boys" href="http://en.wikipedia.org/wiki/Rocket_Boys">http://en.wikipedia.org/wiki/Rocket_Boys</a>，主要讲述了美国西弗吉尼亚州一个矿山小镇上的四个高中生百折不挠，完成自制火箭的梦想。老美描述故事的能力还是强大、很煽情。</p>
<p>&#160;&#160;&#160; 其实从儿时到现在，我们自己也像Homber一样曾经拥有过多少如此的梦想，那些梦想的光环是如此的绚丽，以致我们都只是远远观望，而忘记了去向梦想迈进。又有多少梦想我们曾经去尝试过呢，又有多少梦想我们曾经去坚持过一段时间？曾经拥有过的很多梦想只是象征性的尝试了一下就以各种冠冕堂皇的理由放弃掉了，更多的梦想尚来不及去尝试就已经被遗忘掉了。</p>
<p>&#160;&#160;&#160; 最为可悲的是，在经历现实生活中一次次的从梦想到挫折的经历后，我们发现在现实面前我们是如此的脆弱和无助，发现其实我们都只是凡夫俗子，于是我们不再梦想，也不再为梦想付出时间和精力。有的只是陷在沙发上，吃着各种垃圾食品，看肥皂剧里别人的梦想、别人的成功故事；有的只是参加各种成功学讲座，听关于成功学的速成秘籍；有的只是过着行尸走肉般的生活，日复一日、年复一年地做同样的事情。我们彻底丧失了对于未来、对于事业梦想的能力，更丧失了为梦想坚持和付出的勇气和动力，相反我们自己也开始嘲讽Homer Hickam对梦想唐·吉柯德式的固执坚持，嘲讽自己曾经的年少轻狂、不韵世事。</p>
<p>&#160;&#160; 千万不要放弃追求梦想的激情，有梦想才会有奇迹！</p>
<p>&#160;</p>
<div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1be31994-04d6-4067-9a0f-08d1c930ede6" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati 标签: <a href="http://technorati.com/tags/%e6%a2%a6%e6%83%b3" rel="tag">梦想</a>,<a href="http://technorati.com/tags/%e7%90%86%e6%83%b3" rel="tag">理想</a>,<a href="http://technorati.com/tags/%e6%88%90%e5%8a%9f%e5%ad%a6" rel="tag">成功学</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/&amp;title=还记得年少的的梦吗？">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/%e7%ae%a1%e7%90%86-%e4%b8%aa%e4%ba%ba%e4%bf%ae%e7%82%bc/" title="显示管理-个人修炼的所有日志" rel="category tag">管理-个人修炼</a>,  <a href="http://www.yeeach.com/category/%e7%ae%a1%e7%90%86-%e6%9d%82%e6%80%9d/" title="显示管理-杂思的所有日志" rel="category tag">管理-杂思</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/10/03/%e8%bf%98%e8%ae%b0%e5%be%97%e5%b9%b4%e5%b0%91%e7%9a%84%e7%9a%84%e6%a2%a6%e5%90%97%ef%bc%9f/feed/</wfw:commentRss>
		</item>
		<item>
		<title>三鹿事件思考</title>
		<link>http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/</link>
		<comments>http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 16:13:50 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[管理-杂思]]></category>

		<category><![CDATA[道德]]></category>

		<category><![CDATA[商业道德]]></category>

		<category><![CDATA[核心价值观]]></category>

		<category><![CDATA[信仰]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/</guid>
		<description><![CDATA[&#160;&#160;&#160; 在中国这片充满神奇的土地上，像三鹿这样的事件不是第一起，也绝对不会是最后一起。对于一个丧失了自己核心传统价值观、基本诚信严重缺失的社会，对于一个无所畏惧和毫无任何道德信仰的民族而言，这样令人发指的事件还会源源不断地涌现。拜托我们的人民公仆们不要再一次一次自淫什么中华民族的传统美德，一遍又一遍厚颜无耻地让大家对自己感恩戴德。如果我们的祖先曾经有过善良、与人为善的美德，那么这些美德早已经在一次又一次的革命运动中被洗刷掉了。其实一个民族或者企业最为恐怖的不是经济的贫穷、也不是环境的残酷，最为恐怖是整个民族丧失了基本的善恶标准，丧失了对自己基本信仰的坚持。
&#160;&#160; 有两种东西，我们愈是时常愈加反覆地思索，它们就愈是给人的心灵灌注了时时翻新， 有加无已的赞叹和敬畏 ——头顶的星空和心中的道德法则。 ——康德墓碑铭文 
&#160;&#160;&#160; 我自己有多久没有仰望过头顶的星空和三省吾身了？没有自己信仰的东西，那始终不会因为满足而快乐，这或许是我自己不快乐的根源吧。
&#160;&#160;&#160; 经过此次事件，按照正常人的逻辑推断而言，三鹿应当倒闭，也必须倒掉。如果经历这样的事件后，这样的企业还能生存下来，那真是对整个社会莫大的讽刺，然而我相信最后基于各种“有中国特色的理论”的论证，三鹿事件会很快平息下来，三鹿最终也不会倒掉，这才是让我辈感到崩溃和绝望的。
&#160;&#160;&#160; 同样不道德的康师傅在矿泉水事件后仍然可以生存下来，因此矿泉水并不是其核心业务，而三鹿的奶粉是其生存的根本。每一个企业和各人都有自己核心品牌和核心竞争力，一定要好好捍卫好自己的核心品牌和核心价值，对于自己的核心价值不能拿一时的利益去交换。相信三鹿的各位老板也曾经权衡过得失利弊，最终还是屈从于利益的需要。当我面对自己的三鹿事件时候，我自己能够坚持自己的核心信仰吗？
&#160;&#160;&#160; 最好的危机公关是不制造危机，将自己的命运寄托在与自己一样不道德的人的身上，永远没有好的下场。
&#160;&#160;&#160; 与其相信并指望那些伟大、光荣、正确的东西，与其相信那些商场上光怪陆离的利益交换，还不如指望自己的努力来换取幸福和快乐，还不如相信自己心中的善恶标准，至少我们可以通过对心中信仰的满足来得到相对的宁静，至少还可以按照自己的标准过得相对的道德。
&#160;&#160;&#160; 每一个人都会面对自己的三鹿事件，我们该怎样应对？
Technorati Tags: 信仰,道德,核心价值观,商业道德
	
	
	&#169; chuanliang for 出家如初，成佛有余, 2008. &#124;
	  Permalink &#124;
	  No comment
	Add to del.icio.us
	Search blogs linking this post with Technorati
	Want more on these topics ? Browse the archive of posts filed under 管理-杂思.]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 在中国这片充满神奇的土地上，像三鹿这样的事件不是第一起，也绝对不会是最后一起。对于一个丧失了自己核心传统价值观、基本诚信严重缺失的社会，对于一个无所畏惧和毫无任何道德信仰的民族而言，这样令人发指的事件还会源源不断地涌现。拜托我们的人民公仆们不要再一次一次自淫什么中华民族的传统美德，一遍又一遍厚颜无耻地让大家对自己感恩戴德。如果我们的祖先曾经有过善良、与人为善的美德，那么这些美德早已经在一次又一次的革命运动中被洗刷掉了。其实一个民族或者企业最为恐怖的不是经济的贫穷、也不是环境的残酷，最为恐怖是整个民族丧失了基本的善恶标准，丧失了对自己基本信仰的坚持。</p>
<p>&#160;&#160; <em>有两种东西，我们愈是时常愈加反覆地思索，它们就愈是给人的心灵灌注了时时翻新， 有加无已的赞叹和敬畏 ——头顶的星空和心中的道德法则。</em> <em>——康德墓碑铭文</em> </p>
<p>&#160;&#160;&#160; 我自己有多久没有仰望过头顶的星空和三省吾身了？没有自己信仰的东西，那始终不会因为满足而快乐，这或许是我自己不快乐的根源吧。</p>
<p>&#160;&#160;&#160; 经过此次事件，按照正常人的逻辑推断而言，三鹿应当倒闭，也必须倒掉。如果经历这样的事件后，这样的企业还能生存下来，那真是对整个社会莫大的讽刺，然而我相信最后基于各种“有中国特色的理论”的论证，三鹿事件会很快平息下来，三鹿最终也不会倒掉，这才是让我辈感到崩溃和绝望的。</p>
<p>&#160;&#160;&#160; 同样不道德的康师傅在矿泉水事件后仍然可以生存下来，因此矿泉水并不是其核心业务，而三鹿的奶粉是其生存的根本。每一个企业和各人都有自己核心品牌和核心竞争力，一定要好好捍卫好自己的核心品牌和核心价值，对于自己的核心价值不能拿一时的利益去交换。相信三鹿的各位老板也曾经权衡过得失利弊，最终还是屈从于利益的需要。当我面对自己的三鹿事件时候，我自己能够坚持自己的核心信仰吗？</p>
<p>&#160;&#160;&#160; 最好的危机公关是不制造危机，将自己的命运寄托在与自己一样不道德的人的身上，永远没有好的下场。</p>
<p>&#160;&#160;&#160; 与其相信并指望那些伟大、光荣、正确的东西，与其相信那些商场上光怪陆离的利益交换，还不如指望自己的努力来换取幸福和快乐，还不如相信自己心中的善恶标准，至少我们可以通过对心中信仰的满足来得到相对的宁静，至少还可以按照自己的标准过得相对的道德。</p>
<p>&#160;&#160;&#160; 每一个人都会面对自己的三鹿事件，我们该怎样应对？</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:551bb5d1-e7f8-4c74-b53f-0f18e5091ffd" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/%e4%bf%a1%e4%bb%b0" rel="tag">信仰</a>,<a href="http://technorati.com/tags/%e9%81%93%e5%be%b7" rel="tag">道德</a>,<a href="http://technorati.com/tags/%e6%a0%b8%e5%bf%83%e4%bb%b7%e5%80%bc%e8%a7%82" rel="tag">核心价值观</a>,<a href="http://technorati.com/tags/%e5%95%86%e4%b8%9a%e9%81%93%e5%be%b7" rel="tag">商业道德</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/&amp;title=三鹿事件思考">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/%e7%ae%a1%e7%90%86-%e6%9d%82%e6%80%9d/" title="显示管理-杂思的所有日志" rel="category tag">管理-杂思</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/15/%e4%b8%89%e9%b9%bf%e4%ba%8b%e4%bb%b6%e6%80%9d%e8%80%83/feed/</wfw:commentRss>
		</item>
		<item>
		<title>关于Google Chrome的那些事儿</title>
		<link>http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/</link>
		<comments>http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 03:36:55 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[web2.0-无线互联网]]></category>

		<category><![CDATA[技术-mozilla]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[google chrome]]></category>

		<category><![CDATA[gtalk]]></category>

		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/</guid>
		<description><![CDATA[&#160;&#160;&#160; Google Chrome出来后，整个互联网都处于亢奋之中，铺天盖地都是关于Chrome的专题文章、博文，多到有点让人发吐的地步。大家从云计算入口、SaaS服务、无线互联网、浏览器等角度谈论了Chrome对于Google的战略意义，也有大量从“产品设计、用户体验”角度大力推崇其极简主义风格的，呵呵，当然更少不了的“挑战微软的垄断地位、挑战微软的霸权”之类的中国特色的口号。
&#160;&#160;&#160; 由于这段时间忙项目开发的事情，也没时间仔细去思考此事情，今天有空梳理一下自己对Google Chrome的理解。
1、战略性产品 vs. 战术性产品
&#160;&#160;&#160; 我同意Google Chrome对于Google整个互联网战略布局的意义。就目前而言，浏览器仍然是互联网应用的“入口”，作为”互联网入口“的客户端比网页形式的在线应用在展现上及服务推送上更为灵活，更能够有效培养用户对服务的依赖性和忠诚度，因此客户端是每一个互联网公司必争的地盘。对Google而言，应该是希望通过Google Chrome来摆脱对操作系统、浏览器等第三方资源的依赖，为自己的服务及应用找一个统一的控制点和接入点（当然这些服务及应用也可以以当下时尚的“云计算”的外壳来包装），早期的Toolbar、Desktop、Gtalk等桌面应用已经无法支撑Google的需求。Chrome早晚肯定会成为Google所有应用的聚合平台和入口平台，尽管目前Beta版本没有附带任何Google的产品。
&#160;&#160;&#160; 目前互联网大战的游戏才刚刚开始，目前只是google暂时领先（尽管其领先的优势还是蛮明显的），谁能够真正成为千秋万代的霸主尚言太早。其实并不是google做得太好了，而是因为微软做得太差了，看看微软的互联网产品就知道其内部战略有多么的混乱，真浪费了那么多好的资源，其实微软并不缺互联网应用的基础，缺少的是具有互联网思维方式、持续性的互联网战略及舍弃当前部分利益挥刀自宫的决心。但如果微软调整好其互联网战略，那这场互联网游戏就很好玩了，其Office Live（商务化平台）+XBox Live(娱乐化平台)+Windows Mobile（无线互联网平台）+其他传统资源及其他Live应用的组合（例如垃圾的Live Search）还是蛮具有杀伤力的，尤其是在操作系统、浏览器等互联网基础设施上其先天的优势。其中基于XBox Live的娱乐化平台（尽管目前尚处于亏损状况），个人极其看好其未来，而Google目前尚未有任何能力和资源能够进入。
&#160;&#160; 从微软这个公司的基因分析而言，个人认为不管微软目前互联网战略有多么糟糕，这个庞大的帝国肯定会顺利完成其转身的，只是是其付出的时间及成本而已，因此从Google角度而言，必须在微软完成转身前构筑起竞争壁垒，而通过对互联网入口的控制来强化自己对整个互联网的话语权是手段之一。那么对于Google而言，Google Chrome算是“战略性产品”、“战术性产品”抑或是“20%时间的产品”，是用于防御、进攻、防御性进攻？从Google各位老大的重视程度来看，Google Chrome应该是一个战略性产品，而就目前chrome的产品特征目前尚看不出有太多进攻性的特征，正如施密特所言“由于试图防止微软利用其占市场主导地位的Internet Explorer浏览器包抄自己,谷歌的此项决定带有一定的防御成分”。
&#160;&#160;&#160; 既然是战略性产品，就我辈理解，那Google Chrome所被寄予的期望就不单纯是浏览器了，其承载的Google通过客户端（PC、无线）掌控互联网入口的野心。
2、Google Chrome的朋友和敌人（Google Chrome vs. Firefox）
&#160;&#160; 伟大领袖告诉我们：“谁是我们的敌人？谁是我们的朋友？这个问题是革命的首要问题 ”
&#160;&#160; 我相信Google在打算自己推出Chrome前所作的产品规划中肯定已经明确回答了此问题，不知其内部是怎样定位Firefox、Opera、Safari这些早期的合作伙伴的。其实Google Chrome最大的受伤者不是微软，我觉得是Firefox，也是Google自己。预计在未来一段时间内，Google还是会作为Firefox顶级的商务合作伙伴（不是技术合作伙伴）对Firefox进行赞助，但没有理解Google自己为何对Firefox现有各种社区资源、丰富成熟扩展、良好的合作关系不顾，而直接选择了基于Webkit重启炉灶来开发自己的东西。如果是以为了提供“更快的速度、更好的用户体验、更强大的功能”的创新噱头而采用这样的策略，我觉得至少就目前Beta版本功能而言，Google Chrome并不能称得上一个典型的“Google式“创新的产品，如果一定要说创新，我觉得只能说是杂交了当下各种浏览器部分优点的产品而已。Google Chrome或许有美好的未来，但就当前而言，Google 在客户端战略上需要做的应当是团结一切可以团结的力量，利用一切可以利用的资源来帮助自己达到革命目标，而不是现在就开始从阵营内部分化。
&#160;&#160;&#160; Google Chrome的目标不应当是做好的浏览器，而是为用户使用Google各种应用及服务（云计算）提供最好的接入点。其实Google Chrome可以考虑采用Webkit+Gecko双核心策略，这样可以兼顾各方的利益，同时可以应当充分利用Firefox现有的各种资源。
3、简洁制胜？（Google Chrome vs. Gtalk）
&#160;&#160;&#160; 其实Google并不是没有好的桌面端（手机端）整合接入工具， 一直觉得Google 其实白白浪费了Gtalk这么好的整合工具。不知Google对Gtalk的定位是怎样的，Gtalk发展了这么多年，一直还是到死不活的状态。一个软件出道时候标榜自己简洁可以博得众多的喝彩，但要是经过这么多年还是简洁到什么功能都不完善的程序，那还不如放弃算了。简洁≠功能简单≠功能不能强大。
&#160;&#160;&#160; 其实Gtalk要是早就采用开放平台策略（不单纯是通信协议的开放），参考Firefox或Chrome的扩展机制，提供一个足够简洁的核心基础框架，然后让众多人去帮助做插件和应用，这样可以保持内核框架的简洁和功能强大的平衡性，同时可以形成自己核心的社区。要是Gtalk早就按照此种思路去做，尤其是通过Gtalk来整合其搜索、地图、Orkut、Blogger等社区化元素，那Google现在做SNS或Chrome就容易多了。
&#160;&#160;&#160; 历史总是一次一次重复类似的故事，不知当年鼓吹“Gtalk简洁制胜，只用Gtalk”的各位仁兄们还有多少人仍然在坚持自己当初的承诺，但愿Google Chrome不要再走Gtalk及其他诸如Blogger、Orkut等Google产品老路子。
&#160;
4、Google Chrome的核心应用场合
&#160;&#160; 众多人都说无线互联网是Google Chrome是核心应用场合。是的，没错，无线互联网是下一个Big Deal，当然少不了Google，当然也少不了Google的战略性产品的身影。只是个人觉得Google Chrome的最大价值是google各种应用的聚合接入点，而不单纯是其中的一个市场，也不单纯是一个浏览器本身。
&#160;&#160; 其实这一点Google Chrome应当充分学习Firefox社区及各种应用扩展的思路，把自己的各种应用无缝融入Google Chrome中，我想这应该是Google内部度量Google Chrome是否成功的标准之一。
&#160;&#160; Google [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; Google Chrome出来后，整个互联网都处于亢奋之中，铺天盖地都是关于Chrome的专题文章、博文，多到有点让人发吐的地步。大家从云计算入口、SaaS服务、无线互联网、浏览器等角度谈论了Chrome对于Google的战略意义，也有大量从“产品设计、用户体验”角度大力推崇其极简主义风格的，呵呵，当然更少不了的“挑战微软的垄断地位、挑战微软的霸权”之类的中国特色的口号。</p>
<p>&#160;&#160;&#160; 由于这段时间忙项目开发的事情，也没时间仔细去思考此事情，今天有空梳理一下自己对Google Chrome的理解。</p>
<h3>1、战略性产品 vs. 战术性产品</h3>
<p>&#160;&#160;&#160; 我同意Google Chrome对于Google整个互联网战略布局的意义。就目前而言，浏览器仍然是互联网应用的“入口”，作为”互联网入口“的客户端比网页形式的在线应用在展现上及服务推送上更为灵活，更能够有效培养用户对服务的依赖性和忠诚度，因此客户端是每一个互联网公司必争的地盘。对Google而言，应该是希望通过Google Chrome来摆脱对操作系统、浏览器等第三方资源的依赖，为自己的服务及应用找一个统一的控制点和接入点（当然这些服务及应用也可以以当下时尚的“云计算”的外壳来包装），早期的Toolbar、Desktop、Gtalk等桌面应用已经无法支撑Google的需求。Chrome早晚肯定会成为Google所有应用的聚合平台和入口平台，尽管目前Beta版本没有附带任何Google的产品。</p>
<p>&#160;&#160;&#160; 目前互联网大战的游戏才刚刚开始，目前只是google暂时领先（尽管其领先的优势还是蛮明显的），谁能够真正成为千秋万代的霸主尚言太早。其实并不是google做得太好了，而是因为微软做得太差了，看看微软的互联网产品就知道其内部战略有多么的混乱，真浪费了那么多好的资源，其实微软并不缺互联网应用的基础，缺少的是具有互联网思维方式、持续性的互联网战略及舍弃当前部分利益挥刀自宫的决心。但如果微软调整好其互联网战略，那这场互联网游戏就很好玩了，其Office Live（商务化平台）+XBox Live(娱乐化平台)+Windows Mobile（无线互联网平台）+其他传统资源及其他Live应用的组合（例如垃圾的Live Search）还是蛮具有杀伤力的，尤其是在操作系统、浏览器等互联网基础设施上其先天的优势。其中基于XBox Live的娱乐化平台（尽管目前尚处于亏损状况），个人极其看好其未来，而Google目前尚未有任何能力和资源能够进入。</p>
<p>&#160;&#160; 从微软这个公司的基因分析而言，个人认为不管微软目前互联网战略有多么糟糕，这个庞大的帝国肯定会顺利完成其转身的，只是是其付出的时间及成本而已，因此从Google角度而言，必须在微软完成转身前构筑起竞争壁垒，而通过对互联网入口的控制来强化自己对整个互联网的话语权是手段之一。那么对于Google而言，Google Chrome算是“战略性产品”、“战术性产品”抑或是“20%时间的产品”，是用于防御、进攻、防御性进攻？从Google各位老大的重视程度来看，Google Chrome应该是一个战略性产品，而就目前chrome的产品特征目前尚看不出有太多进攻性的特征，正如施密特所言“由于试图防止微软利用其占市场主导地位的Internet Explorer浏览器包抄自己,谷歌的此项决定带有一定的防御成分”。</p>
<p>&#160;&#160;&#160; 既然是战略性产品，就我辈理解，那Google Chrome所被寄予的期望就不单纯是浏览器了，其承载的Google通过客户端（PC、无线）掌控互联网入口的野心。</p>
<h3>2、Google Chrome的朋友和敌人（Google Chrome vs. Firefox）</h3>
<p>&#160;&#160; 伟大领袖告诉我们<em>：“谁是我们的敌人？谁是我们的朋友？这个问题是革命的首要问题 ”</em></p>
<p>&#160;&#160; 我相信Google在打算自己推出Chrome前所作的产品规划中肯定已经明确回答了此问题，不知其内部是怎样定位Firefox、Opera、Safari这些早期的合作伙伴的。其实Google Chrome最大的受伤者不是微软，我觉得是Firefox，也是Google自己。预计在未来一段时间内，Google还是会作为Firefox顶级的商务合作伙伴（不是技术合作伙伴）对Firefox进行赞助，但没有理解Google自己为何对Firefox现有各种社区资源、丰富成熟扩展、良好的合作关系不顾，而直接选择了基于Webkit重启炉灶来开发自己的东西。如果是以为了提供“更快的速度、更好的用户体验、更强大的功能”的创新噱头而采用这样的策略，我觉得至少就目前Beta版本功能而言，Google Chrome并不能称得上一个典型的“Google式“创新的产品，如果一定要说创新，我觉得只能说是杂交了当下各种浏览器部分优点的产品而已。Google Chrome或许有美好的未来，但就当前而言，Google 在客户端战略上需要做的应当是团结一切可以团结的力量，利用一切可以利用的资源来帮助自己达到革命目标，而不是现在就开始从阵营内部分化。</p>
<p>&#160;&#160;&#160; Google Chrome的目标不应当是做好的浏览器，而是为用户使用Google各种应用及服务（云计算）提供最好的接入点。其实Google Chrome可以考虑采用Webkit+Gecko双核心策略，这样可以兼顾各方的利益，同时可以应当充分利用Firefox现有的各种资源。</p>
<h3>3、简洁制胜？（Google Chrome vs. Gtalk）</h3>
<p>&#160;&#160;&#160; 其实Google并不是没有好的桌面端（手机端）整合接入工具， 一直觉得Google 其实白白浪费了Gtalk这么好的整合工具。不知Google对Gtalk的定位是怎样的，Gtalk发展了这么多年，一直还是到死不活的状态。一个软件出道时候标榜自己简洁可以博得众多的喝彩，但要是经过这么多年还是简洁到什么功能都不完善的程序，那还不如放弃算了。简洁≠功能简单≠功能不能强大。</p>
<p>&#160;&#160;&#160; 其实Gtalk要是早就采用开放平台策略（不单纯是通信协议的开放），参考Firefox或Chrome的扩展机制，提供一个足够简洁的核心基础框架，然后让众多人去帮助做插件和应用，这样可以保持内核框架的简洁和功能强大的平衡性，同时可以形成自己核心的社区。要是Gtalk早就按照此种思路去做，尤其是通过Gtalk来整合其搜索、地图、Orkut、Blogger等社区化元素，那Google现在做SNS或Chrome就容易多了。</p>
<p>&#160;&#160;&#160; 历史总是一次一次重复类似的故事，不知当年鼓吹“Gtalk简洁制胜，只用Gtalk”的各位仁兄们还有多少人仍然在坚持自己当初的承诺，但愿Google Chrome不要再走Gtalk及其他诸如Blogger、Orkut等Google产品老路子。</p>
<p>&#160;</p>
<h3>4、Google Chrome的核心应用场合</h3>
<p>&#160;&#160; 众多人都说无线互联网是Google Chrome是核心应用场合。是的，没错，无线互联网是下一个Big Deal，当然少不了Google，当然也少不了Google的战略性产品的身影。只是个人觉得Google Chrome的最大价值是google各种应用的聚合接入点，而不单纯是其中的一个市场，也不单纯是一个浏览器本身。</p>
<p>&#160;&#160; 其实这一点Google Chrome应当充分学习Firefox社区及各种应用扩展的思路，把自己的各种应用无缝融入Google Chrome中，我想这应该是Google内部度量Google Chrome是否成功的标准之一。</p>
<p>&#160;&#160; Google Chrome距离成功还有很大的距离，只不过这对于我辈并不重要，重要的是浏览器战火的重燃、竞争的加剧才能激发各产品的创新动力，而我们是最大的受益者。</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5780cc53-b465-4dd6-a2a8-b9e4924461c9" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/google+chrome" rel="tag">google chrome</a>,<a href="http://technorati.com/tags/firefox" rel="tag">firefox</a>,<a href="http://technorati.com/tags/%e6%b5%8f%e8%a7%88%e5%99%a8" rel="tag">浏览器</a>,<a href="http://technorati.com/tags/gtalk" rel="tag">gtalk</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/#comments">2 comments</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/&amp;title=关于Google Chrome的那些事儿">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/web20-%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91/" title="显示web2.0-无线互联网的所有日志" rel="category tag">web2.0-无线互联网</a>,  <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-mozilla/" title="显示技术-mozilla的所有日志" rel="category tag">技术-mozilla</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/14/%e5%85%b3%e4%ba%8egoogle-chrome%e7%9a%84%e9%82%a3%e4%ba%9b%e4%ba%8b%e5%84%bf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>使用awstats完成门户社区流量统计分析</title>
		<link>http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/</link>
		<comments>http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 03:05:07 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[技术-web服务器]]></category>

		<category><![CDATA[技术-数据挖掘]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[awstats]]></category>

		<category><![CDATA[用户行为分析]]></category>

		<category><![CDATA[QQWry.dat]]></category>

		<category><![CDATA[selinux]]></category>

		<category><![CDATA[web usage mining]]></category>

		<category><![CDATA[web数据挖掘]]></category>

		<category><![CDATA[协同过滤]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/</guid>
		<description><![CDATA[&#160;&#160;&#160; Web站点中主要有三类数据：内容数据、结构数据、使用数据。同时Web Mining也分成三类：Web Content Mining、Web Structure Mining、Web Usage Mining。
&#160;&#160;&#160; Web Content Mining和Web Structure Mining的对象都是网络上的原始数据。
&#160;&#160;&#160; Web Usage Mining面对的是用户和网络交互过程中抽取出来的二手数据，这些数据主要是用户在访问Web时在Web日志(logs)里留下的信息，以及其它一些交互信息，包括：访问日期、时间、用户IP地址、服务器IP地址、方法、所请求URL资源、服务器响应状态、用户代理、发送字节等。Web Usage Mining就是对Server Logs、Error Logs、Cookie Logs等日志信息，以及用户的注册数据、社区发帖数据、点击行为数据、消费数据等进行挖掘，以发现有用信息。
&#160;&#160;&#160; 可以说对门户社区的访问流量进行统计分析是进行社区运营的重要手段，可以根据用户行为分析结果及时调整网站结构，提高用户体验。
&#160;&#160;&#160; 对用户行为分析最为准确的还是诸如协同过滤这样的技术，但由于涉及统计分析等复杂算法，后期再逐步引进，目前先针对访问日志进行统计分析。
&#160;&#160;&#160; 对Web日志的分析采用awstats来完成，下面简单说明一下awstats的安装使用。

1、 系统环境：
OS：Red Hat Enterprise Linux Server release 5
Apache：httpd-2.2.3-6.el5
Perl：perl-5.8.8-10
2、 关闭selinux
vi /etc/selinux/config
SELINUX=disabled
将SELINUX=enforcing修改为disabled，重启服务器
如果不想重启服务器，执行如下命令，但是只在当次启动有效： 
selinuxenabled 0
查看目前selinux的状态: sestatus 
如果要查询到更多的信息，可使用sestatus –v
查看selinux对httpd的参数值：getsebool -a &#124; grep httpd
要设定selinux对httpd的参数值，可利用setsebool，例如：
setsebool -P httpd_disable_trans 1
3、 下载awstats
wget http://awstats.sourceforge.net/files/awstats-6.9.tar.gz
4、 安装awstats
tar zxvf awstats-6.9.tar.gz
mv awstats-6.9 /usr/local/awstats
cd /usr/local/awstats/tools
perl awstats_configure.pl
………………………省略部分内容…………………………
Do [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; Web站点中主要有三类数据：内容数据、结构数据、使用数据。同时Web Mining也分成三类：Web Content Mining、Web Structure Mining、Web Usage Mining。</p>
<p>&#160;&#160;&#160; Web Content Mining和Web Structure Mining的对象都是网络上的原始数据。</p>
<p>&#160;&#160;&#160; Web Usage Mining面对的是用户和网络交互过程中抽取出来的二手数据，这些数据主要是用户在访问Web时在Web日志(logs)里留下的信息，以及其它一些交互信息，包括：访问日期、时间、用户IP地址、服务器IP地址、方法、所请求URL资源、服务器响应状态、用户代理、发送字节等。Web Usage Mining就是对Server Logs、Error Logs、Cookie Logs等日志信息，以及用户的注册数据、社区发帖数据、点击行为数据、消费数据等进行挖掘，以发现有用信息。</p>
<p>&#160;&#160;&#160; 可以说对门户社区的访问流量进行统计分析是进行社区运营的重要手段，可以根据用户行为分析结果及时调整网站结构，提高用户体验。</p>
<p>&#160;&#160;&#160; 对用户行为分析最为准确的还是诸如协同过滤这样的技术，但由于涉及统计分析等复杂算法，后期再逐步引进，目前先针对访问日志进行统计分析。</p>
<p>&#160;&#160;&#160; 对Web日志的分析采用awstats来完成，下面简单说明一下awstats的安装使用。</p>
</p>
<p><b>1、 </b><b>系统环境：</b></p>
<p>OS：Red Hat Enterprise Linux Server release 5</p>
<p>Apache：httpd-2.2.3-6.el5</p>
<p>Perl：perl-5.8.8-10</p>
<p><b>2、 </b><b>关闭selinux</b></p>
<p>vi /etc/selinux/config</p>
<p>SELINUX=disabled</p>
<p>将SELINUX=enforcing修改为disabled，重启服务器</p>
<p>如果不想重启服务器，执行如下命令，但是只在当次启动有效： </p>
<p>selinuxenabled 0</p>
<p>查看目前selinux的状态: sestatus </p>
<p>如果要查询到更多的信息，可使用sestatus –v</p>
<p>查看selinux对httpd的参数值：getsebool -a | grep httpd</p>
<p>要设定selinux对httpd的参数值，可利用setsebool，例如：</p>
<p>setsebool -P httpd_disable_trans 1</p>
<p><b>3、 </b><b>下载awstats</b></p>
<p>wget <a href="http://awstats.sourceforge.net/files/awstats-6.9.tar.gz">http://awstats.sourceforge.net/files/awstats-6.9.tar.gz</a></p>
<p><b>4、 </b><b>安装awstats</b></p>
<p>tar zxvf awstats-6.9.tar.gz</p>
<p>mv awstats-6.9 /usr/local/awstats</p>
<p>cd /usr/local/awstats/tools</p>
<p>perl awstats_configure.pl</p>
<p>………………………省略部分内容…………………………</p>
<p>Do you want to continue setup from this NON standard directory [yN] ? //具体设置</p>
<p>输入y,如果awstats放在/usr/local/目录下，则不会显示这一步</p>
<p>&#8212;&#8211;&gt; Check for web server install</p>
<p>………………………省略部分内容………………………….</p>
<p>输入/etc/httpd/conf/httpd.conf</p>
<p>………………………省略部分内容………………………….</p>
<p>&#8212;&#8211;&gt; Need to create a new config file ?</p>
<p>输入y </p>
<p>………………………省略部分内容………………………….</p>
<p>&#8212;&#8211;&gt; Define config file name to create</p>
<p>输入你想分析的网站域名如：localhost</p>
<p>………………………省略部分内容………………………….</p>
<p>&#8212;&#8211;&gt; Define config file path</p>
<p>默认即可</p>
<p>………………………省略部分内容………………………….</p>
<p>&#8212;&#8211;&gt; Add update process inside a scheduler</p>
<p>回车即可</p>
<p>A SIMPLE config file has been created: /etc/awstats/awstats.localhost.conf</p>
<p>You should have a look inside to check and change manually main parameters.</p>
<p>You can then manually update your statistics for &#8216;localhost&#8217; with command:</p>
<p>&gt; perl awstats.pl -update -config=localhost</p>
<p>You can also read your statistics for &#8216;localhost&#8217; with URL:</p>
<p>&gt; <a href="http://localhost/awstats/awstats.pl?config=localhost">http://localhost/awstats/awstats.pl?config=localhost</a></p>
<p>Press ENTER to finish&#8230;</p>
<p>回车安装完毕</p>
<p><b>5、 </b><b>安装来访者IP未知插件：</b></p>
<p>wget <a href="http://www.ieasy.org/download/qqhostinfo.pm">http://www.ieasy.org/download/qqhostinfo.pm</a></p>
<p>cp qqhostinfo.pm /usr/local/awstats/wwwroot/cgi-bin/plugins</p>
<p>wget <a href="http://www.ieasy.org/download/qqwry.pl">http://www.ieasy.org/download/qqwry.pl</a></p>
<p>cp qqwry.pl /usr/local/awstats/wwwroot/cgi-bin/plugins</p>
<p>下载QQWry.Dat（<a href="http://update.cz88.net/soft/qqwry.rar">http://update.cz88.net/soft/qqwry.rar</a>），上传到/usr/local/awstats/wwwroot/cgi-bin/plugins下</p>
<p>也可以使用GeoLiteCity.dat，但GeoIP对中国城市的统计不准确，在国内还是珊蝴虫和纯真版IP数据库相对准确。</p>
<p><b>6、 </b><b>配置httpd</b></p>
<p>修改/etc/httpd/conf/httpd.conf，修改内容如下：</p>
<p>AddHandler cgi-script cgi pl</p>
<p>#</p>
<p># Directives to allow use of AWStats as a CGI</p>
<p>#</p>
<p>Alias /awstatsclasses &quot;/usr/local/awstats/wwwroot/classes/&quot;</p>
<p>Alias /awstatscss &quot;/usr/local/awstats/wwwroot/css/&quot;</p>
<p>Alias /awstatsicons &quot;/usr/local/awstats/wwwroot/icon/&quot;</p>
<p>ScriptAlias /awstats/ &quot;/usr/local/awstats/wwwroot/cgi-bin/&quot;</p>
<p>#</p>
<p># This is to permit URL access to scripts/files in AWStats directory.</p>
<p>#</p>
<p>&lt;Directory &quot;/usr/local/awstats/wwwroot&quot;&gt;</p>
<p>Options None</p>
<p>AllowOverride None</p>
<p>Order allow,deny</p>
<p>Allow from all</p>
<p>&lt;/Directory&gt;</p>
<p><b>7、 </b><b>配置awstats</b></p>
<p>mkdir -p /var/lib/awstats</p>
<p>chmod -R +x /var/lib/awstats</p>
<p>修改/etc/httpd/conf/httpd.conf</p>
<p>将CustomLog “logs/access_log” common修改为</p>
<p>CustomLog “logs/access_log” combined</p>
<p>LoadPlugin=”qqhostinfo”</p>
<p>编辑/etc/awstats/awstats.localhost.conf 修改</p>
<p>LogFile=&quot;/etc/httpd/logs/access_log&quot;</p>
<p>perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=localhost –update</p>
<p><b>8、 </b><b>重启httpd</b></p>
<p>service httpd restart</p>
<p><b>9、 </b><b>访问awstats</b></p>
<p><a href="http://192.168.1.202/awstats/awstats.pl?config=localhost">http://192.168.1.202/awstats/awstats.pl?config=localhost</a></p>
<p><b>10、 </b><b>参考资料</b></p>
<p><a href="http://www.ieasy.org/reload/cat2/awstats_qqhosti.html">http://www.ieasy.org/reload/cat2/awstats_qqhosti.html</a></p>
<p><a href="http://www.chedong.com/tech/awstats.html">http://www.chedong.com/tech/awstats.html</a></p>
<p><a href="http://www.osxcn.com/journal/awstats-plugins.html">http://www.osxcn.com/journal/awstats-plugins.html</a></p>
</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7f02c101-a9e6-4885-9c8e-860f83dd074b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/awstats" rel="tag">awstats</a>,<a href="http://technorati.com/tags/%e5%8d%8f%e5%90%8c%e8%bf%87%e6%bb%a4" rel="tag">协同过滤</a>,<a href="http://technorati.com/tags/apache" rel="tag">apache</a>,<a href="http://technorati.com/tags/web+usage+mining" rel="tag">web usage mining</a>,<a href="http://technorati.com/tags/selinux" rel="tag">selinux</a>,<a href="http://technorati.com/tags/QQWry.dat" rel="tag">QQWry.dat</a>,<a href="http://technorati.com/tags/%e7%94%a8%e6%88%b7%e8%a1%8c%e4%b8%ba%e5%88%86%e6%9e%90" rel="tag">用户行为分析</a>,<a href="http://technorati.com/tags/web%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98" rel="tag">web数据挖掘</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/&amp;title=使用awstats完成门户社区流量统计分析">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-web%e6%9c%8d%e5%8a%a1%e5%99%a8/" title="显示技术-web服务器的所有日志" rel="category tag">技术-web服务器</a>,  <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98/" title="显示技术-数据挖掘的所有日志" rel="category tag">技术-数据挖掘</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/13/%e4%bd%bf%e7%94%a8awstats%e5%ae%8c%e6%88%90%e9%97%a8%e6%88%b7%e7%a4%be%e5%8c%ba%e6%b5%81%e9%87%8f%e7%bb%9f%e8%ae%a1%e5%88%86%e6%9e%90/feed/</wfw:commentRss>
		</item>
		<item>
		<title>在linux下使用nfs及软链接解决图片文件共享问题</title>
		<link>http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 00:49:23 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[技术-web服务器]]></category>

		<category><![CDATA[技术-操作系统]]></category>

		<category><![CDATA[高性能服务器]]></category>

		<category><![CDATA[软链接]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[ln]]></category>

		<category><![CDATA[mount]]></category>

		<category><![CDATA[nfs]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/</guid>
		<description><![CDATA[
&#160;&#160;&#160; 由于在门户社区中，诸如图片、下载软件这样的资源都较大，且在下载过程中，对带宽资源的占用也较大，因此为不影响正常业务应用，一般情况下都是将图片等资源部署到一台单独的服务器上以分配单独的带宽（在同一台服务器上也将这些资源存放在磁盘空间较大的地方），此种情况下图片等资源与应用不一定在同一台服务器上，即使在同一台服务器上也不一定部署在同一目录下。方案如下：
1、 图片等资源部署在单独的另外一台服务器上
&#160;&#160;&#160; 此种模式可以通过linux的nfs来把完成远程文件mount为本地的文件目录（类似于windows的网络共享），步骤如下：
&#160;&#160;&#160; 下面以将192.168.1.199（NFS服务器端）上的目录/liang mount到192.168.1.202（NFS客户端）上为例，说明一下远程mount的实现
1) NFS服务端（192.168.1.199）执行如下操作

在NFS服务端（192.168.1.199）修改/etc/exports，内容如下 

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /liang 192.168.1.*(rw)
&#160;&#160;&#160; 格式如下：directory machine1(option11,option12)

在NFS服务器端启动NFS: 

&#160;&#160;&#160; /etc/rc.d/init.d/portmap start
&#160;&#160; /etc/rc.d/init.d/nfs start

exportfs命令： 

&#160;&#160;&#160; 在启动了NFS之后又修改了/etc/exports后可以用exportfs命令来使改动立刻生效，命令格式如下：
&#160;&#160;&#160; exportfs [-aruv]
&#160;&#160;&#160;&#160;&#160; -a ：全部mount或者unmount /etc/exports中的内容
&#160;&#160;&#160;&#160;&#160; -r ：重新mount /etc/exports中分享出来的目录
&#160;&#160;&#160;&#160;&#160; -u ：umount 目录
&#160;&#160;&#160;&#160;&#160; -v ：在 export 的时候，将详细的信息输出到屏幕上。
2) 在NFS客户端(192.168.1.202)执行如下操作

建立本地mount点目录 

&#160;&#160;&#160; mkdir /liang

mount远端目录到本地目录 

&#160;&#160;&#160; mount 192.168.1.199:/liang /liang

修改/etc/fstab以在系统重启时候自动mount： 

&#160;&#160;&#160;&#160; # device&#160;&#160;&#160;&#160;&#160;&#160; mountpoint&#160;&#160;&#160;&#160; fs-type&#160;&#160;&#160;&#160; options&#160;&#160;&#160;&#160;&#160; dump fsckorder
&#160;&#160;&#160;&#160; 192.168.1.199:/liang&#160; /liang&#160;&#160;&#160; nfs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rw&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>&#160;&#160;&#160; 由于在门户社区中，诸如图片、下载软件这样的资源都较大，且在下载过程中，对带宽资源的占用也较大，因此为不影响正常业务应用，一般情况下都是将图片等资源部署到一台单独的服务器上以分配单独的带宽（在同一台服务器上也将这些资源存放在磁盘空间较大的地方），此种情况下图片等资源与应用不一定在同一台服务器上，即使在同一台服务器上也不一定部署在同一目录下。方案如下：</p>
<h3><b>1、 </b><b>图片等资源部署在单独的另外一台服务器上</b></h3>
<p>&#160;&#160;&#160; 此种模式可以通过linux的nfs来把完成远程文件mount为本地的文件目录（类似于windows的网络共享），步骤如下：</p>
<p>&#160;&#160;&#160; 下面以将192.168.1.199（NFS服务器端）上的目录/liang mount到192.168.1.202（NFS客户端）上为例，说明一下远程mount的实现</p>
<h4>1) NFS服务端（192.168.1.199）执行如下操作</h4>
<ul>
<li>在NFS服务端（192.168.1.199）修改/etc/exports，内容如下 </li>
</ul>
<pre>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /liang 192.168.1.*(rw)</pre>
<p>&#160;&#160;&#160; 格式如下：directory machine1(option11,option12)</p>
<ul>
<li>在NFS服务器端启动NFS: </li>
</ul>
<p>&#160;&#160;&#160; /etc/rc.d/init.d/portmap start</p>
<p>&#160;&#160; /etc/rc.d/init.d/nfs start</p>
<ul>
<li>exportfs命令： </li>
</ul>
<p>&#160;&#160;&#160; 在启动了NFS之后又修改了/etc/exports后可以用exportfs命令来使改动立刻生效，命令格式如下：</p>
<p>&#160;&#160;&#160; exportfs [-aruv]</p>
<p>&#160;&#160;&#160;&#160;&#160; -a ：全部mount或者unmount /etc/exports中的内容</p>
<p>&#160;&#160;&#160;&#160;&#160; -r ：重新mount /etc/exports中分享出来的目录</p>
<p>&#160;&#160;&#160;&#160;&#160; -u ：umount 目录</p>
<p>&#160;&#160;&#160;&#160;&#160; -v ：在 export 的时候，将详细的信息输出到屏幕上。</p>
<h4>2) 在NFS客户端(192.168.1.202)执行如下操作</h4>
<ul>
<li>建立本地mount点目录 </li>
</ul>
<p>&#160;&#160;&#160; mkdir /liang</p>
<ul>
<li>mount远端目录到本地目录 </li>
</ul>
<p>&#160;&#160;&#160; mount 192.168.1.199:/liang /liang</p>
<ul>
<li>修改/etc/fstab以在系统重启时候自动mount： </li>
</ul>
<pre>&#160;&#160;&#160;&#160; # device&#160;&#160;&#160;&#160;&#160;&#160; mountpoint&#160;&#160;&#160;&#160; fs-type&#160;&#160;&#160;&#160; options&#160;&#160;&#160;&#160;&#160; dump fsckorder</pre>
<pre>&#160;&#160;&#160;&#160; 192.168.1.199:/liang&#160; /liang&#160;&#160;&#160; nfs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rw&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0&#160;&#160;&#160; 0</pre>
<ul>
<li>showmout命令 </li>
</ul>
<p>&#160;&#160;&#160; -e ：显示指定的NFS SERVER上export出来的目录。</p>
<p>&#160;&#160;&#160; -a ：是用来显示已经mount上本机nfs目录的cline机器，一般在NFS SERVER上使用</p>
<h3><b>2、 </b><b>图片等资源与应用部署在同一台服务器上，但资源目录与应用目录不在一处</b></h3>
<p>&#160;&#160;&#160; 此种情况，采用linux的软链接把图片等资源链接链接到应用的目录下。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; ln&#160; -s /image /www/newwap/wap/image</p>
<p>&#160;&#160;&#160; 由于安全上的考虑，tomcat及jboss缺省情况下都不允许访问软链接的文件，改动如下：</p>
<p>&#160;&#160;&#160; 在conf/server.xml中或conf/Catalina/localhost（根据虚拟主机配置情况做相应改变）下的context中增加如下内容：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Context path=&quot;&quot; docBase=&quot;/www/newwap/wap&quot;&#160; allowLinking=&quot;true&quot;&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Resources className=&quot;org.apache.naming.resources.FileDirContext&quot;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; allowLinking=&quot;true&quot;/&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;Logger className=&quot;org.apache.catalina.logger.FileLogger&quot;/&gt;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/Context&gt;</p>
<h3>3、参考资料</h3>
<p>&#160;&#160;&#160; <a title="http://nfs.sourceforge.net/nfs-howto/ar01s04.html" href="http://nfs.sourceforge.net/nfs-howto/ar01s04.html">http://nfs.sourceforge.net/nfs-howto/ar01s04.html</a></p>
</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c434b9f-8599-40f1-8d7c-a5c2ee4b269a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/nfs" rel="tag">nfs</a>,<a href="http://technorati.com/tags/ln" rel="tag">ln</a>,<a href="http://technorati.com/tags/%e8%bd%af%e9%93%be%e6%8e%a5" rel="tag">软链接</a>,<a href="http://technorati.com/tags/%e9%ab%98%e6%80%a7%e8%83%bd%e6%9c%8d%e5%8a%a1%e5%99%a8" rel="tag">高性能服务器</a>,<a href="http://technorati.com/tags/mount" rel="tag">mount</a>,<a href="http://technorati.com/tags/linux" rel="tag">linux</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/&amp;title=在linux下使用nfs及软链接解决图片文件共享问题">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-web%e6%9c%8d%e5%8a%a1%e5%99%a8/" title="显示技术-web服务器的所有日志" rel="category tag">技术-web服务器</a>,  <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f/" title="显示技术-操作系统的所有日志" rel="category tag">技术-操作系统</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/13/%e5%9c%a8linux%e4%b8%8b%e4%bd%bf%e7%94%a8nfs%e5%8f%8a%e8%bd%af%e9%93%be%e6%8e%a5%e8%a7%a3%e5%86%b3%e5%9b%be%e7%89%87%e6%96%87%e4%bb%b6%e5%85%b1%e4%ba%ab%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ucenter Home 1.5安装及单点登录集成方案</title>
		<link>http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/</link>
		<comments>http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 07:09:35 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[web2.0-社区]]></category>

		<category><![CDATA[技术-blog工具]]></category>

		<category><![CDATA[bbs]]></category>

		<category><![CDATA[社区]]></category>

		<category><![CDATA[discuz]]></category>

		<category><![CDATA[sns]]></category>

		<category><![CDATA[ucenter]]></category>

		<category><![CDATA[uncenter home]]></category>

		<category><![CDATA[单点登录]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/</guid>
		<description><![CDATA[&#160;&#160;&#160; 整理一下安装Ucenter Home1.5版本及Discuz BBS的过程及与公司自己的门户社区整合过程中的注意事项作为备忘。 
下面以在服务器192.168.1.202上安装配置说明一下整合过程。
&#160;&#160;&#160; 操作系统：Redhat AS 4
&#160;&#160;&#160; Mysql : 5.0
&#160;&#160;&#160; 
1、下载UCenter、UCenter Home、Discuz! 集成安装包 
&#160;&#160;&#160; http://download.comsenz.com/UC_UCH_DZ/UC_UCH_DZ_SC_GBK.zip 
2、下载ucenter home 1.5 
&#160;&#160;&#160; http://www.jz123.cn/soft/download.asp?softid=12538&#38;downid=62&#38;id=12427 
&#160;&#160;&#160; 目前ucenter home 1.5版本为beta版本，官方尚未正式发布，由于功能相对全，因此采用此版本。 
3、下载ucenter头像升级页面 
&#160;&#160;&#160; http://u.discuz.net/download/avatar.zip 
4、数据库安装，以utf8创建数据库并创建sns的用户 
&#160;&#160;&#160; create database sns default character set utf8; 
&#160;&#160;&#160; grant all privilege on *.* to sns@&#8217;localhost&#8217; identified by &#8217;sns&#8217;; 
&#160;&#160;&#160; flush privileges; 

5、apache及php安装配置 
&#160;&#160; 使用Redhat AS [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;&#160;&#160; 整理一下安装Ucenter Home1.5版本及Discuz BBS的过程及与公司自己的门户社区整合过程中的注意事项作为备忘。 </p>
<p>下面以在服务器192.168.1.202上安装配置说明一下整合过程。</p>
<p>&#160;&#160;&#160; 操作系统：Redhat AS 4</p>
<p>&#160;&#160;&#160; Mysql : 5.0</p>
<p>&#160;&#160;&#160; </p>
<p><b>1</b><b>、下载UCenter、UCenter Home、Discuz! 集成安装包</b> </p>
<p>&#160;&#160;&#160; <a href="http://download.comsenz.com/UC_UCH_DZ/UC_UCH_DZ_SC_GBK.zip">http://download.comsenz.com/UC_UCH_DZ/UC_UCH_DZ_SC_GBK.zip</a> </p>
<p><b>2</b><b>、下载ucenter home 1.5</b> </p>
<p>&#160;&#160;&#160; <a href="http://www.jz123.cn/soft/download.asp?softid=12538&amp;downid=62&amp;id=12427">http://www.jz123.cn/soft/download.asp?softid=12538&amp;downid=62&amp;id=12427</a> </p>
<p>&#160;&#160;&#160; 目前ucenter home 1.5版本为beta版本，官方尚未正式发布，由于功能相对全，因此采用此版本。 </p>
<p><b>3</b><b>、下载ucenter头像升级页面</b> </p>
<p>&#160;&#160;&#160; <a href="http://u.discuz.net/download/avatar.zip">http://u.discuz.net/download/avatar.zip</a> </p>
<p><b>4</b><b>、数据库安装，以utf8创建数据库并创建sns的用户</b> </p>
<p>&#160;&#160;&#160; create database sns default character set utf8; </p>
<p>&#160;&#160;&#160; grant all privilege on *.* to sns@&#8217;localhost&#8217; identified by &#8217;sns&#8217;; </p>
<p>&#160;&#160;&#160; flush privileges; </p>
<p><b></b></p>
<p><b>5</b><b>、apache及php安装配置</b> </p>
<p>&#160;&#160; 使用Redhat AS 4自带的httpd及php，修改/etc/httpd/conf/httpd.conf</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160; port&#160; 80</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; DocumentRoot &quot;/var/www/html/sns&quot; </p>
<p><b>6</b><b>、安装UCenter、UCenter Home、Discuz! 集成安装包</b> </p>
<p>&#160;&#160;&#160; mkdir /var/www/html/sns </p>
<p>&#160;&#160;&#160; unzip UC_UCH_DZ_SC_GBK.zip </p>
<p>&#160;&#160;&#160; mv upload/* /var/www/html/sns/&#160; </p>
<p><b>7</b><b>、访问<a href="http://192.168.1.202，开始安装过程">http://192.168.1.202，开始安装过程</a></b> </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; UCenter的访问网址: </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://192.168.1.202/ucenter">http://192.168.1.202/ucenter</a></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; DISCUZ!的访问网址: </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://192.168.1.202/bbs">http://192.168.1.202/bbs</a></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 管理员访问网址:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://192.168.1.202/bbs/admincp.php">http://192.168.1.202/bbs/admincp.php</a>     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; UCenter Home的访问网址:     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://192.168.1.202/home">http://192.168.1.202/home</a>     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; 管理员访问网址:     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <a href="http://192.168.1.202/home/admincp.php">http://192.168.1.202/home/admincp.php</a></p>
<p><b>8</b><b>、将ucenter home从1.0版本升级ucenter home 1.5版本</b> </p>
<p>&#160;&#160;&#160;&#160; 将UCenter_Home_1[1].5RC1_SC_GBK.rar中的upload目录下的文件upload/ 目录中，除 config.new.php 文件、install/ 目录以外的其他所有文件全部上传到home/目录下并覆盖当前程序，特别注意的是，最新数据库结构 ./data/install.sql 文件不要忘记上传将程序包UCenter_Home_1[1].5RC1_SC_GBK.rar update目录中的update.php文件上传到home/目录目录，并在浏览器运行。 </p>
<p>&#160;&#160;&#160; <a href="http://192.168.1.202/home/update.php">http://192.168.1.202/home/update.php</a> </p>
<p>&#160;&#160;&#160; 升级成功完成安装后： </p>
<p>&#160;&#160;&#160;&#160;&#160; 删除home/update.php文件 </p>
<p>&#160;&#160;&#160;&#160;&#160; 删除 home/data/tpl_cache目录中的所有模板缓存文件 </p>
<p>&#160;&#160;&#160;&#160;&#160; 上传avatar.zip中的avatar.php到ucenter/下并覆盖原来的文件 </p>
<p><b>9</b><b>、为整合门户社区需要进行的修改问题汇总 </b></p>
<p><b>9.1</b><b>、ucenter home注册及登录页面校验逻辑修改</b> </p>
<p>注释掉sns安装目录下home/source/function_common.php下的对formhash认证的函数，修改如下： </p>
<p>&#160;&#160;&#160; //判断提交是否正确 </p>
<p>function submitcheck($var) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(!empty($_POST[$var]) &amp;&amp; $_SERVER[&#8217;REQUEST_METHOD&#8217;] == &#8216;POST&#8217;) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if((empty($_SERVER[&#8217;HTTP_REFERER&#8217;]) || preg_replace(&quot;/https?:\/\/([^\:\/]+).*/i&quot;, &quot;<a href="file:///\\1">\\1</a>&quot;, $_SERVER[&#8217;HTTP_REFERER&#8217;]) == preg_replace(&quot;/([^\:]+).*/&quot;, &quot;<a href="file:///\\1">\\1</a>&quot;, $_SERVER[&#8217;HTTP_HOST&#8217;])) ) { </p>
<p>//删除&#160; &amp;&amp; $_POST[&#8217;formhash&#8217;] == formhash() </p>
<p>//&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if((empty($_SERVER[&#8217;HTTP_REFERER&#8217;]) || preg_replace(&quot;/https?:\/\/([^\:\/]+).*/i&quot;, &quot;<a href="file:///\\1">\\1</a>&quot;, $_SERVER[&#8217;HTTP_REFERER&#8217;]) == preg_replace(&quot;/([^\:]+).*/&quot;, &quot;<a href="file:///\\1">\\1</a>&quot;, $_SERVER[&#8217;HTTP_HOST&#8217;])) &amp;&amp; $_POST[&#8217;formhash&#8217;] == formhash()) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return true; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } else { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; showmessage(&#8217;submit_invalid&#8217;); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; } else { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return false; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>} </p>
<p><b>9.2</b><b>、门户集成ucenter home注册页面实例</b> </p>
<p>一个典型的注册页面 </p>
<p>&lt;form id=&quot;registerform&quot; name=&quot;registerform&quot; action=&quot;do.php?ac=register&amp;&amp;ref&quot; method=&quot;post&quot; class=&quot;c_form&quot;&gt; </p>
<p>&lt;table&gt; </p>
<p>&#160; &lt;tr&gt;&lt;th&gt;Username&lt;/th&gt;&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;username&quot; name=&quot;username&quot; value=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&#160; &lt;tr&gt;&lt;th&gt;Pass&lt;/th&gt;&lt;td&gt;&lt;input type=&quot;password&quot; name=&quot;password&quot; id=&quot;password&quot; value=&quot;&quot;&#160; /&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&#160; &lt;tr&gt;&lt;th&gt;Pass2&lt;/th&gt;&lt;td&gt;&lt;input type=&quot;password&quot; name=&quot;password2&quot; id=&quot;password2&quot; value=&quot;&quot;&#160; /&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&#160; &lt;tr&gt;&lt;th&gt;mail&lt;/th&gt;&lt;td&gt;&lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot; value=&quot;@&quot; /&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&#160; &lt;tr&gt;&lt;td&gt;&lt;input type=&quot;submit&quot; id=&quot;registersubmit&quot; name=&quot;registersubmit&quot; value=&quot;register&quot; /&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&lt;/table&gt; </p>
<p>&lt;input type=&quot;hidden&quot; name=&quot;refer&quot; value=&quot;space.php?do=home&quot; /&gt; </p>
<p>&lt;/form&gt; </p>
<p>注意上述提交按钮&lt;input type=&quot;submit&quot; id=&quot;registersubmit&quot; name=&quot;registersubmit&quot; value=&quot;register&quot; /&gt;必须以此种形式提交，因为是ucenter程序验证了submit的name或id，在程序提交时候不要忘记了此参数。 </p>
<p><b>9.3</b><b>、注册码问题：</b> </p>
<p>由于用户一般情况下并不需要登录UCHOME的注册页面，因此此处可以先注释掉注册码验证逻辑，只验证用户名称及密码。 </p>
<p>注释方法，修改home/source/do_register.php,注释掉 </p>
<p>/* </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if($_SCONFIG[&#8217;seccode_register&#8217;]) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; include_once(S_ROOT.&#8217;./source/function_cp.php&#8217;); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(!ckseccode($_POST[&#8217;seccode&#8217;])) { </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; showmessage(&#8217;incorrect_code&#8217;); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </p>
<p>&#160;&#160;&#160; */<b></b> </p>
<p><b>9.4</b><b>、注册时候需要验证邮箱的问题</b> </p>
<p>由于我们目前注册时候并不需要用户输入邮箱（号码管家也不要求用户使用邮箱注册），而sns注册时候需要用于邮箱，而此部分代码在ucenter中控制，此部分代码加密了的，没有办法修改，目前为简单起见，如果用户在注册时候填写了邮箱，则在门户提交给sns的注册页面参数中以用户填入为准，如果没有，则以用户手机号+”@”+mobile-soft.cn为用户邮箱。 </p>
<p><b>9.5</b><b>、自动激活问题</b> </p>
<p>UCHOME、BBS通过UCENTER整合到一起后，在UCHOME注册后，在使用BBS时候首先必须进行激活操作，这对于用户体验并不是很好。 </p>
<p>因此注册时候，同时完成用户在BBS的激活操作。 </p>
<p> 注册时候自动激活用户BBS帐号： </p>
<p>在手软门户登录注册时候同时在cdb_members、cdb_memberfields中插入相应的数据，其中在cdb_members中的password字段可以任意填写 </p>
<p>INSERT INTO `cdb_members` VALUES (&#8217;21&#8242;, &#8216;liang6&#8242;, &#8216;liang6&#8242;, &#8221;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;10&#8242;, &#8216;0&#8242;, &#8221;, &#8216;192.168.1.7&#8242;, &#8216;1220466585&#8242;, &#8216;192.168.1.7&#8242;, &#8216;1220466638&#8242;, &#8216;1220466672&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;liangchuan@mobile-soft.cn&#8217;, &#8216;0000-00-00&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;1&#8242;, &#8216;1&#8242;, &#8216;1&#8242;, &#8216;0&#8242;, &#8216;9999&#8242;, &#8216;0&#8242;, &#8216;0&#8242;, &#8216;2&#8242;, &#8216;26&#8242;, &#8216;0&#8242;, &#8216;0&#8242;); </p>
<p>INSERT INTO `cdb_memberfields` VALUES (&#8217;21&#8242;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8216;0&#8242;, &#8216;0&#8242;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8216;0&#8242;, &#8216;0&#8242;); </p>
<p>以上插入记录的用户的id号可以从uc_members表中获得 </p>
<p><b>9.6</b><b>、门户集成ucenter home登录实例</b> </p>
<p>&lt;form id=&quot;loginform&quot; name=&quot;loginform&quot; action=&quot;do.php?ac=login&amp;amp;&amp;amp;ref&quot; method=&quot;post&quot; class=&quot;c_form&quot;&gt; </p>
<p>&lt;table class=&quot;formtable&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt; </p>
<p>&lt;tr&gt;&lt;th width=&quot;100&quot;&gt;&lt;label for=&quot;username&quot;&gt;Username&lt;/label&gt;&lt;/th&gt;&lt;td&gt;&lt;input name=&quot;username&quot; id=&quot;username&quot;&#160; value=&quot;&quot; type=&quot;text&quot;&gt;&lt;/td&gt;&lt;/tr&gt; </p>
<p>&lt;tr&gt;&lt;th&gt;&lt;label for=&quot;password&quot;&gt;Password&lt;/label&gt;&lt;/th&gt;&lt;td&gt;&lt;input name=&quot;password&quot; id=&quot;password&quot;&#160; value=&quot;&quot; type=&quot;password&quot;&gt; </p>
<p>&#160; &lt;/td&gt;&lt;/tr&gt; </p>
<p>&lt;tr&gt;&lt;td&gt;&lt;input id=&quot;loginsubmit&quot; name=&quot;loginsubmit&quot; value=&quot;Login&quot; class=&quot;submit&quot; tabindex=&quot;5&quot; type=&quot;submit&quot;&gt; </p>
<p>&lt;/td&gt;&lt;/tr&gt; </p>
<p>&lt;/table&gt; </p>
<p>&lt;input name=&quot;refer&quot; value=&quot;space.php?do=home&quot; type=&quot;hidden&quot;&gt; </p>
<p>&lt;/form&gt; </p>
<p><b>9.7</b><b>、bbs登录注册问题</b> </p>
<p>由于bbs的注册通过sns的注册已经解决了，因此不需要单独的注册页面，开发时候把bbs的注册页面修改为手软门户的注册页面。 </p>
<p>要实现在登录门户时候同时自动登录bbs相对简单，一个典型的登录表单： </p>
<p>&#160;&#160;&#160; &lt;form id=&quot;loginform&quot; method=&quot;post&quot; name=&quot;login&quot; action=&quot;logging.php?action=login&amp;amp;loginsubmit=true&quot;&gt; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;input name=&quot;username&quot; value=&quot;&quot; type=&quot;text&quot;&gt;&lt;br&gt; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;input id=&quot;password&quot; name=&quot;password&quot; type=&quot;password&quot;&gt;&lt;br&gt; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;button name=&quot;userlogin&quot; type=&quot;submit&quot; value=&quot;true&quot;&gt;login&lt;/button&gt; </p>
<p>&lt;/form&gt; </p>
<p>&#160;</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:82c20bbb-cd5c-4006-aed5-fdb560cc1a4a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/uncenter+home" rel="tag">uncenter home</a>,<a href="http://technorati.com/tags/ucenter" rel="tag">ucenter</a>,<a href="http://technorati.com/tags/discuz" rel="tag">discuz</a>,<a href="http://technorati.com/tags/sns" rel="tag">sns</a>,<a href="http://technorati.com/tags/bbs" rel="tag">bbs</a>,<a href="http://technorati.com/tags/%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95" rel="tag">单点登录</a>,<a href="http://technorati.com/tags/%e7%a4%be%e5%8c%ba" rel="tag">社区</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/&amp;title=Ucenter Home 1.5安装及单点登录集成方案">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/web20-%e7%a4%be%e5%8c%ba/" title="显示web2.0-社区的所有日志" rel="category tag">web2.0-社区</a>,  <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-blog%e5%b7%a5%e5%85%b7/" title="显示技术-blog工具的所有日志" rel="category tag">技术-blog工具</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/07/ucenter-home-15%e5%ae%89%e8%a3%85%e5%8f%8a%e5%8d%95%e7%82%b9%e7%99%bb%e5%bd%95%e9%9b%86%e6%88%90%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>在线主题制作技术实现方案</title>
		<link>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/</link>
		<comments>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 06:44:00 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[web2.0-无线互联网]]></category>

		<category><![CDATA[web2.0-社区]]></category>

		<category><![CDATA[技术-ajax]]></category>

		<category><![CDATA[imagemagick]]></category>

		<category><![CDATA[img area select]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[ui]]></category>

		<category><![CDATA[在线主题制作]]></category>

		<category><![CDATA[无线互联网]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/</guid>
		<description><![CDATA[
&#160;&#160;&#160; 在做门户社区实现中，有类似魔秀（http://www.moxiu.com）的在线主题制作需求，这种用户生成内容（UGC）的形式对于活跃社区气氛、提高用户对社区的粘性是大有好处的。 
1、技术实现核心问题： 

提供用户自助上传图片的工具 
根据用户手机的分辨率，提供在线图片编辑工具，让用户选择要裁剪的区域，作为要制作主题的图片的宽和高 
用户提交选定的区域范围到服务器，后台程序根据用户选择图片指定的宽和高对图片进行自动裁剪，生成手机主题，当然还可以实现诸如打水印等功能 
参考各手机平台主题的制作方法，把背景图片打包成手机主题 

2、技术实现方案如下：

用户上传工具，直接使用struts2 的file upload 工具 
在线图片选择工具，采用jquery的img area select plugin实现http://odyniec.net/projects/imgareaselect/&#160; 
图片裁剪采用imagemagick实现，可以利用imagemagick的java接口，为灵活起见，避免由于java接口的不完备性及性能问题，使用Runtime.getRuntime().exec来直接调用imagemagick的命令行来完成。 

依照此思路，编写了简单的测试代码，测试页面imgareaselect.html 用于演示img area select的使用。
ImagemagickTest.java是使用java 调用imagemagick接口调用实现图片操作的例子。 
关于imagemagick其他功能使用的例子（例如打水印等）可以参考http://www.imagemagick.org/Usage/ 
&#160;&#160; 以上只是实现了初步的在线对背景图片制作的步骤，后续可以按照各个操作系统的主题制作技术，实现诸如symbian平台主题sis、windows mobile cab的制作。 
3、imgareaselect.html
&#60;html&#62;
    &#60;head&#62;
    &#60;meta http-equiv=&#34;content-type&#34; content=&#34;text/html; charset=UTF-8&#34;&#62;
  &#60;title&#62;imgAreaSelect examples&#60;/title&#62;
  &#60;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; href=&#34;base.css&#34;&#62;
  &#60;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; href=&#34;imgareaselect.css&#34;&#62;
 &#60;/head&#62; 

&#60;script type=&#34;text/javascript&#34; src=&#34;jquery-1.2.6.js&#34;&#62;&#60;/script&#62;
&#60;script [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>&#160;&#160;&#160; 在做门户社区实现中，有类似魔秀（<a href="http://www.moxiu.com">http://www.moxiu.com</a>）的在线主题制作需求，这种用户生成内容（UGC）的形式对于活跃社区气氛、提高用户对社区的粘性是大有好处的。 </p>
<h3>1、技术实现核心问题： </h3>
<ul>
<li>提供用户自助上传图片的工具 </li>
<li>根据用户手机的分辨率，提供在线图片编辑工具，让用户选择要裁剪的区域，作为要制作主题的图片的宽和高 </li>
<li>用户提交选定的区域范围到服务器，后台程序根据用户选择图片指定的宽和高对图片进行自动裁剪，生成手机主题，当然还可以实现诸如打水印等功能 </li>
<li>参考各手机平台主题的制作方法，把背景图片打包成手机主题 </li>
</ul>
<h3>2、技术实现方案如下：</h3>
<ul>
<li>用户上传工具，直接使用struts2 的file upload 工具 </li>
<li>在线图片选择工具，采用jquery的img area select plugin实现<a href="http://odyniec.net/projects/imgareaselect/">http://odyniec.net/projects/imgareaselect/</a>&#160; </li>
<li>图片裁剪采用imagemagick实现，可以利用imagemagick的java接口，为灵活起见，避免由于java接口的不完备性及性能问题，使用Runtime.getRuntime().exec来直接调用imagemagick的命令行来完成。 </li>
</ul>
<p>依照此思路，编写了简单的测试代码，测试页面imgareaselect.html 用于演示img area select的使用。</p>
<p>ImagemagickTest.java是使用java 调用imagemagick接口调用实现图片操作的例子。 </p>
<p>关于imagemagick其他功能使用的例子（例如打水印等）可以参考<a href="http://www.imagemagick.org/Usage/">http://www.imagemagick.org/Usage/</a> </p>
<p>&#160;&#160; 以上只是实现了初步的在线对背景图片制作的步骤，后续可以按照各个操作系统的主题制作技术，实现诸如symbian平台主题sis、windows mobile cab的制作。 </p>
<h3>3、imgareaselect.html</h3>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">html</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">head</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">meta</span> <span class="attr">http-equiv</span><span class="kwrd">=&quot;content-type&quot;</span> <span class="attr">content</span><span class="kwrd">=&quot;text/html; charset=UTF-8&quot;</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>imgAreaSelect examples<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">link</span> <span class="attr">rel</span><span class="kwrd">=&quot;stylesheet&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;text/css&quot;</span> <span class="attr">href</span><span class="kwrd">=&quot;base.css&quot;</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">link</span> <span class="attr">rel</span><span class="kwrd">=&quot;stylesheet&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;text/css&quot;</span> <span class="attr">href</span><span class="kwrd">=&quot;imgareaselect.css&quot;</span><span class="kwrd">&gt;</span>
 <span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span> 

<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">=&quot;text/javascript&quot;</span> <span class="attr">src</span><span class="kwrd">=&quot;jquery-1.2.6.js&quot;</span><span class="kwrd">&gt;&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>
&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;jquery.imgareaselect-0.5.js&quot;</span>&gt;&lt;/script&gt;
&lt;link rel=<span class="str">&quot;stylesheet&quot;</span> type=<span class="str">&quot;text/css&quot;</span> href=<span class="str">&quot;base.css&quot;</span>&gt;
  &lt;!&#8211;[<span class="kwrd">if</span> IE 7]&gt;
  &lt;link rel=<span class="str">&quot;stylesheet&quot;</span> type=<span class="str">&quot;text/css&quot;</span> href=<span class="str">&quot;ie_7_hacks.css&quot;</span> /&gt;
  &lt;![endif]&#8211;&gt;
  &lt;!&#8211;[<span class="kwrd">if</span> IE 6]&gt;
  &lt;link rel=<span class="str">&quot;stylesheet&quot;</span> type=<span class="str">&quot;text/css&quot;</span> href=<span class="str">&quot;ie_6_hacks.css&quot;</span> /&gt;
  &lt;![endif]&#8211;&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span>&gt;
 <span class="kwrd">function</span> selectionEnd(img, selection)
 {
        <span class="rem">//alert(&#8217;width: &#8216; + selection.width + &#8216;; height: &#8216; + selection.height+&#8217;; x2:&#8217;+selection.x2);</span>
 } 

 <span class="kwrd">function</span> preview(img, selection)
 {
   <span class="kwrd">var</span> scaleX = 100 / selection.width;
   <span class="kwrd">var</span> scaleY = 100 / selection.height;
   $(<span class="str">&#8216;#duck + div &gt; img&#8217;</span>).css({
     width: Math.round(scaleX * 400) + <span class="str">&#8216;px&#8217;</span>,
     height: Math.round(scaleY * 300) + <span class="str">&#8216;px&#8217;</span>,
     marginLeft: <span class="str">&#8216;-&#8217;</span> + Math.round(scaleX * selection.x1) + <span class="str">&#8216;px&#8217;</span>,
     marginTop: <span class="str">&#8216;-&#8217;</span> + Math.round(scaleY * selection.y1) + <span class="str">&#8216;px&#8217;</span>
   });
 }
 $(document).ready(<span class="kwrd">function</span> () {
   $(<span class="str">&#8216;&lt;div&gt;&lt;img src=&quot;duck.jpg&quot; style=&quot;position: relative;&quot; /&gt;&lt;/div&gt;&#8217;</span>)
     .css({
       <span class="kwrd">float</span>: <span class="str">&#8216;left&#8217;</span>,
       position: <span class="str">&#8216;relative&#8217;</span>,
       overflow: <span class="str">&#8216;hidden&#8217;</span>,
       width: <span class="str">&#8216;100px&#8217;</span>,
       height: <span class="str">&#8216;100px&#8217;</span>
     })
     .insertAfter($(<span class="str">&#8216;#duck&#8217;</span>));
   $(<span class="str">&#8216;#red&#8217;</span>).click(<span class="kwrd">function</span> () {
     $(<span class="str">&#8216;#duck&#8217;</span>).imgAreaSelect({ selectionColor: <span class="str">&#8216;red&#8217;</span> });
   });
   $(<span class="str">&#8216;#green&#8217;</span>).click(<span class="kwrd">function</span> () {
     $(<span class="str">&#8216;#duck&#8217;</span>).imgAreaSelect({ selectionColor: <span class="str">&#8216;green&#8217;</span> });
   });
   $(<span class="str">&#8216;#blue&#8217;</span>).click(<span class="kwrd">function</span> () {
     $(<span class="str">&#8216;#duck&#8217;</span>).imgAreaSelect({ selectionColor: <span class="str">&#8216;blue&#8217;</span> });
   });
 }); 

<span class="rem">/*</span>
<span class="rem">选择框初始化值大小设定，在社区实现时候选择框的初始化值由程序根据用户手机型号的分辨率来设定初始化值</span>
<span class="rem">通过设定最大值和最小值相等，来固定选择框的大小 </span>
<span class="rem"></span>
<span class="rem">*/</span>
 $(window).load(<span class="kwrd">function</span> () {   

   $(<span class="str">&#8216;#duck&#8217;</span>).imgAreaSelect({ x1: 120, y1: 90, x2: 280, y2: 210,maxHeight:120,maxWidth:160,minHeight:120,minWidth:160,resizable:<span class="kwrd">false</span>, onSelectChange:preview,onSelectEnd:selectionEnd }); 

 });
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span> 

<span class="kwrd">&lt;</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">p</span> <span class="attr">style</span><span class="kwrd">=&quot;text-align: left;&quot;</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">button</span> <span class="attr">id</span><span class="kwrd">=&quot;red&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;button&quot;</span> <span class="attr">style</span><span class="kwrd">=&quot;color: red;&quot;</span><span class="kwrd">&gt;</span>Red<span class="kwrd">&lt;/</span><span class="html">button</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">button</span> <span class="attr">id</span><span class="kwrd">=&quot;green&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;button&quot;</span> <span class="attr">style</span><span class="kwrd">=&quot;color: green;&quot;</span><span class="kwrd">&gt;</span>Green<span class="kwrd">&lt;/</span><span class="html">button</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">button</span> <span class="attr">id</span><span class="kwrd">=&quot;blue&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;button&quot;</span> <span class="attr">style</span><span class="kwrd">=&quot;color: blue;&quot;</span><span class="kwrd">&gt;</span>Blue<span class="kwrd">&lt;/</span><span class="html">button</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">p</span> <span class="attr">style</span><span class="kwrd">=&quot;text-align: center;&quot;</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">img</span> <span class="attr">id</span><span class="kwrd">=&quot;duck&quot;</span> <span class="attr">src</span><span class="kwrd">=&quot;duck.jpg&quot;</span> <span class="attr">alt</span><span class="kwrd">=&quot;测试&quot;</span> <span class="attr">title</span><span class="kwrd">=&quot;测试&quot;</span>  <span class="attr">style</span><span class="kwrd">=&quot;float: left; margin-right: 10px;&quot;</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">html</span><span class="kwrd">&gt;</span> </pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<h3>4、ImagemagickTest </h3>
<pre class="csharpcode">import org.apache.log4j.Logger;
import java.io.IOException; 

<span class="kwrd">public</span> <span class="kwrd">class</span> ImagemagickTest {
    <span class="kwrd">private</span> <span class="kwrd">static</span> final Logger logger = Logger.getLogger(ImagemagickTest.<span class="kwrd">class</span>);
    <span class="kwrd">private</span> <span class="kwrd">static</span> final String CONVERT_PROG=<span class="str">&quot;C:/ImageMagick-6.3.9-Q16/convert.exe&quot;</span>; 

    <span class="rem">/**</span>
<span class="rem">     * @param command Description of the Parameter</span>
<span class="rem">     * @return Description of the Return Value</span>
<span class="rem">     */</span>
    <span class="kwrd">private</span> <span class="kwrd">static</span> boolean exec(String command) {
        Process proc;
        <span class="kwrd">try</span> {
            logger.debug(<span class="str">&quot;exec(String):Trying to execute command &quot;</span> + command);
            proc = Runtime.getRuntime().exec(command);
        } <span class="kwrd">catch</span> (IOException e) {
            System.<span class="kwrd">out</span>.println(<span class="str">&quot;IOException while trying to execute &quot;</span> + command);
            logger.fatal(<span class="str">&quot;exec(String):IOException while trying to execute &quot;</span> + command);
            <span class="kwrd">return</span> <span class="kwrd">false</span>;
        } 

        <span class="kwrd">if</span> (logger.isDebugEnabled()) {
            logger.debug(<span class="str">&quot;exec(String):Got process object, waiting to return.&quot;</span>);
        } 

        <span class="kwrd">int</span> exitStatus; 

        <span class="kwrd">while</span> (<span class="kwrd">true</span>) {
            <span class="kwrd">try</span> {
                exitStatus = proc.waitFor();
                <span class="kwrd">break</span>;
            } <span class="kwrd">catch</span> (java.lang.InterruptedException e) {
                logger.fatal(<span class="str">&quot;exec(String):Interrupted: Ignoring and waiting&quot;</span>);
            }
        }
        <span class="kwrd">if</span> (exitStatus != 0) {
                logger.fatal(<span class="str">&quot;exec(String):Error executing command: &quot;</span> + exitStatus);
        }
        <span class="kwrd">return</span> (exitStatus == 0);
    } 

    <span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">void</span> main(String[] args) {
        String cmd=CONVERT_PROG;
        String parameter=<span class="str">&quot; -crop 278&#215;150+99+45 &quot;</span>;
        String inputFile=<span class="str">&quot; D:/imagemagick/bee.jpg &quot;</span>;
        String outputFile=<span class="str">&quot; D:/imagemagick/output1.jpg &quot;</span>;
        exec(cmd+parameter+inputFile+outputFile) ;
    } 

}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:534f0a4b-3853-422f-99cd-1748c3a6382e" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/imagemagick" rel="tag">imagemagick</a>,<a href="http://technorati.com/tags/jquery" rel="tag">jquery</a>,<a href="http://technorati.com/tags/img+area+select" rel="tag">img area select</a>,<a href="http://technorati.com/tags/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c" rel="tag">在线主题制作</a>,<a href="http://technorati.com/tags/%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91" rel="tag">无线互联网</a>,<a href="http://technorati.com/tags/ui" rel="tag">ui</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/#comments">No comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/&amp;title=在线主题制作技术实现方案">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/web20-%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91/" title="显示web2.0-无线互联网的所有日志" rel="category tag">web2.0-无线互联网</a>,  <a href="http://www.yeeach.com/category/web20-%e7%a4%be%e5%8c%ba/" title="显示web2.0-社区的所有日志" rel="category tag">web2.0-社区</a>,  <a href="http://www.yeeach.com/category/%e6%8a%80%e6%9c%af-ajax/" title="显示技术-ajax的所有日志" rel="category tag">技术-ajax</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c%e6%8a%80%e6%9c%af%e5%ae%9e%e7%8e%b0%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		</item>
		<item>
		<title>在线制作手机桌面壁纸及铃声服务的一点启示</title>
		<link>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/</link>
		<comments>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 04:07:02 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[web2.0-无线互联网]]></category>

		<category><![CDATA[web2.0-社区]]></category>

		<category><![CDATA[社区]]></category>

		<category><![CDATA[sns]]></category>

		<category><![CDATA[在线主题制作]]></category>

		<category><![CDATA[手机主题]]></category>

		<category><![CDATA[无线互联网]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/</guid>
		<description><![CDATA[
&#160;&#160;&#160; 在做门户社区设计的时候，一个最大的挑战是服务的差异化，像图片、铃声这样的服务基本上每一个手机网站都有，要在这一点上要做到差异化很难，看到几个提供自助手机桌面及铃声的在线服务，或许能够给我们一些启示。
自助手机桌面及铃声的在线服务:
魔秀：http://www.moxiu.com/
吾主题：http://www.ownskin.com/
猪蹄网：http://www.zhuti.net.cn/
神空主题网：http://theme.kkek.net/
mobopic：http://mobopic.com/
&#160;&#160;&#160; 类似魔秀这样的手机主题制作网站的核心模式其实很简单：提供一个定制化的图片剪裁工具,用户可以通过选择手机型号来上传分享自己的图片，然后围绕此服务形成自己一个社区。从alexa排名运营情况来看，魔秀其实还是有一定的人气的。
&#160;&#160; 在技术层面，魔秀的定制化的实现并不难。
&#160;&#160;&#160; 另外还有一些在线的铃声制作的web2.0站点，可以参考：
http://mashable.com/2008/03/13/create-your-own-ringtone/
&#160;&#160;&#160; 像铃声及手机桌面壁纸这样的服务，其实算是一个典型的竞争红海市场，在图片及铃声服务上如果只是提供单纯的下载服务，那不会有太大的竞争力。
&#160;&#160;&#160; 对于门户社区而言，社区的建设不可能建立在空洞的服务上，必须依托一些有趣、使用的应用才能够在用户中引爆流行，我觉得通过类似这些服务可以做到与竞争对手一定程度的区隔（尽管这些服务并不能根本上决定门户社区的成败），另外可以通过众多这样的服务来整合与用户手机应用相关的各种服务，提高用户对门户社区的粘性。




Technorati Tags: 无线互联网,手机主题,sns,社区,在线主题制作
	
	
	&#169; chuanliang for 出家如初，成佛有余, 2008. &#124;
	  Permalink &#124;
	  One comment
	Add to del.icio.us
	Search blogs linking this post with Technorati
	Want more on these topics ? Browse the archive of posts filed under web2.0-无线互联网,  web2.0-社区.]]></description>
			<content:encoded><![CDATA[</p>
<p>&#160;&#160;&#160; 在做门户社区设计的时候，一个最大的挑战是服务的差异化，像图片、铃声这样的服务基本上每一个手机网站都有，要在这一点上要做到差异化很难，看到几个提供自助手机桌面及铃声的在线服务，或许能够给我们一些启示。</p>
<p>自助手机桌面及铃声的在线服务:</p>
<p>魔秀：<a href="http://www.moxiu.com/">http://www.moxiu.com/</a></p>
<p>吾主题：<a title="http://www.ownskin.com/" href="http://www.ownskin.com/">http://www.ownskin.com/</a></p>
<p>猪蹄网：<a title="http://www.zhuti.net.cn/" href="http://www.zhuti.net.cn/">http://www.zhuti.net.cn/</a></p>
<p>神空主题网：<a title="http://theme.kkek.net/" href="http://theme.kkek.net/">http://theme.kkek.net/</a></p>
<p>mobopic：<a href="http://mobopic.com/">http://mobopic.com/</a></p>
<p>&#160;&#160;&#160; 类似魔秀这样的手机主题制作网站的核心模式其实很简单：提供一个定制化的图片剪裁工具,用户可以通过选择手机型号来上传分享自己的图片，然后围绕此服务形成自己一个社区。从alexa排名运营情况来看，魔秀其实还是有一定的人气的。</p>
<p>&#160;&#160; 在技术层面，魔秀的定制化的实现并不难。</p>
<p>&#160;&#160;&#160; 另外还有一些在线的铃声制作的web2.0站点，可以参考：</p>
<p><a href="http://mashable.com/2008/03/13/create-your-own-ringtone/">http://mashable.com/2008/03/13/create-your-own-ringtone/</a></p>
<p>&#160;&#160;&#160; 像铃声及手机桌面壁纸这样的服务，其实算是一个典型的竞争红海市场，在图片及铃声服务上如果只是提供单纯的下载服务，那不会有太大的竞争力。</p>
<p>&#160;&#160;&#160; 对于门户社区而言，社区的建设不可能建立在空洞的服务上，必须依托一些有趣、使用的应用才能够在用户中引爆流行，我觉得通过类似这些服务可以做到与竞争对手一定程度的区隔（尽管这些服务并不能根本上决定门户社区的成败），另外可以通过众多这样的服务来整合与用户手机应用相关的各种服务，提高用户对门户社区的粘性。</p>
</p>
</p>
</p>
</p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ac169077-7d9a-4e3c-8b0d-ef2903f4c3a0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91" rel="tag">无线互联网</a>,<a href="http://technorati.com/tags/%e6%89%8b%e6%9c%ba%e4%b8%bb%e9%a2%98" rel="tag">手机主题</a>,<a href="http://technorati.com/tags/sns" rel="tag">sns</a>,<a href="http://technorati.com/tags/%e7%a4%be%e5%8c%ba" rel="tag">社区</a>,<a href="http://technorati.com/tags/%e5%9c%a8%e7%ba%bf%e4%b8%bb%e9%a2%98%e5%88%b6%e4%bd%9c" rel="tag">在线主题制作</a></div>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; chuanliang for <a href="http://www.yeeach.com">出家如初，成佛有余</a>, 2008. |
	  <a href="http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/">Permalink</a> |
	  <a href="http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/#comments">One comment</a></p>
	<p>Add to <a href="http://del.icio.us/post?url=http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/&amp;title=在线制作手机桌面壁纸及铃声服务的一点启示">del.icio.us</a></p>
	<p>Search blogs linking this post with <a href="http://www.technorati.com/search/http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/" title="Search on Technorati">Technorati</a></p>
	<p>Want more on these topics ? Browse the archive of posts filed under <a href="http://www.yeeach.com/category/web20-%e6%97%a0%e7%ba%bf%e4%ba%92%e8%81%94%e7%bd%91/" title="显示web2.0-无线互联网的所有日志" rel="category tag">web2.0-无线互联网</a>,  <a href="http://www.yeeach.com/category/web20-%e7%a4%be%e5%8c%ba/" title="显示web2.0-社区的所有日志" rel="category tag">web2.0-社区</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.yeeach.com/2008/09/07/%e5%9c%a8%e7%ba%bf%e5%88%b6%e4%bd%9c%e6%89%8b%e6%9c%ba%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%8f%8a%e9%93%83%e5%a3%b0%e6%9c%8d%e5%8a%a1%e7%9a%84%e4%b8%80%e7%82%b9%e5%90%af%e7%a4%ba/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dreamhost Internal Server Error故障</title>
		<link>http://www.yeeach.com/2008/09/07/dreamhost-%e6%95%85%e9%9a%9c/</link>
		<comments>http://www.yeeach.com/2008/09/07/dreamhost-%e6%95%85%e9%9a%9c/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 03:36:39 +0000</pubDate>
		<dc:creator>chuanliang</dc:creator>
		
		<category><![CDATA[技术-blog工具]]></category>

		<category><![CDATA[技术-php]]></category>

		<category><![CDATA[dreamhost]]></category>

		<category><![CDATA[虚拟主机]]></category>

		<category><![CDATA[internal server error]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[virtual host]]></category>

		<guid isPermaLink="false">http://www.yeeach.com/2008/09/07/dreamhost-%e6%95%85%e9%9a%9c/</guid>
		<description><![CDATA[&#160; 9-5号访问寄存在dreamhost的www.yeeach.com主机时候，访问所有应用页面（blog、pligg、bbs、下载）都报Internal Server Error，查看服务器日志发现大量的如下错误：
[Thu Sep 04 00:41:53 2008] [error] [client 220.181.32.23] Premature end of script headers: php.cgi    [Thu Sep 04 00:41:53 2008] [error] [client 220.181.32.23] php.cgi: error while loading shared libraries: libsablot.so.0: cannot open shared object file: No such file or directory

&#160;&#160;&#160; 看来是apache出了问题，与dreamhost客服联系后，发现不是我自己的问题，近期dreamhsot对debian操作系统进行了升级，从32-bit升级到64-bit，导致原来的32-bit的php动态库不能够再使用。
&#160;&#160; 按照dreamhost提供的参考网页：
http://www.dreamhoststatus.com/2008/09/02/debian-upgrades-and-custom-php/
http://wiki.dreamhost.com/Installing_PHP5#Compiling_a_Customized_PHP_5
&#160;&#160;&#160; 看见繁琐的升级过程，头就大，也没有时间仔细去琢磨。突然想起来，前段时间遇到的upload_max_filesize时候曾经使用的shell脚本，修改Dreamhost虚拟主机的php.ini的upload_max_filesize参数限制 ，在服务器上执行了一下两个脚本，问题解决了。呵呵，看来多记笔记很有好处。
1、mkdir ~/yeeach.com/cgi-bin/
2、touch ~/php-copy.sh&#160; 
#!/bin/sh    [...]]]></description>
			<content:encoded><![CDATA[<p>&#160; 9-5号访问寄存在dreamhost的<a href="http://www.yeeach.com">www.yeeach.com</a>主机时候，访问所有应用页面（blog、pligg、bbs、下载）都报Internal Server Error，查看服务器日志发现大量的如下错误：</p>
<p>[Thu Sep 04 00:41:53 2008] [error] [client 220.181.32.23] Premature end of script headers: php.cgi    <br />[Thu Sep 04 00:41:53 2008] [error] [client 220.181.32.23] php.cgi: error while loading shared libraries: libsablot.so.0: cannot open shared object file: No such file or directory</p>
</p>
<p>&#160;&#160;&#160; 看来是apache出了问题，与dreamhost客服联系后，发现不是我自己的问题，近期dreamhsot对debian操作系统进行了升级，从32-bit升级到64-bit，导致原来的32-bit的php动态库不能够再使用。</p>
<p>&#160;&#160; 按照dreamhost提供的参考网页：</p>
<p><a title="http://www.dreamhoststatus.com/2008/09/02/debian-upgrades-and-custom-php/" href="http://www.dreamhoststatus.com/2008/09/02/debian-upgrades-and-custom-php/">http://www.dreamhoststatus.com/2008/09/02/debian-upgrades-and-custom-php/</a></p>
<p><a title="http://wiki.dreamhost.com/Installing_PHP5#Compiling_a_Customized_PHP_5" href="http://wiki.dreamhost.com/Installing_PHP5#Compiling_a_Customized_PHP_5">http://wiki.dreamhost.com/Installing_PHP5#Compiling_a_Customized_PHP_5</a></p>
<p>&#160;&#160;&#160; 看见繁琐的升级过程，头就大，也没有时间仔细去琢磨。突然想起来，前段时间遇到的upload_max_filesize时候曾经使用的shell脚本，<a href="http://www.yeeach.com/2008/05/19/%e4%bf%ae%e6%94%b9dreamhost%e8%99%9a%e6%8b%9f%e4%b8%bb%e6%9c%ba%e7%9a%84phpini%e7%9a%84upload_max_filesize%e5%8f%82%e6%95%b0%e9%99%90%e5%88%b6/">修改Dreamhost虚拟主机的php.ini的upload_max_filesize参数限制 </a>，在服务器上执行了一下两个脚本，问题解决了。呵呵，看来多记笔记很有好处。</p>
<p><strong>1、mkdir ~/<a href="http://yeeach.com/cgi-bin/">yeeach.com/cgi-bin/</a></strong></p>
<p><strong>2、touch ~/php-copy.sh&#160; <br /></strong></p>
<p>#!/bin/sh    <br />CGIFILE=&quot;$HOME/<a href="http://yeeach.com/cgi-bin/php.cgi">yeeach.com/cgi-bin/php.cgi</a>&quot;     <br />INIFILE=&quot;$HOME/<a href="http://yeeach.com/cgi-bin/php.ini">yeeach.com/cgi-bin/php.ini</a>&quot;     <br />rsync -a /dh/cgi-system/php5.cgi &quot;$CGIFILE&quot;     <br /># REMOVE THE FOLLOWING LINE TO CREATE THE UPDATE-ONLY SCRIPT:     <br />cp /etc/php5/cgi/php.ini &quot;$INIFILE&quot; </p>
<p>perl -p -i -e &#8216;    <br />s/.*post_max_size.*/post_max_size = 100M/;     <br />s/.*upload_max_filesize.*/upload_max_filesize = 100M/;     <br />&#8216; &quot;$INIFILE&quot; </p>
<p><strong>3、chmod +x php-copy.sh</strong></p>
<p><strong>4、./php-copy.sh</strong></p>
<p><strong>5、touch ~/<a href="http://yeeach.com/.htaccess">yeeach.com/.htaccess</a>       <br /></strong></p>
<pre>Options +ExecCGIAddHandler php-cgi .phpAction php-cgi /cgi-bin/php.cgi</pre>
<p><strong>6、 php daily&#160; update<br />
    <br /></strong></p>
<pre>cp php-copy.sh php-update.sh</pre>
<pre>#the php-update.sh content is :</pre>
<p>#!/bin/sh<br />
  <br />CGIFILE=&quot;$HOME/<a href="http://yeeach.com/cgi-bin/php.cgi">yeeach.com/cgi-bin/php.cgi</a>&quot; </p>
<p>INIFILE=&quot;$HOME/<a href="http://yeeach.com/cgi-bin/php.ini">yeeach.com/cgi-bin/php.ini</a>&