<?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>Typo3 and Joomla  in china</title>
	<atom:link href="http://www.3persons.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.3persons.com</link>
	<description>typo3,joomla,drupal,php</description>
	<lastBuildDate>Fri, 20 Aug 2010 07:57:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mysql index engine</title>
		<link>http://www.3persons.com/2010/08/mysql-index-engine/</link>
		<comments>http://www.3persons.com/2010/08/mysql-index-engine/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 07:57:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=37</guid>
		<description><![CDATA[In order to improve the performance of sql, sometimes we should create the index to fields we want. For example , these are 10000 datas in my consumer table. If i want to get this result : select c1.id from consumer c1,consumer c2, consumer c3 where c3.password=c2.password and c2.password = c1.password and c2.id-c1.id&#62;0 and c2.id-c1.id&#60;5 [...]]]></description>
			<content:encoded><![CDATA[<p>In order to improve the performance of sql, sometimes we should create the index to fields we want.<br />
For example , these are 10000 datas in my consumer table.<br />
If i want to get this result :<br />
<em>select c1.id from consumer c1,consumer c2, consumer c3<br />
where c3.password=c2.password<br />
and c2.password = c1.password<br />
and c2.id-c1.id&gt;0<br />
and c2.id-c1.id&lt;5 and c3.id-c2.id&gt;0<br />
and c3.id-c2.id&lt;5<br />
and c1.pest is null<br />
and c2.pest is null<br />
and c3.pest is null<br />
and c1.password!=&#8221;96e79218965eb72c92a549dd5a330112&#8243;<br />
order by c1.id desc</em></p>
<p>when no index in password field ,it will cost 18047 ms,but<br />
after creating the index on this field, it will just cost 484 ms.<br />
The comparison is very obvious.<br />
the command to create and drop index on the field is like this :<br />
<strong>create index idx_pass on consumer(password);<br />
drop index idx_pass on consumer;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/08/mysql-index-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux shell command</title>
		<link>http://www.3persons.com/2010/08/linux-shell-command/</link>
		<comments>http://www.3persons.com/2010/08/linux-shell-command/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 07:50:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=34</guid>
		<description><![CDATA[NAME du &#8211; estimate file space usage SYNOPSIS du [OPTION]&#8230; [FILE]&#8230; EXAMPLES DESCRIPTION Summarize disk usage of each FILE, recursively for directories. Mandatory arguments to long options are mandatory for short options too. -a, &#8211;all write counts for all files, not just directories -B, &#8211;block-size=SIZE use SIZE-byte blocks -b, &#8211;bytes print size in bytes -c, [...]]]></description>
			<content:encoded><![CDATA[<p>NAME<br />
du &#8211; estimate file space usage<br />
SYNOPSIS<br />
du [OPTION]&#8230; [FILE]&#8230;<br />
EXAMPLES<br />
DESCRIPTION</p>
<p>Summarize disk usage of each FILE, recursively for directories.</p>
<p>Mandatory arguments to long options are mandatory for short options too.</p>
<p>-a, &#8211;all<br />
    write counts for all files, not just directories<br />
-B, &#8211;block-size=SIZE use SIZE-byte blocks<br />
-b, &#8211;bytes<br />
    print size in bytes<br />
-c, &#8211;total<br />
    produce a grand total<br />
-D, &#8211;dereference-args<br />
    dereference FILEs that are symbolic links<br />
-h, &#8211;human-readable<br />
    print sizes in human readable format (e.g., 1K 234M 2G)<br />
-H, &#8211;si<br />
    likewise, but use powers of 1000 not 1024<br />
-k<br />
    like &#8211;block-size=1K<br />
-l, &#8211;count-links<br />
    count sizes many times if hard linked<br />
-L, &#8211;dereference<br />
    dereference all symbolic links<br />
-S, &#8211;separate-dirs<br />
    do not include size of subdirectories<br />
-s, &#8211;summarize<br />
    display only a total for each argument<br />
-x, &#8211;one-file-system<br />
    skip directories on different filesystems<br />
-X FILE, &#8211;exclude-from=FILE<br />
    Exclude files that match any pattern in FILE.<br />
&#8211;exclude=PATTERN Exclude files that match PATTERN.<br />
&#8211;max-depth=N<br />
    print the total for a directory (or file, with &#8211;all) only if it is N or fewer levels below the command line argument; &#8211;max-depth=0 is the same as &#8211;summarize<br />
&#8211;help<br />
    display this help and exit<br />
&#8211;version<br />
    output version information and exit </p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/08/linux-shell-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Query Performance Optimization</title>
		<link>http://www.3persons.com/2010/07/query-performance-optimization/</link>
		<comments>http://www.3persons.com/2010/07/query-performance-optimization/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 03:39:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=29</guid>
		<description><![CDATA[1.Slow Query Basics:Optimize Data Access Are you asking the database for data you do not need? Is MySQL examing too much data?(index solution) 2.Ways to restructure queries Complex queries Versus Many queries(few queries) Chopping up a query Join Decomposition( When application joins may be more efficient you cache and reuser a lot of data from [...]]]></description>
			<content:encoded><![CDATA[<p>1.Slow Query Basics:Optimize Data Access</p>
<ul>
<li>Are you asking the database for data you do not need?</li>
<li>Is MySQL examing too much data?(index solution)</li>
</ul>
<p>2.Ways to restructure queries</p>
<ul>
<li>Complex queries Versus Many queries(few queries)</li>
<li>Chopping up a query</li>
<li>Join Decomposition(
<ul>
<li>When application joins may be more efficient</li>
<li>you cache and reuser a lot of data from earlier queries</li>
<li>you use multiple MyISAM tables</li>
<li>you distribute data across multiple severs</li>
<li>you replace joins with in() lists on larger tables</li>
<li>a  join refers to the same table multiple times</li>
<li>)</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/07/query-performance-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes on Storage Engine</title>
		<link>http://www.3persons.com/2010/07/notes-on-storage-engine/</link>
		<comments>http://www.3persons.com/2010/07/notes-on-storage-engine/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 03:20:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=27</guid>
		<description><![CDATA[1.The MyISAM Storage Engine Table locks No automated data recovery No transactions Only indexes are cached in memory Compact storage 2.The memory storage Engine Table locks No dynamic rows(no BLOB  and TEXT , even VARCHAR) Hash indexes are the default index type No index statistics Content is lost on restart 3.The InnoDB Storage Engine Transactional [...]]]></description>
			<content:encoded><![CDATA[<p>1.The MyISAM Storage Engine</p>
<ul>
<li>Table locks</li>
<li>No automated data recovery</li>
<li>No transactions</li>
<li>Only indexes are cached in memory</li>
<li>Compact storage</li>
</ul>
<p>2.The memory storage Engine</p>
<ul>
<li>Table locks</li>
<li>No dynamic rows(no BLOB  and TEXT , even VARCHAR)</li>
<li>Hash indexes are the default index type</li>
<li>No index statistics</li>
<li>Content is lost on restart</li>
</ul>
<p>3.The InnoDB Storage Engine</p>
<ul>
<li>Transactional</li>
<li>Foreign keys</li>
<li>Row-level locks</li>
<li>Multiversioning</li>
<li>Clustering by primary key</li>
<li>All indexes contain the primary key columns</li>
<li>Optimized caching</li>
<li>Unpached indexes</li>
<li>Slow data load</li>
<li>Blocking AUTO_INCREMENT</li>
<li>No cached COUNT(*) value</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/07/notes-on-storage-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven + spring + hibernate + flex</title>
		<link>http://www.3persons.com/2010/05/maven-spring-hibernate-flex/</link>
		<comments>http://www.3persons.com/2010/05/maven-spring-hibernate-flex/#comments</comments>
		<pubDate>Thu, 13 May 2010 10:02:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=22</guid>
		<description><![CDATA[These days i am learning new technology about java.As a web fan , i want to create a flash web with java called the top programming language.After  i downloaded  the pdf file of Beginning Java™ and Flex Migrating Java, Spring, Hibernate, and Maven Developers to Adobe Flex and red the description ,the author convince me [...]]]></description>
			<content:encoded><![CDATA[<p>These days i am learning new technology about java.As a web fan , i want to create a flash web with java called the top programming language.After  i downloaded  the pdf file of Beginning Java™ and Flex Migrating Java, Spring, Hibernate, and Maven Developers to Adobe Flex and red the description ,the author convince me that this is just what i serach for.</p>
<p>Now i will list the point of different technology:</p>
<p>Maven: pom.xml  &#8212;&#8212;the configuration file of maven project , these are many concepts such as dependency,build , repositories;</p>
<p>Spring                       &#8212;&#8212;-listener <img src='http://www.3persons.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rg.springframework.web.context.ContextLoaderListener,org.springframework.web.context.request.RequestContextListener</p>
<p>beans;</p>
<p>hibernate             &#8212;&#8212;ibernate-mapping</p>
<p>flex                        &#8212;&#8212;-use spring&#8217;s core</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/05/maven-spring-hibernate-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Order Note</title>
		<link>http://www.3persons.com/2010/03/order-note/</link>
		<comments>http://www.3persons.com/2010/03/order-note/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 05:14:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=20</guid>
		<description><![CDATA[In php programming, we may notice that  if we sort  a group of datas by a string field storing numbers , maybe we can not get the correct order we want .For example: image1.jpg,image2.jpg,image10.jpg,image20.jpg, after using function sort(),得到： image1.jpg,image10.jpg,image2.jpg,image20.jpg, this may be not what we want, so we can use natsort() to fix it . [...]]]></description>
			<content:encoded><![CDATA[<p>In php programming, we may notice that  if we sort  a group of datas by a string field storing numbers , maybe we can not get the correct order we want .For example:</p>
<p><strong>image1.jpg,image2.jpg,image10.jpg,image20.jpg,</strong></p>
<p>after using function sort(),得到：</p>
<p><strong>image1.jpg,image10.jpg,image2.jpg,image20.jpg,</strong></p>
<p>this may be not what we want, so we can use natsort() to fix it .</p>
<p>But in the database if the field is varchar or text,how should we fix it ?</p>
<p>We can use this function :CAST.For example</p>
<p><strong>select *  from  image  order by CAST(`image_order` AS SIGNED INT)</strong></p>
<p>just to convert string to int, that is all. Anyway , if noticing it before , we can change <strong> </strong><strong><strong>the type of image_order with </strong></strong><strong>SIGNED INT</strong><strong><strong>, that is better.</strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/03/order-note/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Realurl configuration</title>
		<link>http://www.3persons.com/2010/02/realurl-configuration/</link>
		<comments>http://www.3persons.com/2010/02/realurl-configuration/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 15:43:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Typo3]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=4</guid>
		<description><![CDATA[Sometimes we need friendly reading url  which realurl can support it powerfully.But when we built our own extension ,What should we pay attension to ? At first .Note that make the link with plugin class method. $this-&#62;pi_getPageLink($pageId,&#8221;,$param). Here $pageId is the Id of page ,$param is like this $param    = array(&#8216;tx_bookonline_pi1[cID]&#8216;=&#62;$cat_uid); Then we just need [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes we need friendly reading url  which realurl can support it powerfully.But when we built our own extension ,What should we pay attension to ?</p>
<p>At first .Note that make the link with plugin class method.</p>
<p style="padding-left: 30px;"><em>$this-&gt;pi_getPageLink($pageId,&#8221;,$param).</em></p>
<p>Here $pageId is the Id of page ,$param is like this</p>
<p style="padding-left: 30px;"><em>$param    = array(&#8216;tx_bookonline_pi1[cID]&#8216;=&gt;$cat_uid);</em></p>
<p>Then we just need change the configuration file  of realurl to let it know how to translate our parameter <em>tx_bookonline_pi1[cID].</em></p>
<p><em>add this code </em></p>
<p style="padding-left: 60px;">$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['postVarSets'] = array(</p>
<p style="padding-left: 180px;">&#8216;_DEFAULT&#8217; =&gt; array (</p>
<p style="padding-left: 210px;">&#8216;category&#8217; =&gt; array(<br />
array(</p>
<p style="padding-left: 240px;">&#8216;GETvar&#8217; =&gt; &#8216;tx_bookonline_pi1[cID]&#8216;,<br />
&#8216;lookUpTable&#8217; =&gt; array(</p>
<p style="padding-left: 270px;">&#8216;table&#8217; =&gt; &#8216;tx_bookonline_category&#8217;,</p>
<p style="padding-left: 270px;">&#8216;id_field&#8217; =&gt; &#8216;uid&#8217;,</p>
<p style="padding-left: 270px;">&#8216;alias_field&#8217; =&gt; &#8216;name&#8217;,</p>
<p style="padding-left: 270px;">&#8216;addWhereClause&#8217; =&gt; &#8216; AND NOT deleted&#8217;</p>
<p style="padding-left: 210px;">)</p>
<p style="padding-left: 180px;">),</p>
<p style="padding-left: 120px;">),</p>
<p style="padding-left: 60px;">);</p>
<p>So realurl can work and translate the url to /category/name.Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/02/realurl-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typo3 step one</title>
		<link>http://www.3persons.com/2010/02/typo3-install/</link>
		<comments>http://www.3persons.com/2010/02/typo3-install/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:51:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=2</guid>
		<description><![CDATA[Though i have been devodted to typo3 for just half and one year.But i must say thank you to typo3.It lets me know what is cms , how to build one site quickly , how  powerful typo3 is , what typo3 can do but others not. As a cms , typo3 is complicated , at [...]]]></description>
			<content:encoded><![CDATA[<p>Though i have been devodted to typo3 for just half and one year.But i must say thank you to typo3.It lets me know what is cms , how to build one site quickly , how  powerful typo3 is , what typo3 can do but others not.</p>
<p>As a cms , typo3 is complicated , at the same time , typo3 is excellent。Like a tool such as a computer , you can use computer to do more flexible work, but at the beginning , learning computer is not so easy as you thought，especially code program。From now on ， i will share my experience on typo3 with people who want to know typo3.Hope it is useful for you , my friend.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/02/typo3-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regular expression</title>
		<link>http://www.3persons.com/2010/02/regular-expression/</link>
		<comments>http://www.3persons.com/2010/02/regular-expression/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 04:47:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.3persons.com/?p=1</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.3persons.com/2010/02/regular-expression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
