<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>其实我是一个程序员 &#187; 技术</title>
	<atom:link href="http://liubin.nanshapo.com/category/%e8%bd%af%e4%bb%b6%e5%bc%80%e5%8f%91/feed/" rel="self" type="application/rss+xml" />
	<link>http://liubin.nanshapo.com</link>
	<description>编程是一种乐趣</description>
	<lastBuildDate>Thu, 08 Dec 2011 12:31:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>永远免费的Paas云平台总结（2011年版）</title>
		<link>http://liubin.nanshapo.com/2011/12/08/forever-free-paas-cloud-2011-version/</link>
		<comments>http://liubin.nanshapo.com/2011/12/08/forever-free-paas-cloud-2011-version/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 12:24:56 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[paas]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=413</guid>
		<description><![CDATA[这是一篇翻译文，原文见： http://www.publickey1.jp/blog/11/paas2011.html &#160; PHP fog是以PHP语言为开发工具的Paas云计算平台，近日，他们在blog上宣布 ， 运营公司宣布废除之前的6个月免费使用限制，变为永远免费，而且， 还可以免费的部署3个应用。 当然，免费使用的服务有很多资源上的限制，但是， 像Wordpress等软件还是能自由部署运营的。 实际上，永久免费的Paas型云平台除了PHP fog之外，还有几个， 这里顺便一块介绍一下。 PHP fog 就像它的名字里暗示的一样，它主要是提供PHP执行环境的平台，除了PHP， 当然更少不了Mysql。此外，还可以安装WordPress，Drupal，Sugar CRM， Joomla等常用程序。 免费使用的资源包括：内存和CPU为公用，存储空间为100MB， 数据库大小为20MB；最多可以部署安装3个应用。 网址：https://phpfog.com/ Heroku HeroKu支持Ruby on Rails，Clojure，Java，Node.js等几种编程语言（系统）， 数据库为PostgreSQL。它也是作为Facebook应用的平台，广泛被使用的Paas平台。 在Heroku上，对于每一个进程采用一个叫Dyno的单位来进行性能管理， 增加这个值，则能提高应用的相应速度和吞吐量。有适用于Web server的 Web dyno和作为后台进程的Worker dyno。 如果一个月使用时间在750小时以下的话，Dyno是免费的， 数据库的大小则限制为5MB以下免费。 不过，仔细算算，即使一个月有31天，算下来也只有744小时而已， 所以如果不使用Worker dyno，只做Web应用的话，也可以说的上是免费的了。 网址：http://www.heroku.com cloudControl cloudControl是德国的一个创业公司运营的支持PHP的Paas平台， 数据库支持Mysql和MongoDB，Xeround等。 在cloudControl上，以BOX为单位对应用进行管理， 一个BOX由在不同的虚拟机上的两个进程组成，即使一台机器出问题， 以可以自动检测到问题并且还到可用的虚拟机上。可以通过增加BOX来提高应用的性能。 cloudControl，对于一个部署，提供一个免费的BOX和memcached。 虽然可以使用mysql或MongoDB，但是关于这方面的限制规定等没有找到。 网址：http://cloudcontrol.com dotCloud dotCloud支持PHP，Perl，Java，Python，数据库则支持Mysql， PostgreSQL，Cassandra，MongoDB，CounchDB，Redis等， 且支持Memcached，RabbitMQ，Hadoop等各种环境。 不管选择哪种语言和数据库环境，用户都可以免费建立两个应用， 且支持SSL和EMAIL系统。 而且，这个平台对于OpenSource的黑客，学生，创业者， [...]]]></description>
			<content:encoded><![CDATA[<p>这是一篇翻译文，原文见： <a href="http://www.publickey1.jp/blog/11/paas2011.html" target="_blank">http://www.publickey1.jp/blog/11/paas2011.html</a></p>
<p>&nbsp;</p>
<p>PHP fog是以PHP语言为开发工具的Paas云计算平台，近日，他们在blog上<a href="http://blog.phpfog.com/" target="_blank">宣布</a> ，<br />
运营公司宣布废除之前的6个月免费使用限制，变为永远免费，而且，<br />
还可以免费的部署3个应用。<br />
当然，免费使用的服务有很多资源上的限制，但是，<br />
像Wordpress等软件还是能自由部署运营的。<br />
实际上，永久免费的Paas型云平台除了PHP fog之外，还有几个，</p>
<p>这里顺便一块介绍一下。</p>
<h3>PHP fog</h3>
<p>就像它的名字里暗示的一样，它主要是提供PHP执行环境的平台，除了PHP，<br />
当然更少不了Mysql。此外，还可以安装WordPress，Drupal，Sugar CRM，<br />
Joomla等常用程序。<br />
免费使用的资源包括：内存和CPU为公用，存储空间为100MB，<br />
数据库大小为20MB；最多可以部署安装3个应用。</p>
<p>网址：<a href="https://phpfog.com/" target="_blank">https://phpfog.com/</a></p>
<h3>Heroku</h3>
<p>HeroKu支持Ruby on Rails，Clojure，Java，Node.js等几种编程语言（系统），<br />
数据库为PostgreSQL。它也是作为Facebook应用的平台，广泛被使用的Paas平台。</p>
<p>在Heroku上，对于每一个进程采用一个叫Dyno的单位来进行性能管理，<br />
增加这个值，则能提高应用的相应速度和吞吐量。有适用于Web server的<br />
Web dyno和作为后台进程的Worker dyno。<br />
如果一个月使用时间在750小时以下的话，Dyno是免费的，<br />
数据库的大小则限制为5MB以下免费。<br />
不过，仔细算算，即使一个月有31天，算下来也只有744小时而已，<br />
所以如果不使用Worker dyno，只做Web应用的话，也可以说的上是免费的了。</p>
<p>网址：<a href="http://www.heroku.com" target="_blank">http://www.heroku.com</a></p>
<h3>cloudControl</h3>
<p>cloudControl是德国的一个创业公司运营的支持PHP的Paas平台，<br />
数据库支持Mysql和MongoDB，Xeround等。<br />
在cloudControl上，以BOX为单位对应用进行管理，<br />
一个BOX由在不同的虚拟机上的两个进程组成，即使一台机器出问题，<br />
以可以自动检测到问题并且还到可用的虚拟机上。可以通过增加BOX来提高应用的性能。</p>
<p>cloudControl，对于一个部署，提供一个免费的BOX和memcached。<br />
虽然可以使用mysql或MongoDB，但是关于这方面的限制规定等没有找到。</p>
<p>网址：<a href="http://cloudcontrol.com" target="_blank">http://cloudcontrol.com</a></p>
<h3>dotCloud</h3>
<p>dotCloud支持PHP，Perl，Java，Python，数据库则支持Mysql，<br />
PostgreSQL，Cassandra，MongoDB，CounchDB，Redis等，<br />
且支持Memcached，RabbitMQ，Hadoop等各种环境。</p>
<p>不管选择哪种语言和数据库环境，用户都可以免费建立两个应用，<br />
且支持SSL和EMAIL系统。</p>
<p>而且，这个平台对于OpenSource的黑客，学生，创业者，<br />
NPO等还有其它的免费套餐可以选用。</p>
<p>网址：<a href="http://www.dotcloud.com" target="_blank">http://www.<em>dotcloud</em>.com</a></p>
<h3>FluxFlex</h3>
<p>FluxFlex由日本的同名公司开发维护，这个Paas平台完全支持LAMP的开发。<br />
它有一个叫做AppGarage的库（应用）群，可以方便的一键安装WordPress或者Pukiwiki等应用。</p>
<p>该平台还支持用facebook和twitter帐号登录，免费的支持2个应用，<br />
250MB的存储空间和25MB的数据库空间。<br />
不过1天的请求数如果是在1万以下的话是免费的，超过的话就要另收费了。</p>
<p>该平台最吸引人的还是和Github完全互通了。</p>
<p>网址：<a href="http://www.fluxflex.com/">http://www.fluxflex.com/</a></p>
<h3>Force.com</h3>
<p>Force.com是著名的salesforce.com公司提供的世界上比较早的Paas服务。<br />
同时，salesforce还为业务应用提供了ISVforce，为Web服务提供了Siteforce，<br />
为SNS应用提供了Appforce等云服务。该平台可以使用salesforce自己的database.com作为数据库。</p>
<p>在force.com上部署应用的时候，可以使用<a href="http://wiki.developerforce.com/page/JP:Developer_Edition">Force.com Developer Edition</a>。<br />
这个版本的服务，可以使用20MB的存储空间，5MB的数据库空间和24小时500MB的数据传输量。</p>
<p>在Developer Edition下开发的应用，可以免费的在产品环境（Free Edition）下使用。<br />
Free Edition上可以免费支持的应用只有一个，且限制在100用户以下，<br />
存储空间则增加到1GB，1个用户可以利用10个自定义对象。在pv方面，则有1个月25万pv的限制。</p>
<p>网址：<a href="http://www.force.com/">http://www.force.com/</a></p>
<h3>Google App Engine</h3>
<p>Google提供的Paas平台。可以使用的语言有Python，java和Go，<br />
数据库则是Google自有的NoSQL数据BigTable。</p>
<p>免费的内容包括1GB的存储空间和1个月500万PV所需的CPU和带宽。</p>
<p>网址：<a href="http://appengine.google.com" target="_blank">http://appengine.google.com</a></p>
<h3>Cloud Foundry（β版）</h3>
<p>这是VMware提供的opensource的开放平台，这既是其运营产品的名称，<br />
也是这个open source的项目的名称。</p>
<p>目前，该平台只是作为β版公开，可以免费使用。支持的语言包括<br />
Java、Ruby、Node.js、Java、Groovy、Grails、Scala等，<br />
数据库包括MySQL、Redis、MongoDB和RabbitMQ等。</p>
<p>此平台最大的特点是，还提供了在PC上的虚拟机运行的环境<a href="https://my.cloudfoundry.com/micro">Micro Cloud Foundry</a>，<br />
有了这个环境，可以在自己的PC上实现Paas服务了。</p>
<p>网址：<a href="http://www.cloudfoundry.com/">http://www.cloudfoundry.com/</a></p>
<h3>OpenShift（Developer Preview）</h3>
<p>这是RedHat提供的PaaS平台，支持Java、Perl、PHP、Python、Ruby等各种语言，<br />
以及MySQL、SQLite、MongoDB等数据库。<br />
而且，就像Cloud Foundry一样，RedHat也在打算把OpenShift开源，不过目前还没有动静。</p>
<p>网址：<a href="https://openshift.redhat.com/app/">https://openshift.redhat.com/app/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2011/12/08/forever-free-paas-cloud-2011-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>doctrine和mysql的timestamp问题</title>
		<link>http://liubin.nanshapo.com/2011/06/20/doctrine-timestamp-mysql/</link>
		<comments>http://liubin.nanshapo.com/2011/06/20/doctrine-timestamp-mysql/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 14:03:23 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=410</guid>
		<description><![CDATA[如果在mysql里定义为timestamp，默认的mapping会作为datetime类型的： /** * @var datetime $calendarTs * * @ORM\Column(name=&#8221;calendar_ts&#8221;, type=&#8221;datetime&#8221;, nullable=false) */ 如果在php里这样设置: $obj->setMyTsField(date(&#8216;Y-m-d H:i:s&#8217;)); 会出错： atal error: Call to a member function format() on a non-object in /vendor/doctrine-dbal/lib/Doctrine/DBAL/Types/DateTimeType.php on line 44 原因在于，date() 返回字的数据类型为符串类型，而 &#8220;datetime&#8221;的属性只能设置为 DateTime 对象。 如下修改，就可以了： $obj->setMyTsField(new \DateTime());]]></description>
			<content:encoded><![CDATA[<p>如果在mysql里定义为timestamp，默认的mapping会作为datetime类型的：</p>
<p><coolcode lang="php"><br />
    /**<br />
     * @var datetime $calendarTs<br />
     *<br />
     * @ORM\Column(name=&#8221;calendar_ts&#8221;, type=&#8221;datetime&#8221;, nullable=false)<br />
     */</p>
</php>
<p>如果在php里这样设置:<br />
<coolcode lang="php"><br />
    $obj->setMyTsField(date(&#8216;Y-m-d H:i:s&#8217;));
</php>
会出错：<br />
atal error: Call to a member function format() on a non-object in /vendor/doctrine-dbal/lib/Doctrine/DBAL/Types/DateTimeType.php on line 44</p>
<p>原因在于，date() 返回字的数据类型为符串类型，而 &#8220;datetime&#8221;的属性只能设置为 DateTime 对象。</p>
<p>如下修改，就可以了：<br />
<coolcode lang="php"><br />
    $obj->setMyTsField(new \DateTime());
</php>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2011/06/20/doctrine-timestamp-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Handler也能同步操作</title>
		<link>http://liubin.nanshapo.com/2011/01/31/synchronous-operation-with-handler/</link>
		<comments>http://liubin.nanshapo.com/2011/01/31/synchronous-operation-with-handler/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 08:07:32 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=385</guid>
		<description><![CDATA[用Handler多数是为了异步操作，不阻塞UI线程的操作，可以防止ANR等。 今天看com.android.internal.telephony.gsm.SimSmsInterfaceManager的实现发现如下操作： Handler mHandler = new Handler() { &#160; &#160; &#160; &#160; @Override &#160; &#160; &#160; &#160; public&#160;void handleMessage(Message msg) { &#160; &#160; &#160; &#160; &#160; &#160; switch&#160;(msg.what) { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; case&#160;EVENT_UPDATE_DONE: &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; synchronized&#160;(mLock) { &#160; &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>用Handler多数是为了异步操作，不阻塞UI线程的操作，可以防止ANR等。<br />
今天看com.android.internal.telephony.gsm.SimSmsInterfaceManager的实现发现如下操作：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Handler</span><span style="color: Gray;"> </span><span style="color: Blue;">mHandler</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Handler</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; @</span><span style="color: Blue;">Override</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">handleMessage</span><span style="color: Olive;">(</span><span style="color: Blue;">Message</span><span style="color: Gray;"> </span><span style="color: Blue;">msg</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">switch</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">msg</span><span style="color: Gray;">.</span><span style="color: Blue;">what</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">case</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">EVENT_UPDATE_DONE</span><span style="color: Gray;">:</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">synchronized</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">mLock</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// ..................</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">mLock</span><span style="color: Gray;">.</span><span style="color: Blue;">notifyAll</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">break</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">case</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">EVENT_LOAD_DONE</span><span style="color: Gray;">:</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">synchronized</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">mLock</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// ..................</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">mLock</span><span style="color: Gray;">.</span><span style="color: Blue;">notifyAll</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">break</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// ..................</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">boolean</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">updateMessageOnIccEf</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">index</span><span style="color: Gray;">, </span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">status</span><span style="color: Gray;">, </span><span class="hl-types">byte</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">pdu</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// ........................</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">synchronized</span><span style="color: Olive;">(</span><span style="color: Blue;">mLock</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">Message</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">response</span><span style="color: Gray;"> = </span><span style="color: Blue;">mHandler</span><span style="color: Gray;">.</span><span style="color: Blue;">obtainMessage</span><span style="color: Olive;">(</span><span style="color: Blue;">EVENT_UPDATE_DONE</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">status</span><span style="color: Gray;"> == </span><span style="color: Blue;">STATUS_ON_ICC_FREE</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// Special case FREE: call deleteSmsOnSim instead of</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// manipulating the SIM record</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">mPhone</span><span style="color: Gray;">.</span><span style="color: Blue;">mCM</span><span style="color: Gray;">.</span><span style="color: Blue;">deleteSmsOnSim</span><span style="color: Olive;">(</span><span style="color: Blue;">index</span><span style="color: Gray;">, </span><span style="color: Blue;">response</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </span><span style="color: #ffa500;">// ........................</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">try</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">mLock</span><span style="color: Gray;">.</span><span style="color: Blue;">wait</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">InterruptedException</span><span style="color: Gray;"> </span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">log</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">interrupted while trying to update by index</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">mSuccess</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li></ol></div>
<p>感觉很是巧妙<br />
在操作函数中（updateMessageOnIccEf），发送消息之后调用mLock.wait(),而在handler里处理消息结果的时候notifyAll()，感觉很是巧妙。</p>
<p>大家不一定能在实际中有什么用处，但是可以参考下</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2011/01/31/synchronous-operation-with-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>创建android home程序</title>
		<link>http://liubin.nanshapo.com/2010/11/11/%e5%88%9b%e5%bb%baandroid-home%e7%a8%8b%e5%ba%8f/</link>
		<comments>http://liubin.nanshapo.com/2010/11/11/%e5%88%9b%e5%bb%baandroid-home%e7%a8%8b%e5%ba%8f/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 08:26:37 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=339</guid>
		<description><![CDATA[需要在manifest.xml里加入： &#60;intent-filter&#62;&#160; &#160; &#160; &#60;action&#160;android:name=&#34;android.intent.action.MAIN&#34; /&#62;&#160; &#160; &#160; &#60;category&#160;android:name=&#34;android.intent.category.HOME&#34; /&#62;&#160; &#160; &#160; &#60;category&#160;android:name=&#34;android.intent.category.DEFAULT&#34; /&#62;&#160; &#60;/intent-filter&#62;]]></description>
			<content:encoded><![CDATA[<p>需要在manifest.xml里加入：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">intent-filter</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">action</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">android:name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">android.intent.action.MAIN</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">category</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">android:name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">android.intent.category.HOME</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">category</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">android:name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">android.intent.category.DEFAULT</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">intent-filter</span><span style="color: Olive;">&gt;</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/11/11/%e5%88%9b%e5%bb%baandroid-home%e7%a8%8b%e5%ba%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转载：关于手机CPU</title>
		<link>http://liubin.nanshapo.com/2010/11/11/about-mobile-cpu/</link>
		<comments>http://liubin.nanshapo.com/2010/11/11/about-mobile-cpu/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 06:28:20 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=335</guid>
		<description><![CDATA[目前市面上的CPU大体分为三大厂商，高通，TI德州仪器，三星。三个厂商都是买ARM执照在改造ARM构造。 高通与TI，三星不同，高通是把A8做为平台，工艺技术跟A8接近，而TI与三星是改造A8为自己所用。我把主频定为1GBhz，来对比。 1.高通： 高通的Snapdragon SD8X50是最早与大家见面的1GHz处理器解决方案，基于Cortex-A8架构，它集中于CPU，GPU ，通信芯片，GPS芯片等多种芯片，很多厂商喜欢高通的CPU，原因是1个高通CPU，通信、GPS…全部解决很省地。该图形处理器基本数据为输出为 22Mpolygon/sec,像素填充率为1.33亿。它GPU的图形处理能力是这三个厂里最弱的。但高通的Snapdragon处理器在数据处理能力上要略高于其他Cortex-A8的处理器，所以Snapdragon SD8250在系统运行及数据运算上还是略优于其他处理器。它的Radio最好最适合手机，系统运行快，上网快，不足多媒体比其他两厂要差，多媒体是指图形处理能力也就是玩游戏之类的，采用较大的65MN，耗电大。HTC最爱，代表作HTC Desire G7。 2.TI德州仪器： 德州仪器OMAP36xx系列处理器也是基于Cortex-A8架构的解决方案。该图形处理器基本数据为多边形生成率为14Mpolygon/sec，象素填充率为每秒5亿，它是这三个厂商的CPU中数据处理最弱的，但多媒体能力强于高通，45MN更省电？Moto最爱，代表作Moto Droid2。 3.三星： 三星S5PC110处理器同样是采用Cortex-A8架构的处理器解决方案，三星把Cortex-A8架构修改的非常猛，从而使三星的CPU比公版的快上5-10%。三星的S5PC110也就是i9000使用的CPU是现在最快的CPU。该图形处理器基本数据为多边形生成率 28Mpolygon/sec，象素填充率为每秒10亿。三星的CPU多媒体能力是TI的两倍，是高通的4倍，能力这么强是超频所置，但上网没高通快，45NM更省电。三星自产货，代表作三星GT-i9000。声明A8不是处理器，只是个内核。 系统运行情况同主频下， 高通~三星>TI；高通与三星差不多，TI最慢。 上网速度情况同主频下， 高通>三星>TI；高通最快，三星其后，TI最慢。 多媒体运行情况同主频下： 三星>TI>高通；三星快于TI一倍，TI快于高通一倍。 能耗方面同主频下： 高通>三星~TI。高通由于65MN所以费电，三星于TI同45NM所以差不多，因为三星更快所以比TI稍费电。 综上所述： 如果你买手机当手机用，高通与三星都不错，TI逊色些。如果你买手机当游戏机用，三星与TI都不错，高通逊色些。个人倾向高通，高通数据处理最好，系统运行快，上网最快，但图形处理是薄弱的环节，不如TI更不如三星，我买手机是当手机用，主要是上网，我有PSP。三星则是全能，数据处理不逊于高通，图形处理远高于TI。而TI没一项最好，哪个都没做好，数据处理不如高通，图形处理不如三星，可谓最中规中矩。真分个谁第一的话三星最强。其实只要是 1GBhz，RAM不低于512MB，完全能应付手机一切需求，不怎么用看CPU牌子，RAM不是看笑话的。]]></description>
			<content:encoded><![CDATA[<p>目前市面上的CPU大体分为三大厂商，高通，TI德州仪器，三星。三个厂商都是买ARM执照在改造ARM构造。<br />
高通与TI，三星不同，高通是把A8做为平台，工艺技术跟A8接近，而TI与三星是改造A8为自己所用。我把主频定为1GBhz，来对比。<br />
1.高通：<br />
高通的Snapdragon SD8X50是最早与大家见面的1GHz处理器解决方案，基于Cortex-A8架构，它集中于CPU，GPU ，通信芯片，GPS芯片等多种芯片，很多厂商喜欢高通的CPU，原因是1个高通CPU，通信、GPS…全部解决很省地。该图形处理器基本数据为输出为 22Mpolygon/sec,像素填充率为1.33亿。它GPU的图形处理能力是这三个厂里最弱的。但高通的Snapdragon处理器在数据处理能力上要略高于其他Cortex-A8的处理器，所以Snapdragon SD8250在系统运行及数据运算上还是略优于其他处理器。它的Radio最好最适合手机，系统运行快，上网快，不足多媒体比其他两厂要差，多媒体是指图形处理能力也就是玩游戏之类的，采用较大的65MN，耗电大。HTC最爱，代表作HTC Desire G7。<br />
2.TI德州仪器：<br />
德州仪器OMAP36xx系列处理器也是基于Cortex-A8架构的解决方案。该图形处理器基本数据为多边形生成率为14Mpolygon/sec，象素填充率为每秒5亿，它是这三个厂商的CPU中数据处理最弱的，但多媒体能力强于高通，45MN更省电？Moto最爱，代表作Moto Droid2。<br />
3.三星：<br />
三星S5PC110处理器同样是采用Cortex-A8架构的处理器解决方案，三星把Cortex-A8架构修改的非常猛，从而使三星的CPU比公版的快上5-10%。三星的S5PC110也就是i9000使用的CPU是现在最快的CPU。该图形处理器基本数据为多边形生成率 28Mpolygon/sec，象素填充率为每秒10亿。三星的CPU多媒体能力是TI的两倍，是高通的4倍，能力这么强是超频所置，但上网没高通快，45NM更省电。三星自产货，代表作三星GT-i9000。声明A8不是处理器，只是个内核。<br />
系统运行情况同主频下，<br />
高通~三星>TI；高通与三星差不多，TI最慢。<br />
上网速度情况同主频下，<br />
高通>三星>TI；高通最快，三星其后，TI最慢。<br />
多媒体运行情况同主频下：<br />
三星>TI>高通；三星快于TI一倍，TI快于高通一倍。<br />
能耗方面同主频下：<br />
高通>三星~TI。高通由于65MN所以费电，三星于TI同45NM所以差不多，因为三星更快所以比TI稍费电。<br />
综上所述：<br />
如果你买手机当手机用，高通与三星都不错，TI逊色些。如果你买手机当游戏机用，三星与TI都不错，高通逊色些。个人倾向高通，高通数据处理最好，系统运行快，上网最快，但图形处理是薄弱的环节，不如TI更不如三星，我买手机是当手机用，主要是上网，我有PSP。三星则是全能，数据处理不逊于高通，图形处理远高于TI。而TI没一项最好，哪个都没做好，数据处理不如高通，图形处理不如三星，可谓最中规中矩。真分个谁第一的话三星最强。其实只要是 1GBhz，RAM不低于512MB，完全能应付手机一切需求，不怎么用看CPU牌子，RAM不是看笑话的。</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/11/11/about-mobile-cpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aｐａｃｈｅ的默认文件列表显示ＵＴＦ－８全文件名</title>
		<link>http://liubin.nanshapo.com/2010/10/14/make-apache-list-full-filename-with-utf-8/</link>
		<comments>http://liubin.nanshapo.com/2010/10/14/make-apache-list-full-filename-with-utf-8/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 02:28:14 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=328</guid>
		<description><![CDATA[如果一个目录不做任何处理，直接在ａｐａｃｈｅ下浏览，可能会有两个问题 １．长文件名不能被全部显示，最后会变为省略号 ２．默认的网页编码为Iso－８５９－１，需手工改为ｕｔｆ－８，否则乱码 其实，在该目录下加一个．ｈｔａｃｃｅｓｓ就可以了： cat .htaccess IndexOptions FancyIndexing VersionSort NameWidth=* Charset=UTF-8]]></description>
			<content:encoded><![CDATA[<p>如果一个目录不做任何处理，直接在ａｐａｃｈｅ下浏览，可能会有两个问题<br />
１．长文件名不能被全部显示，最后会变为省略号<br />
２．默认的网页编码为Iso－８５９－１，需手工改为ｕｔｆ－８，否则乱码</p>
<p>其实，在该目录下加一个．ｈｔａｃｃｅｓｓ就可以了：</p>
<p>cat .htaccess<br />
IndexOptions FancyIndexing VersionSort<strong> NameWidth=* Charset=UTF-8</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/10/14/make-apache-list-full-filename-with-utf-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7%-38%-55%法则只是个都市传说</title>
		<link>http://liubin.nanshapo.com/2010/09/29/7-38-55-rule-is-a-urban-myths/</link>
		<comments>http://liubin.nanshapo.com/2010/09/29/7-38-55-rule-is-a-urban-myths/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 02:59:13 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=325</guid>
		<description><![CDATA[1. 什么是7%-38%-55%法则 在准备PMP考试中，学到沟通管理这一章时，很多培训结构（包括网上流传的各种资料）都提到了这么一个公式 沟通 = 语言（7％）＋副语言（38％）＋非语言（55％） 实际上，你会完全相信老师所说的这个公式吗？换句话说，你每天和别人交流的时候只有7%用到了文字（包括书写和说话）吗？答案我想应该是否定的，至少对于我来说。举个极端的例子，如果真是这样，我们学外语岂不是很容易了？即使不背单词，不学发音，我们不是还有93%的可能性能沟通吗？ 2. 7%-38%-55%法则的来源 那这些结论的数字是哪里来的呢？网上搜了搜，得到如下结论： 加州大学（UCLA）一位教授：艾伯特．梅拉比安（Albert Mehrabian）于1971年所做的研究揭露，有效的沟通技巧都包含三大要素：肢体语言、声调和说话内容。55：38：7模式便是他对人与人之间沟通的结论：讯息中有55％的意义来自视觉的身体语言（仪态、姿势、表情）；38％的意义来自谈话时的声音面（语气、声调、速度）；仅有7％的意义来自实际说出来说话内容（遣词用字） 3. 事实确实如此？ 仔细看看英文wiki就知道了： This &#8220;7%-38%-55% rule&#8221; has been overly interpreted in such a way, that some people claim that in any communication situation, the meaning of a message was being transported mostly by non-verbal cues, not by the meaning of words. This generalization [...]]]></description>
			<content:encoded><![CDATA[<p>1. 什么是7%-38%-55%法则<br />
   在准备PMP考试中，学到沟通管理这一章时，很多培训结构（包括网上流传的各种资料）都提到了这么一个公式</p>
<p>沟通 = 语言（7％）＋副语言（38％）＋非语言（55％）</p>
<p>    实际上，你会完全相信老师所说的这个公式吗？换句话说，你每天和别人交流的时候只有7%用到了文字（包括书写和说话）吗？答案我想应该是否定的，至少对于我来说。举个极端的例子，如果真是这样，我们学外语岂不是很容易了？即使不背单词，不学发音，我们不是还有93%的可能性能沟通吗？</p>
<p>2. 7%-38%-55%法则的来源<br />
    那这些结论的数字是哪里来的呢？网上搜了搜，得到如下结论：<br />
    加州大学（UCLA）一位教授：艾伯特．梅拉比安（Albert Mehrabian）于1971年所做的研究揭露，有效的沟通技巧都包含三大要素：肢体语言、声调和说话内容。55：38：7模式便是他对人与人之间沟通的结论：讯息中有55％的意义来自视觉的身体语言（仪态、姿势、表情）；38％的意义来自谈话时的声音面（语气、声调、速度）；仅有7％的意义来自实际说出来说话内容（遣词用字）</p>
<p>3. 事实确实如此？</p>
<p>    仔细看看英文wiki就知道了：</p>
<p>This &#8220;7%-38%-55% rule&#8221; has been overly interpreted in such a way, that some people claim that in any communication situation, the meaning of a message was being transported mostly by non-verbal cues, not by the meaning of words. This generalization from the initially very specific conditions in his experiments is the common mistake made with regard to Mehrabian&#8217;s rule. On his website, Mehrabian clearly states:</p>
<p>    &#8220;Total Liking = 7% Verbal Liking + 38% Vocal Liking + 55% Facial Liking. Please note that this and other equations regarding relative importance of verbal and nonverbal messages were derived from experiments dealing with communications of feelings and attitudes (i.e., like–dislike). Unless a communicator is talking about their feelings or attitudes, these equations are not applicable. Also see references 286 and 305 in Silent Messages – these are the original sources of my findings.&#8221;[2]</p>
<p>    而实际上，Mehrabian的研究主要集中于表达个人喜恶的交流，如人们在谈论相互之间有多喜欢/厌恶的时候，“这一讨论文字与非文字信息重要性的比例主要是根据交流的情感和态度（也就是说喜欢或不喜欢）的实验，除非这一交流是讨论关于情感和态度（feelings or attitudes）；否则这一比例等式是不成立的。” 。喜怒哀乐是可以在脸色表现出来的，但面部表情能表示1+1=2吗？</p>
<p>    也就是说，这一规则，是特定在有限的context下的，不是试用所有情况；在项目管理里，我相信大家多数时间不是在交流感情，而是在陈述事实，解决问题。当然，解决问题、谈判的时候我们也需要察言观色，但其总的来说，语言只占7%还是很不符合实际的。所以在PMP考试里出现这个规则是出于出题人对这个 7-38-55规则没有真正的正确理解，包括RITA这本书。</p>
<p>4. 结论<br />
    结论就是大家普遍不知道这个7-38-55规则是怎么回事，完全的全盘接收，没有联系自己的实际去想想这个规则是否合理，没有去网上查证来证明自己的判断。不光在国内，在日本，这个规则也一直被误读着，甚至还会继续。7%-38%-55%只不过是个都市传说（urban myths）。当然，这里无意否定肢体语言的存在和作用，肢体语言对于文字来说，是一个很好的补充，促进。<br />
    有兴趣的也可以看看：这篇标题为《Debunking the 55%, 38%, 7% Rule》的文章和这篇题为《mehrabian&#8217;s communication research》的文章</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/09/29/7-38-55-rule-is-a-urban-myths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java无失真缩放图片的方法</title>
		<link>http://liubin.nanshapo.com/2010/09/14/java%e6%97%a0%e5%a4%b1%e7%9c%9f%e7%bc%a9%e6%94%be%e5%9b%be%e7%89%87%e7%9a%84%e6%96%b9%e6%b3%95/</link>
		<comments>http://liubin.nanshapo.com/2010/09/14/java%e6%97%a0%e5%a4%b1%e7%9c%9f%e7%bc%a9%e6%94%be%e5%9b%be%e7%89%87%e7%9a%84%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 05:46:15 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=323</guid>
		<description><![CDATA[真是会者不难 其实就1句话 BufferedImage tag = new BufferedImage(sideLen, sideLen, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage( img.getScaledInstance(sideLen, sideLen, Image.SCALE_SMOOTH), 0, 0, sideLen, sideLen, null);]]></description>
			<content:encoded><![CDATA[<p>真是会者不难<br />
其实就1句话</p>
<p>BufferedImage tag = new BufferedImage(sideLen, sideLen,<br />
				BufferedImage.TYPE_INT_RGB);</p>
<p>		tag.getGraphics().drawImage(<br />
				img.getScaledInstance(sideLen, sideLen, <strong>Image.SCALE_SMOOTH</strong>), 0,<br />
				0, sideLen, sideLen, null);</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/09/14/java%e6%97%a0%e5%a4%b1%e7%9c%9f%e7%bc%a9%e6%94%be%e5%9b%be%e7%89%87%e7%9a%84%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>几个开源的在线考试系统</title>
		<link>http://liubin.nanshapo.com/2010/08/31/some-open-source-online-testing-application/</link>
		<comments>http://liubin.nanshapo.com/2010/08/31/some-open-source-online-testing-application/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 08:30:32 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=310</guid>
		<description><![CDATA[都是在sf上找到的。 1.TCExam agpl的许可证，麻烦。PHP/mysql的 功能一般，只是个考试系统，多语言支持。 地址：http://sourceforge.net/projects/tcexam/ 2. eFront &#8211; Refreshing eLearning 看截图还不错，主页：http://sourceforge.net/projects/efrontlearning/ 另一个主页：http://www.efrontlearning.net/ 3. WEB-SET CAMPUS http://sourceforge.net/projects/web-set-campus/ 4. GARC &#8211; An eLearning System http://sourceforge.net/projects/garc/ 5. Testa OTMS http://sourceforge.net/projects/testa-otms/]]></description>
			<content:encoded><![CDATA[<p>都是在sf上找到的。<br />
<br />
1.<strong>TCExam</strong> agpl的许可证，麻烦。PHP/mysql的<br />
功能一般，只是个考试系统，多语言支持。<br />
<img src="http://sourceforge.net/dbimage.php?id=138264" alt="" /><br />
<br />
地址：<a href="http://sourceforge.net/projects/tcexam/">http://sourceforge.net/projects/tcexam/</a><br />
<br />
2. <strong>eFront &#8211; Refreshing eLearning</strong><br />
<br />
看截图还不错，主页：<a href="http://sourceforge.net/projects/efrontlearning/">http://sourceforge.net/projects/efrontlearning/</a><br />
<br />
另一个主页：<a href="http://www.efrontlearning.net/">http://www.efrontlearning.net/</a><br />
<br />
<img src="http://sourceforge.net/dbimage.php?id=143448" alt="" /><br />
<br />
3. <strong>WEB-SET CAMPUS</strong><br />
<a href="http://sourceforge.net/projects/web-set-campus/">http://sourceforge.net/projects/web-set-campus/</a><br />
<br />
<img src="http://sourceforge.net/dbimage.php?id=232697" alt="" /><br />
<br />
4. <strong>GARC</strong> &#8211; An eLearning System<br />
<br />
<a href="http://sourceforge.net/projects/garc/">http://sourceforge.net/projects/garc/</a><br />
<br />
<img src="http://sourceforge.net/dbimage.php?id=267312" alt="" /><br />
<br />
5. <strong>Testa OTMS </strong><br />
<br />
<a href="http://sourceforge.net/projects/testa-otms/">http://sourceforge.net/projects/testa-otms/</a><br />
</p>
<p><img src="http://sourceforge.net/dbimage.php?id=230248" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/08/31/some-open-source-online-testing-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>回龙观地区通讯地址</title>
		<link>http://liubin.nanshapo.com/2010/08/04/%e5%9b%9e%e9%be%99%e8%a7%82%e5%9c%b0%e5%8c%ba%e9%80%9a%e8%ae%af%e5%9c%b0%e5%9d%80/</link>
		<comments>http://liubin.nanshapo.com/2010/08/04/%e5%9b%9e%e9%be%99%e8%a7%82%e5%9c%b0%e5%8c%ba%e9%80%9a%e8%ae%af%e5%9c%b0%e5%9d%80/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 09:57:58 +0000</pubDate>
		<dc:creator>liubin</dc:creator>
				<category><![CDATA[技术]]></category>

		<guid isPermaLink="false">http://liubin.nanshapo.com/?p=303</guid>
		<description><![CDATA[中文：北京市昌平区回龙观(文化居住区)AA苑（园）B区CC号楼DD单元EEE 邮政编码：102208 英文：Room DD-EEE,Bldg No.CC,Block B,AA, Huilongguan residential area,Changping District,Beijing 102208,PRC]]></description>
			<content:encoded><![CDATA[<p>中文：北京市昌平区回龙观(文化居住区)AA苑（园）B区CC号楼DD单元EEE 邮政编码：102208<br />
英文：Room DD-EEE,Bldg No.CC,Block B,AA, Huilongguan residential area,Changping District,Beijing 102208,PRC</p>
]]></content:encoded>
			<wfw:commentRss>http://liubin.nanshapo.com/2010/08/04/%e5%9b%9e%e9%be%99%e8%a7%82%e5%9c%b0%e5%8c%ba%e9%80%9a%e8%ae%af%e5%9c%b0%e5%9d%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

