<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="zh-TW" xml:base="http://www.joehorn.idv.tw/wp-atom.php">
	<title type="text">Joe Horn 的啟示錄</title>
	<subtitle type="text">Joe Horn's Blog</subtitle>

	<updated>2012-03-13T13:10:51Z</updated>

	<link rel="alternate" type="text/html" href="http://www.joehorn.idv.tw" />
	<id>http://www.joehorn.idv.tw/feed/atom</id>
	

	<generator uri="http://wordpress.org/" version="3.3.2">WordPress</generator>
		<feedburner:info uri="joehorn-atom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://www.joehorn.idv.tw/feed/atom/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[在 FreeBSD 用 ports 安裝 MySQL 5.5]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/fvomGtfbf1E/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5" />
		<id>http://www.joehorn.idv.tw/?p=1084</id>
		<updated>2012-03-13T13:10:51Z</updated>
		<published>2012-03-13T13:10:50Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Database" /><category scheme="http://www.joehorn.idv.tw" term="FreeBSD" /><category scheme="http://www.joehorn.idv.tw" term="MySQL" /><category scheme="http://www.joehorn.idv.tw" term="ports" />		<summary type="html"><![CDATA[我在 FreeBSD 用 ports 安裝 databases/mysql41-server 、 databases/mysql50-server 時，會放這些 configuration parameters： WITH_CHARSET=big5 WITH_XCHARSET=all BUILD_OPTIMIZED （databases/mysql51-server 會多放個 WITH_FAST_MUTEXES） 之前要安裝 databases/mysql55-server 時發現... databases/mysql55-server 只剩下 WITHOUT_OPENSSL 與 WITH_FASTMTX 這兩個 configuration parameters 可以用，而預設的 WITH_EXTRA_CHARSETS（文章前頭提到的 WITH_XCHARSET）就是 all；以往使用的 WITH_CHARSET=big5 必須從 my.cnf 作設定（這也的確是比較好的作法）；BUILD_OPTIMIZED 則是不需要了（也不支援？）。 另外，databases/mysql55-server 預設只有這些 storage engines： ARCHIVE、BLACKHOLE、EXAMPLE 跟 FEDERATED 這四個 storage engines 可以透過 INSTALL PLUGIN 的方式進行安裝，例： Technorati Tags: FreeBSD, MySQL, [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length' rel='bookmark' title='MySQL 的 max key length'>MySQL 的 max key length</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89' rel='bookmark' title='PHP 的 mysqlnd（MySQL Native Driver）'>PHP 的 mysqlnd（MySQL Native Driver）</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2008/08/30/301/%e8%ac%b9%e6%85%8e%e4%bd%bf%e7%94%a8-mysql-%e7%9a%84-innodb-storage-engine' rel='bookmark' title='謹慎使用 MySQL 的 InnoDB storage engine...'>謹慎使用 MySQL 的 InnoDB storage engine...</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5">&lt;p&gt;我在 &lt;a href="http://www.freebsd.org/" target="_blank"&gt;FreeBSD&lt;/a&gt; 用 ports 安裝 &lt;a href="http://www.freshports.org/databases/mysql41-server" target="_blank"&gt;databases/mysql41-server&lt;/a&gt; 、 &lt;a href="http://www.freshports.org/databases/mysql50-server" target="_blank"&gt;databases/mysql50-server&lt;/a&gt; 時，會放這些 configuration parameters：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WITH_CHARSET=big5&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WITH_XCHARSET=all&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BUILD_OPTIMIZED&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;（&lt;a href="http://www.freshports.org/databases/mysql51-server" target="_blank"&gt;databases/mysql51-server&lt;/a&gt; 會多放個 &lt;strong&gt;WITH_FAST_MUTEXES&lt;/strong&gt;）&lt;/p&gt;
&lt;p&gt;之前要安裝 &lt;a href="http://www.freshports.org/databases/mysql55-server" target="_blank"&gt;databases/mysql55-server&lt;/a&gt; 時發現...&lt;br /&gt;
&lt;a href="http://www.freshports.org/databases/mysql55-server" target="_blank"&gt;databases/mysql55-server&lt;/a&gt; 只剩下 &lt;strong&gt;WITHOUT_OPENSSL&lt;/strong&gt; 與 &lt;strong&gt;WITH_FASTMTX&lt;/strong&gt; 這兩個 configuration parameters 可以用，而預設的 &lt;strong&gt;WITH_EXTRA_CHARSETS&lt;/strong&gt;（文章前頭提到的 &lt;strong&gt;WITH_XCHARSET&lt;/strong&gt;）就是 all；以往使用的 &lt;strong&gt;WITH_CHARSET=big5&lt;/strong&gt; 必須從 my.cnf 作設定（這也的確是比較好的作法）；&lt;strong&gt;BUILD_OPTIMIZED&lt;/strong&gt; 則是不需要了（也不支援？）。&lt;/p&gt;
&lt;p&gt;另外，&lt;a href="http://www.freshports.org/databases/mysql55-server" target="_blank"&gt;databases/mysql55-server&lt;/a&gt; 預設只有這些 &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html" title="MySQL 5.5 manual : Storage Engines" target="_blank"&gt;storage engines&lt;/a&gt;：&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;mysql&amp;gt; SHOW ENGINES;
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| MyISAM             | DEFAULT | MyISAM storage engine                                      | NO           | NO   | NO         |
| InnoDB             | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
6 rows in set (0.00 sec)&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/archive-storage-engine.html" title="MySQL 5.5 manual : ARCHIVE Storage Engines" target="_blank"&gt;ARCHIVE&lt;/a&gt;、&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/blackhole-storage-engine.html" title="MySQL 5.5 manual : BLACKHOLE Storage Engines" target="_blank"&gt;BLACKHOLE&lt;/a&gt;、&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/example-storage-engine.html" title="MySQL 5.5 manual : EXAMPLE Storage Engines" target="_blank"&gt;EXAMPLE&lt;/a&gt; 跟 &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/federated-storage-engine.html" title="MySQL 5.5 manual : FEDERATED Storage Engines" target="_blank"&gt;FEDERATED&lt;/a&gt; 這四個 storage engines 可以透過 &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/install-plugin.html" title="MySQL 5.5 manual : INSTALL PLUGIN Syntax" target="_blank"&gt;INSTALL PLUGIN&lt;/a&gt; 的方式進行安裝，例：&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;mysql&amp;gt; INSTALL PLUGIN archive SONAME 'ha_archive.so';&lt;/pre&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;mysql&amp;gt; INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';&lt;/pre&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;mysql&amp;gt; INSTALL PLUGIN example SONAME 'ha_example.so';&lt;/pre&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;mysql&amp;gt; INSTALL PLUGIN federated SONAME 'ha_federated.so';&lt;/pre&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/FreeBSD' rel='tag' target='_self'&gt;FreeBSD&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/MySQL' rel='tag' target='_self'&gt;MySQL&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/ports' rel='tag' target='_self'&gt;ports&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length' rel='bookmark' title='MySQL 的 max key length'&gt;MySQL 的 max key length&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89' rel='bookmark' title='PHP 的 mysqlnd（MySQL Native Driver）'&gt;PHP 的 mysqlnd（MySQL Native Driver）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/08/30/301/%e8%ac%b9%e6%85%8e%e4%bd%bf%e7%94%a8-mysql-%e7%9a%84-innodb-storage-engine' rel='bookmark' title='謹慎使用 MySQL 的 InnoDB storage engine...'&gt;謹慎使用 MySQL 的 InnoDB storage engine...&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BVR2m_NH6SbhLubzaAfRdjg4JZU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BVR2m_NH6SbhLubzaAfRdjg4JZU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BVR2m_NH6SbhLubzaAfRdjg4JZU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BVR2m_NH6SbhLubzaAfRdjg4JZU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[Free slave name server services]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/Ivg9IWgxlpE/free-slave-name-server-services" />
		<id>http://www.joehorn.idv.tw/?p=1080</id>
		<updated>2012-03-07T14:58:52Z</updated>
		<published>2012-03-07T14:58:52Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Network" /><category scheme="http://www.joehorn.idv.tw" term="DNS" /><category scheme="http://www.joehorn.idv.tw" term="domain name" /><category scheme="http://www.joehorn.idv.tw" term="name server" />		<summary type="html"><![CDATA[roga 在幾天前說 topDN.net 提供免費/付費的 domain name hosting 服務。 實際上，在台灣的 domain name registrar 幾乎都提供類似的服務，但公開讓大家使用的 slave name server 服務倒是還沒在台灣出現（印象中是這樣，至少我還沒看過）。 絕大多數的 internet services 都應該佈署 secondary/slave server，像 DNS、E-Mail、WWW。 而且，secondary/slave server 應與 primary/master server 使用不同的網路（ISP），把機器放在不同的地點。 Anyway，有需要 slave name server 服務的人，可以參考這些網站（依照 domain 排序，無優劣之分）： http://www.buddyns.com/ http://dns.he.net/ https://puck.nether.net/dns/ http://twisted4life.com/index.php http://xname.org/ Technorati Tags: DNS, domain name, name server Related posts: 看來 Domain Keys 還在測試階段.
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/06/30/176/%e7%9c%8b%e4%be%86-domain-keys-%e9%82%84%e5%9c%a8%e6%b8%ac%e8%a9%a6%e9%9a%8e%e6%ae%b5' rel='bookmark' title='看來 Domain Keys 還在測試階段.'>看來 Domain Keys 還在測試階段.</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2012/03/07/1080/free-slave-name-server-services">&lt;p&gt;roga 在幾天前說 &lt;a href="http://blog.roga.tw/2012/02/topdn-net-a-new-free-dns-hosting-service/" target="_blank"&gt;topDN.net 提供免費/付費的 domain name hosting 服務&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;實際上，在台灣的 &lt;a href="http://en.wikipedia.org/wiki/Domain_name_registrar" target="_blank"&gt;domain name registrar&lt;/a&gt; 幾乎都提供類似的服務，但公開讓大家使用的 slave name server 服務倒是還沒在台灣出現（印象中是這樣，至少我還沒看過）。&lt;/p&gt;
&lt;p&gt;絕大多數的 internet services 都應該佈署 secondary/slave server，像 DNS、E-Mail、WWW。&lt;br /&gt;
而且，secondary/slave server 應與 primary/master server 使用不同的網路（ISP），把機器放在不同的地點。&lt;/p&gt;
&lt;p&gt;Anyway，有需要 slave name server 服務的人，可以參考這些網站（依照 domain 排序，無優劣之分）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.buddyns.com/" target="_blank"&gt;http://www.buddyns.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dns.he.net/" target="_blank"&gt;http://dns.he.net/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puck.nether.net/dns/" target="_blank"&gt;https://puck.nether.net/dns/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://twisted4life.com/index.php" target="_blank"&gt;http://twisted4life.com/index.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://xname.org/" target="_blank"&gt;http://xname.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/DNS' rel='tag' target='_self'&gt;DNS&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/domain+name' rel='tag' target='_self'&gt;domain name&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/name+server' rel='tag' target='_self'&gt;name server&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/06/30/176/%e7%9c%8b%e4%be%86-domain-keys-%e9%82%84%e5%9c%a8%e6%b8%ac%e8%a9%a6%e9%9a%8e%e6%ae%b5' rel='bookmark' title='看來 Domain Keys 還在測試階段.'&gt;看來 Domain Keys 還在測試階段.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ujs2QAeXr9-UT77XV9KCrfDpES0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ujs2QAeXr9-UT77XV9KCrfDpES0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ujs2QAeXr9-UT77XV9KCrfDpES0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ujs2QAeXr9-UT77XV9KCrfDpES0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2012/03/07/1080/free-slave-name-server-services#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2012/03/07/1080/free-slave-name-server-services/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2012/03/07/1080/free-slave-name-server-services</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[MySQL 的 max key length]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/b9WtlcLwvQg/mysql-%e7%9a%84-max-key-length" />
		<id>http://www.joehorn.idv.tw/?p=1075</id>
		<updated>2012-03-01T17:18:43Z</updated>
		<published>2012-03-01T17:18:42Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Database" /><category scheme="http://www.joehorn.idv.tw" term="MySQL" />		<summary type="html"><![CDATA[我曾試著在 MYISAM 格式的 table 裡，把兩個 VARCHAR(255)，UTF8 編碼的欄位設定成一組 UNIQUE KEY。 當時遇到這個 Error： #1071 - Specified key was too long; max key length is 1000 bytes VARCHAR(255) 代表該欄位可以紀錄 255 個字元，每個字元以 UTF8 encoded 儲存，一個欄位可以佔用 765 bytes，所以兩個欄位總和超過 1000 bytes，無法設為一組 UNIQUE KEY。 前陣子，我把 MySQL 從 5.1 系列升版到 5.5 系列。 在 5.1（含）之前，MySQL 使用 3 個 bytes 紀錄 UTF8 encoded data。 開發團隊在 [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'>[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2008/03/09/281/%e5%9c%a8-mysql-%e4%b8%ad%e8%99%95%e7%90%86%e7%b6%b2%e8%b7%af-ip-%e4%bd%8d%e5%9d%80%e5%9e%8b%e7%9a%84%e8%b3%87%e6%96%99' rel='bookmark' title='在 MySQL 中處理網路 IP 位址型的資料..'>在 MySQL 中處理網路 IP 位址型的資料..</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2009/11/20/705/%e4%b8%80%e4%ba%9b%e5%a2%9e%e9%80%b2-mysql-%e6%95%88%e8%83%bd%e7%9a%84-tips' rel='bookmark' title='一些增進 MySQL 效能的 tips'>一些增進 MySQL 效能的 tips</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length">&lt;p&gt;我曾試著在 &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html" target="_blank"&gt;MYISAM&lt;/a&gt; 格式的 table 裡，把兩個 VARCHAR(255)，UTF8 編碼的欄位設定成一組 UNIQUE KEY。&lt;br /&gt;
當時遇到這個 Error：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;#1071 - Specified key was too long; max key length is 1000 bytes&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;VARCHAR(255) 代表該欄位可以紀錄 255 個字元，每個字元以 UTF8 encoded 儲存，一個欄位可以佔用 765 bytes，所以兩個欄位總和超過 1000 bytes，無法設為一組 UNIQUE KEY。&lt;/p&gt;
&lt;p&gt;前陣子，我把 &lt;a href="http://dev.mysql.com/" target="_blank"&gt;MySQL&lt;/a&gt; 從 5.1 系列升版到 5.5 系列。&lt;br /&gt;
在 5.1（含）之前，&lt;a href="http://dev.mysql.com/" target="_blank"&gt;MySQL&lt;/a&gt; 使用 3 個 bytes 紀錄 UTF8 encoded data。&lt;br /&gt;
開發團隊在 &lt;a href="http://dev.mysql.com/" target="_blank"&gt;MySQL&lt;/a&gt; 5.5.3 加入了 &lt;a href="http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html" target="_blank"&gt;utf8mb4&lt;/a&gt; 編碼，用 4 個 bytes 紀錄 UTF8 encoded data，支援更多的文字。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html" target="_blank"&gt;utf8mb4&lt;/a&gt; 讓我聯想到 max key length 的問題，所以進行了一些小測試，並追了一下 source code。&lt;br /&gt;
從目前的最新版本的 source code 看來：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.0.html" target="_blank"&gt;MySQL 5.0.95&lt;/a&gt; 的 MAX_KEY_LENGTH 依然是 1000 bytes。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.1.html" target="_blank"&gt;MySQL 5.1.61&lt;/a&gt; 的 MAX_KEY_LENGTH 是 3072 bytes。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.5.html" target="_blank"&gt;MySQL 5.5.20&lt;/a&gt; 的 MAX_KEY_LENGTH 是 3072 bytes。&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/MySQL' rel='tag' target='_self'&gt;MySQL&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'&gt;[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/03/09/281/%e5%9c%a8-mysql-%e4%b8%ad%e8%99%95%e7%90%86%e7%b6%b2%e8%b7%af-ip-%e4%bd%8d%e5%9d%80%e5%9e%8b%e7%9a%84%e8%b3%87%e6%96%99' rel='bookmark' title='在 MySQL 中處理網路 IP 位址型的資料..'&gt;在 MySQL 中處理網路 IP 位址型的資料..&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2009/11/20/705/%e4%b8%80%e4%ba%9b%e5%a2%9e%e9%80%b2-mysql-%e6%95%88%e8%83%bd%e7%9a%84-tips' rel='bookmark' title='一些增進 MySQL 效能的 tips'&gt;一些增進 MySQL 效能的 tips&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZBDgfOJgY3R1U4ib8ZONJ-Hops0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZBDgfOJgY3R1U4ib8ZONJ-Hops0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZBDgfOJgY3R1U4ib8ZONJ-Hops0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZBDgfOJgY3R1U4ib8ZONJ-Hops0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2012/03/02/1075/mysql-%e7%9a%84-max-key-length</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[Eclipse with JDK (Java Developement Kit) 7]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/Q8pGdi2_zeo/eclipse-with-jdk-java-developement-kit-7" />
		<id>http://www.joehorn.idv.tw/?p=1052</id>
		<updated>2012-02-07T02:47:22Z</updated>
		<published>2012-02-06T16:20:12Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Computer Software" /><category scheme="http://www.joehorn.idv.tw" term="Eclipse" /><category scheme="http://www.joehorn.idv.tw" term="JAVA" /><category scheme="http://www.joehorn.idv.tw" term="JDK" />		<summary type="html"><![CDATA[這幾天在整理工作用的 laptop 與自己家用的 laptop，順手更新了 Eclipse。 這兩台電腦我都裝了 JRE (Java Runtime Environment) 7 與 JDK (Java Developement Kit) 7，在家裡的網路環境，Eclipse 安裝/更新 plugins 都沒有問題；但在公司的網路環境，卻出現了如下的畫面：
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals' rel='bookmark' title='C# 的 ==、Equals 與 JAVA 的 ==、equals'>C# 的 ==、Equals 與 JAVA 的 ==、equals</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7">&lt;p&gt;這幾天在整理工作用的 laptop 與自己家用的 laptop，順手更新了 &lt;a href="http://www.eclipse.org/" target="_blank"&gt;Eclipse&lt;/a&gt;。&lt;br /&gt;
這兩台電腦我都裝了 JRE (Java Runtime Environment) 7 與 JDK (Java Developement Kit) 7，在家裡的網路環境，&lt;a href="http://www.eclipse.org/" target="_blank"&gt;Eclipse&lt;/a&gt; 安裝/更新 plugins 都沒有問題；但在公司的網路環境，卻出現了如下的畫面：&lt;br /&gt;
&lt;a href="http://img5.www.joehorn.idv.tw/upload/2012/02/Eclipse-problem-with-JDK7.jpg" rel=lightbox" rel="lightbox[1052]"&gt;&lt;img src="http://img5.www.joehorn.idv.tw/upload/2012/02/Eclipse-problem-with-JDK7.jpg" alt="Eclipse problem with JDK7" title="Eclipse problem with JDK7" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;原以為是 Proxy 設定有問題，跳到另外一條線路做直接連線存取，狀況依舊。&lt;br /&gt;
檢查了 Windows 7 的網路防火牆相關設定，也看不出個所以然。&lt;br /&gt;
最後，我在 Google 找了好一陣子，找到解法：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用文字編輯器打開 Eclipse 資料夾裡面的 eclipse.ini 。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;-vmargs&lt;/code&gt; 下面加入 &lt;code&gt;-Djava.net.preferIPv4Stack=true&lt;/code&gt; 。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;改過之後的 eclipse.ini 會像這樣：&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;
...略...
openFile
-vmargs
-Djava.net.preferIPv4Stack=true
-Dosgi.requiredJavaVersion=1.5
...略...
&lt;/pre&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Eclipse' rel='tag' target='_self'&gt;Eclipse&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/JAVA' rel='tag' target='_self'&gt;JAVA&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/JDK' rel='tag' target='_self'&gt;JDK&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals' rel='bookmark' title='C# 的 ==、Equals 與 JAVA 的 ==、equals'&gt;C# 的 ==、Equals 與 JAVA 的 ==、equals&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7dQdR2Y7CAJM1ALOFzL2XkUVc4A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dQdR2Y7CAJM1ALOFzL2XkUVc4A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7dQdR2Y7CAJM1ALOFzL2XkUVc4A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7dQdR2Y7CAJM1ALOFzL2XkUVc4A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[在 Windows 7 連結 Apache HTTPD 的 WebDAV 軟體 - Cyberduck]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/pYZ4_o6x2jQ/%e5%9c%a8-windows-7-%e9%80%a3%e7%b5%90-apache-httpd-%e7%9a%84-webdav-%e8%bb%9f%e9%ab%94-cyberduck" />
		<id>http://www.joehorn.idv.tw/?p=1034</id>
		<updated>2011-12-29T15:30:35Z</updated>
		<published>2011-12-29T15:30:35Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Computer Software" /><category scheme="http://www.joehorn.idv.tw" term="Windows" /><category scheme="http://www.joehorn.idv.tw" term="Apache" /><category scheme="http://www.joehorn.idv.tw" term="Cyberduck" /><category scheme="http://www.joehorn.idv.tw" term="WebDAV" /><category scheme="http://www.joehorn.idv.tw" term="Windows 7" />		<summary type="html"><![CDATA[自從使用 Gallery 架設自己的網路相簿後，我很喜歡透過 WebDAV 上傳圖片檔案。 我可以很容易地在 Windows XP 的網路芳鄰新增 Apache HTTPD 的 WebDAV 存取點，但在 Windows 7 下，我卻一直找不到解法。 我試過這篇網路文章的解決方案： 開啟 regedit，在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 機碼下把 BasicAuthLevel 改為 2，並重新開機。 也安裝了 Microsoft 提供的 Software Update for Web Folders （Web 資料夾的軟體更新；KB907306）。 但問題依然沒有解決。 目前... 我暫時放棄找尋 Windows 7 native WebDAV client 的 solution，改用 Cyberduck 上傳照片到我自己的網路相簿。 有需要的人可以試試。 Technorati Tags: Apache, Cyberduck, WebDAV, Windows 7 [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/04/13/112/windows-%e5%8f%88%e6%9c%89%e6%9b%b4%e6%96%b0%e4%ba%86' rel='bookmark' title='Windows 又有更新了!'>Windows 又有更新了!</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/03/27/86/windows-longhorn-%e7%9a%84%e6%96%b0%e6%b6%88%e6%81%af' rel='bookmark' title='Windows Longhorn 的新消息!'>Windows Longhorn 的新消息!</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/27/191/windows-%e9%97%9c%e6%a9%9f%e5%8a%a0%e9%80%9f%e7%a8%8b%e5%bc%8f' rel='bookmark' title='Windows 關機加速程式.'>Windows 關機加速程式.</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2011/12/29/1034/%e5%9c%a8-windows-7-%e9%80%a3%e7%b5%90-apache-httpd-%e7%9a%84-webdav-%e8%bb%9f%e9%ab%94-cyberduck">&lt;p&gt;自從使用 &lt;a href="http://gallery.menalto.com/" target="_blank"&gt;Gallery&lt;/a&gt; 架設自己的網路相簿後，我很喜歡透過 &lt;a href="http://en.wikipedia.org/wiki/WebDAV" title="Web-based Distributed Authoring and Versioning" target="_blank"&gt;WebDAV&lt;/a&gt; 上傳圖片檔案。&lt;/p&gt;
&lt;p&gt;我可以很容易地在 &lt;a href="http://windows.microsoft.com/zh-TW/windows/products/windows-xp" target="_blank"&gt;Windows XP&lt;/a&gt; 的網路芳鄰新增 &lt;a href="http://httpd.apache.org/" title="Apache HTTP Server" target="_blank"&gt;Apache HTTPD&lt;/a&gt; 的 &lt;a href="http://en.wikipedia.org/wiki/WebDAV" title="Web-based Distributed Authoring and Versioning" target="_blank"&gt;WebDAV&lt;/a&gt; 存取點，但在 &lt;a href="http://windows.microsoft.com/zh-TW/windows7/products/home" target="_blank"&gt;Windows 7&lt;/a&gt; 下，我卻一直找不到解法。&lt;/p&gt;
&lt;p&gt;我試過&lt;a href="http://www.faqforge.com/windows/how-to-allow-webdav-connections-without-https-ssl-in-windows-7/" title="How to allow webdav connections without https / SSL in Windows 7" target="_blank"&gt;這篇網路文章&lt;/a&gt;的解決方案：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;開啟 regedit，在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 機碼下把 BasicAuthLevel 改為 2，並重新開機。&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;也安裝了 Microsoft 提供的 &lt;a href="http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=17c36612-632e-4c04-9382-987622ed1d64&amp;#038;displaylang=zh-tw" target="_blank"&gt;Software Update for Web Folders （Web 資料夾的軟體更新；KB907306）&lt;/a&gt;。&lt;br /&gt;
但問題依然沒有解決。&lt;/p&gt;
&lt;p&gt;目前... 我暫時放棄找尋 &lt;a href="http://windows.microsoft.com/zh-TW/windows7/products/home" target="_blank"&gt;Windows 7&lt;/a&gt; native &lt;a href="http://en.wikipedia.org/wiki/WebDAV" title="Web-based Distributed Authoring and Versioning" target="_blank"&gt;WebDAV&lt;/a&gt; client 的 solution，改用 &lt;a href="http://cyberduck.ch/" target="_blank"&gt;Cyberduck&lt;/a&gt; 上傳照片到我自己的網路相簿。&lt;br /&gt;
有需要的人可以試試。&lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Apache' rel='tag' target='_self'&gt;Apache&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Cyberduck' rel='tag' target='_self'&gt;Cyberduck&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/WebDAV' rel='tag' target='_self'&gt;WebDAV&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Windows+7' rel='tag' target='_self'&gt;Windows 7&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/04/13/112/windows-%e5%8f%88%e6%9c%89%e6%9b%b4%e6%96%b0%e4%ba%86' rel='bookmark' title='Windows 又有更新了!'&gt;Windows 又有更新了!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/03/27/86/windows-longhorn-%e7%9a%84%e6%96%b0%e6%b6%88%e6%81%af' rel='bookmark' title='Windows Longhorn 的新消息!'&gt;Windows Longhorn 的新消息!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/27/191/windows-%e9%97%9c%e6%a9%9f%e5%8a%a0%e9%80%9f%e7%a8%8b%e5%bc%8f' rel='bookmark' title='Windows 關機加速程式.'&gt;Windows 關機加速程式.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vV16GiEtrsySN-JoL0YZaUUuKmw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vV16GiEtrsySN-JoL0YZaUUuKmw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vV16GiEtrsySN-JoL0YZaUUuKmw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vV16GiEtrsySN-JoL0YZaUUuKmw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2011/12/29/1034/%e5%9c%a8-windows-7-%e9%80%a3%e7%b5%90-apache-httpd-%e7%9a%84-webdav-%e8%bb%9f%e9%ab%94-cyberduck#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2011/12/29/1034/%e5%9c%a8-windows-7-%e9%80%a3%e7%b5%90-apache-httpd-%e7%9a%84-webdav-%e8%bb%9f%e9%ab%94-cyberduck/feed/atom" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2011/12/29/1034/%e5%9c%a8-windows-7-%e9%80%a3%e7%b5%90-apache-httpd-%e7%9a%84-webdav-%e8%bb%9f%e9%ab%94-cyberduck</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[Subversion 1.7]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/2K-_lcif-Ck/subversion-1-7" />
		<id>http://www.joehorn.idv.tw/?p=1007</id>
		<updated>2011-10-28T07:52:21Z</updated>
		<published>2011-10-27T17:01:09Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Programing" /><category scheme="http://www.joehorn.idv.tw" term="Subversion" /><category scheme="http://www.joehorn.idv.tw" term="SVN" /><category scheme="http://www.joehorn.idv.tw" term="TortoiseSVN" /><category scheme="http://www.joehorn.idv.tw" term="upgrade" />		<summary type="html"><![CDATA[好一陣子沒寫 Blog 文章了... :oops: 剛好最近在 Subversion 遇到了些問題，就拿這話題來寫一下。 不可否認，Git、Mercurial 這類 DVCS 很棒，但我工作的環境一直用的是 Subversion，所以，我還是丟不下它。 從 server 端看，Subversion 1.6 -> 1.7 可以說是無痛移轉；但從 client 端看，影響不可謂不大。 首先，最大的差異是 metadata 的目錄與檔案結構變更（就是 .svn 目錄裡面的東西）。 下面這張圖是 Subversion 1.6.x 的 metadata 結構： 下面這張則是 1.7 的： 而這兩個版本的 working copy 無法相容。 舉例來說，當 TortoiseSVN 1.7.x 遇到原本使用 TortoiseSVN 1.6.x 維護的 working copy，軟體會要求 user 做轉換/升級；而 TortoiseSVN 1.6.x 無法解析轉換/升級後的 working copy。 [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2007/07/06/247/svn-%e7%9a%84%e6%87%89%e7%94%a8%e8%88%87%e6%99%82%e5%8d%80%e8%a8%ad%e5%ae%9a%e7%9a%84%e7%96%91%e5%95%8f' rel='bookmark' title='SVN 的應用與時區設定的疑問'>SVN 的應用與時區設定的疑問</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/03/27/86/windows-longhorn-%e7%9a%84%e6%96%b0%e6%b6%88%e6%81%af' rel='bookmark' title='Windows Longhorn 的新消息!'>Windows Longhorn 的新消息!</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/12/28/209/freebsd-ports-%e8%a3%a1%e7%9a%84-apache-22-%e5%95%9f%e5%8b%95-shell-script-%e7%9a%84%e5%95%8f%e9%a1%8c' rel='bookmark' title='FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題'>FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2011/10/28/1007/subversion-1-7">&lt;p&gt;好一陣子沒寫 Blog 文章了... :oops:&lt;br /&gt;
剛好最近在 &lt;a href="http://subversion.apache.org/" title="Subversion" target="_blank"&gt;Subversion&lt;/a&gt; 遇到了些問題，就拿這話題來寫一下。&lt;br /&gt;
不可否認，&lt;a href="http://git-scm.com/" title="Git" target="_blank"&gt;Git&lt;/a&gt;、&lt;a href="http://mercurial.selenic.com/" title="Mercurial" target="_blank"&gt;Mercurial&lt;/a&gt; 這類 &lt;a href="http://en.wikipedia.org/wiki/Distributed_Version_Control_System" title="Distributed Version Control System" target="_blank"&gt;DVCS&lt;/a&gt; 很棒，但我工作的環境一直用的是 &lt;a href="http://subversion.apache.org/" title="Subversion" target="_blank"&gt;Subversion&lt;/a&gt;，所以，我還是丟不下它。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_tongue.png' alt=':-P' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;從 server 端看，&lt;a href="http://subversion.apache.org/" title="Subversion" target="_blank"&gt;Subversion&lt;/a&gt; 1.6 -&gt; 1.7 可以說是無痛移轉；但從 client 端看，影響不可謂不大。&lt;/p&gt;
&lt;p&gt;首先，最大的差異是 metadata 的目錄與檔案結構變更（就是 .svn 目錄裡面的東西）。&lt;br /&gt;
下面這張圖是 &lt;a href="http://subversion.apache.org/" title="Subversion" target="_blank"&gt;Subversion&lt;/a&gt; 1.6.x 的 metadata 結構：&lt;br /&gt;
&lt;a href="http://img5.www.joehorn.idv.tw/upload/2011/10/svn-1.6-metadata.jpg" rel="lightbox[1007]"&gt;&lt;img src="http://img5.www.joehorn.idv.tw/upload/2011/10/svn-1.6-metadata.jpg" alt="Subversion 1.6 metadata structure" title="Subversion 1.6 metadata structure" width="335" height="142" /&gt;&lt;/a&gt;&lt;br /&gt;
下面這張則是 1.7 的：&lt;br /&gt;
&lt;a href="http://img3.www.joehorn.idv.tw/upload/2011/10/svn-1.7-metadata.jpg" rel="lightbox[1007]"&gt;&lt;img src="http://img3.www.joehorn.idv.tw/upload/2011/10/svn-1.7-metadata.jpg" alt="Subversion 1.6 metadata structure" title="Subversion 1.7 metadata structure" width="339" height="109" /&gt;&lt;/a&gt;&lt;br /&gt;
而這兩個版本的 working copy 無法相容。&lt;br /&gt;
舉例來說，當 &lt;a href="http://tortoisesvn.tigris.org/" title="TortoiseSVN" target="_blank"&gt;TortoiseSVN&lt;/a&gt; 1.7.x 遇到原本使用 &lt;a href="http://tortoisesvn.tigris.org/" title="TortoiseSVN" target="_blank"&gt;TortoiseSVN&lt;/a&gt; 1.6.x 維護的 working copy，軟體會要求 user 做轉換/升級；而 &lt;a href="http://tortoisesvn.tigris.org/" title="TortoiseSVN" target="_blank"&gt;TortoiseSVN&lt;/a&gt; 1.6.x 無法解析轉換/升級後的 working copy。&lt;br /&gt;
（在 *NIX 系統裡，轉換/升級的指令是 svn upgrade ）&lt;br /&gt;
另外，在 1.7 以前的結構，若是 working copy 存在著子目錄，每個子目錄下都會被放置 metadata（都會有 .svn 目錄）；轉換/升級（至 1.7 ）之後，metadata 只會被存放在 working copy 的根目錄下。&lt;br /&gt;
根據 &lt;a href="http://subversion.apache.org/docs/release-notes/1.7.html" title="Subversion 1.7 Release Note" target="_blank"&gt;release notes&lt;/a&gt; 的說法，這種儲存方式佔用的磁碟空間會比較小。但就我看來，只有在 working copy 的容量大到一定程度時，這種儲存方式才會佔用比較小的儲存容量，反之則否。另一方面，我沒有進行測試，但我相信對 client 而言（尤其是 Windows-based client），這種儲存方式會提昇 working copy 的存取速度。&lt;/p&gt;
&lt;p&gt;其次，client 端多了個 svnrdump 可以用。&lt;br /&gt;
以往我們只能在 server 端作的 svnadmin dump 與 svnadmin load，如今在 working copy 也可以做 svnrdump dump 與 svnrdump load 。&lt;/p&gt;
&lt;p&gt;除了這兩個（我覺得）比較大的變動，其他如 svn patch、svn relocate 等等的指令，也被引入了。&lt;br /&gt;
有興趣的可以看看 &lt;a href="http://subversion.apache.org/docs/release-notes/1.7.html" title="Subversion 1.7 Release Note" target="_blank"&gt;release notes&lt;/a&gt;。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_cool.png' alt='8-)' class='wp-smiley' /&gt; &lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Subversion' rel='tag' target='_self'&gt;Subversion&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/SVN' rel='tag' target='_self'&gt;SVN&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/TortoiseSVN' rel='tag' target='_self'&gt;TortoiseSVN&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/upgrade' rel='tag' target='_self'&gt;upgrade&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2007/07/06/247/svn-%e7%9a%84%e6%87%89%e7%94%a8%e8%88%87%e6%99%82%e5%8d%80%e8%a8%ad%e5%ae%9a%e7%9a%84%e7%96%91%e5%95%8f' rel='bookmark' title='SVN 的應用與時區設定的疑問'&gt;SVN 的應用與時區設定的疑問&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/03/27/86/windows-longhorn-%e7%9a%84%e6%96%b0%e6%b6%88%e6%81%af' rel='bookmark' title='Windows Longhorn 的新消息!'&gt;Windows Longhorn 的新消息!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/12/28/209/freebsd-ports-%e8%a3%a1%e7%9a%84-apache-22-%e5%95%9f%e5%8b%95-shell-script-%e7%9a%84%e5%95%8f%e9%a1%8c' rel='bookmark' title='FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題'&gt;FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0IxhIwyBEZwDkT-jYrZ0CkcQsfY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0IxhIwyBEZwDkT-jYrZ0CkcQsfY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0IxhIwyBEZwDkT-jYrZ0CkcQsfY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0IxhIwyBEZwDkT-jYrZ0CkcQsfY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2011/10/28/1007/subversion-1-7#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2011/10/28/1007/subversion-1-7/feed/atom" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2011/10/28/1007/subversion-1-7</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[有感]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/RwXgi9z10p0/%e6%9c%89%e6%84%9f" />
		<id>http://www.joehorn.idv.tw/?p=976</id>
		<updated>2011-04-11T06:48:22Z</updated>
		<published>2011-04-10T19:20:57Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="Thoughts" />		<summary type="html"><![CDATA[這幾年，經歷、耳聞了一些事，觀察周遭的人，感觸良多。 先說一下事情： 我弟弟攻讀碩士，即將畢業時，跟我說他們班上一個女性同學，在即將口試前，得到台北的一份工作 offer，也答應畢業後就要任職。那份工作的 title 是行政助理，月薪 29k。 我的一個研究所同學，原本在資訊業。不到一年前，跳到旅館業，擔任 door keeper。看似工作很開心，但卻對薪資不滿意。 另一個研究所同學，在聚餐時說他不喜歡寫程式。但是他又期望能在他們部門，早日取得主管的頭銜。 女性友人與我談論她的感情，問些看法、想法，甚至是對身邊的男生頗有微詞。 針對 1 ，當時，我與我弟討論到的是... 那間公司、甚至那個產業，會不會認定某某學校的碩士，薪資水準就只是落在那個範圍？ 雖然是「職業不分貴賤」、「行行出狀元」，但擔任行政助理這回事，讓我覺得攻讀碩士的成本（學費、時間）是白花了。 早點投入職場，獲得的成就會更多。 再加上第 2 件事來看... 我相信有許多人在選擇大學科系，決定是否要攻讀碩、博士之前，根本沒先想清楚自己想要從事什麼行業，真正有興趣的是什麼。 我認為... 這種懵懂無知是很嚴重的錯誤。 我相信... 若對自己從事的工作內容感興趣，那份源於自身的熱情會昇華成熱忱，帶出責任感，並提昇自己的抗壓性；久而久之，在職場上獲得的成就也應該會比較高。 相反地，若因為覺得工作內容乏味，一味的抱怨，覺得容易疲累，甚至是推諉、逃避，只會降低主管、同事對自己的信賴程度。 這兩種情況，像是滾雪球，也像是社會經濟的 M 型化一樣：富者恆富，窮者恆窮。 第 3 點跟 1、2 很類似，也是沒想清楚自己要的是什麼。 但第 3 點所提到那位同學忽略了一些事。 資訊的世界，不是 TRUE ，就是 FALSE，只有 0 與 1；擔任主管，就要處理人的問題，人的世界存在許多灰色地帶，沒有絕對的是非黑白。 擔任基層員工，你只需要對主管負責，你的競爭者只是同部門的同事；擔任企業經營者，你要對員工、股東負責，競爭者有一大票，還包含現有的與未來的新進。 綜觀以上 3 點，加上第 4 點，就是這篇文章的總結： 人貴知足，知足才能常樂、惜福。 作決定前，多作觀察，多作思考，並不是所有的路都可以讓人走錯再回頭；即使能回頭，也是浪費了自己的時間，自己的本錢。 抱怨無法解決問題，解鈴還須繫鈴人。 身邊的人、未來的路，都是自己選的，人要勇於承擔責任、承受現在與未來的狀況；各人造業各人擔。 [...]
No related posts.]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2011/04/11/976/%e6%9c%89%e6%84%9f">&lt;p&gt;這幾年，經歷、耳聞了一些事，觀察周遭的人，感觸良多。&lt;/p&gt;
&lt;p&gt;先說一下事情：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;我弟弟攻讀碩士，即將畢業時，跟我說他們班上一個女性同學，在即將口試前，得到台北的一份工作 offer，也答應畢業後就要任職。那份工作的 title 是行政助理，月薪 29k。&lt;/li&gt;
&lt;li&gt;我的一個研究所同學，原本在資訊業。不到一年前，跳到旅館業，擔任 door keeper。看似工作很開心，但卻對薪資不滿意。&lt;/li&gt;
&lt;li&gt;另一個研究所同學，在聚餐時說他不喜歡寫程式。但是他又期望能在他們部門，早日取得主管的頭銜。&lt;/li&gt;
&lt;li&gt;女性友人與我談論她的感情，問些看法、想法，甚至是對身邊的男生頗有微詞。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;針對 1 ，當時，我與我弟討論到的是...&lt;br /&gt;
那間公司、甚至那個產業，會不會認定某某學校的碩士，薪資水準就只是落在那個範圍？&lt;br /&gt;
雖然是「職業不分貴賤」、「行行出狀元」，但擔任行政助理這回事，讓我覺得攻讀碩士的成本（學費、時間）是白花了。&lt;br /&gt;
早點投入職場，獲得的成就會更多。&lt;/p&gt;
&lt;p&gt;再加上第 2 件事來看...&lt;br /&gt;
我相信有許多人在選擇大學科系，決定是否要攻讀碩、博士之前，根本沒先想清楚自己想要從事什麼行業，真正有興趣的是什麼。&lt;br /&gt;
我認為... 這種懵懂無知是很嚴重的錯誤。&lt;br /&gt;
我相信... 若對自己從事的工作內容感興趣，那份源於自身的熱情會昇華成熱忱，帶出責任感，並提昇自己的抗壓性；久而久之，在職場上獲得的成就也應該會比較高。&lt;br /&gt;
相反地，若因為覺得工作內容乏味，一味的抱怨，覺得容易疲累，甚至是推諉、逃避，只會降低主管、同事對自己的信賴程度。&lt;br /&gt;
這兩種情況，像是滾雪球，也像是社會經濟的 M 型化一樣：富者恆富，窮者恆窮。&lt;/p&gt;
&lt;p&gt;第 3 點跟 1、2 很類似，也是沒想清楚自己要的是什麼。&lt;br /&gt;
但第 3 點所提到那位同學忽略了一些事。&lt;br /&gt;
資訊的世界，不是 TRUE ，就是 FALSE，只有 0 與 1；擔任主管，就要處理人的問題，人的世界存在許多灰色地帶，沒有絕對的是非黑白。&lt;br /&gt;
擔任基層員工，你只需要對主管負責，你的競爭者只是同部門的同事；擔任企業經營者，你要對員工、股東負責，競爭者有一大票，還包含現有的與未來的新進。&lt;/p&gt;
&lt;p&gt;綜觀以上 3 點，加上第 4 點，就是這篇文章的總結：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;人貴知足，知足才能常樂、惜福。&lt;/li&gt;
&lt;li&gt;作決定前，多作觀察，多作思考，並不是所有的路都可以讓人走錯再回頭；即使能回頭，也是浪費了自己的時間，自己的本錢。&lt;/li&gt;
&lt;li&gt;抱怨無法解決問題，解鈴還須繫鈴人。&lt;/li&gt;
&lt;li&gt;身邊的人、未來的路，都是自己選的，人要勇於承擔責任、承受現在與未來的狀況；各人造業各人擔。&lt;/li&gt;
&lt;li&gt;人在作，天在看，別人也在看。&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qzHypwuA9-a7HAfMyvfnUsktCuI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qzHypwuA9-a7HAfMyvfnUsktCuI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qzHypwuA9-a7HAfMyvfnUsktCuI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qzHypwuA9-a7HAfMyvfnUsktCuI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2011/04/11/976/%e6%9c%89%e6%84%9f#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2011/04/11/976/%e6%9c%89%e6%84%9f/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2011/04/11/976/%e6%9c%89%e6%84%9f</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[是可忍，孰不可忍？]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/61s4Vk_eaoM/%e6%98%af%e5%8f%af%e5%bf%8d%ef%bc%8c%e5%ad%b0%e4%b8%8d%e5%8f%af%e5%bf%8d%ef%bc%9f" />
		<id>http://www.joehorn.idv.tw/?p=966</id>
		<updated>2010-12-20T14:41:26Z</updated>
		<published>2010-12-18T15:41:01Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="itmaster" /><category scheme="http://www.joehorn.idv.tw" term="jackcal" />		<summary type="html"><![CDATA[幾天前，有個熱心的網友寄信通知我，說我在 2005 年貼的 解決檔案無法刪除的軟體 - Unlocker ，圖片跟部份文章內容被盜用。 到該頁面看，還真不知道該怎麼說... 我寄信通知對方，請對方處理... 對方有回信，不過我對他目前提出來的作法不甚滿意... 附註： 有人有興趣的話，可以拿去比照 盜圖者，剛剛賠了我十一萬 的方式處理，獲益歸他。 話說，我還發現了這串有趣的資訊。盜圖、文者似乎是新竹某公司的人？ Technorati Tags: itmaster, jackcal Related posts: Live 8 ! LEGO Ferrari F1 Racer 1:8 完工 [VB.Net] 將 DataSet 匯出成 CSV 檔
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2008/01/21/275/lego-ferrari-f1-racer-18-%e5%ae%8c%e5%b7%a5' rel='bookmark' title='LEGO Ferrari F1 Racer 1:8 完工'>LEGO Ferrari F1 Racer 1:8 完工</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'>[VB.Net] 將 DataSet 匯出成 CSV 檔</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/12/18/966/%e6%98%af%e5%8f%af%e5%bf%8d%ef%bc%8c%e5%ad%b0%e4%b8%8d%e5%8f%af%e5%bf%8d%ef%bc%9f">&lt;p&gt;幾天前，有個熱心的網友寄信通知我，說我在 2005 年貼的 &lt;a href="http://www.joehorn.idv.tw/archives/2005/08/14/192/" target="blank"&gt;解決檔案無法刪除的軟體 - Unlocker&lt;/a&gt; ，圖片跟部份文章內容被盜用。&lt;br /&gt;
到&lt;a href="http://www.itmaster.tw/?p=7332" rel="nofollow"&gt;該頁面&lt;/a&gt;看，還真不知道該怎麼說...&lt;br /&gt;
&lt;a href="http://img6.www.joehorn.idv.tw/upload/2010/12/www_itmaster_tw__p7332.jpg" rel="lightbox"&gt;&lt;img src="http://img6.www.joehorn.idv.tw/upload/2010/12/www_itmaster_tw__p7332.jpg" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
我寄信通知對方，請對方處理...&lt;br /&gt;
對方有回信，不過我對他目前提出來的作法不甚滿意...&lt;br /&gt;
&lt;a href="http://img4.www.joehorn.idv.tw/upload/2010/12/mail_with_jackcal.jpg" rel="lightbox"&gt;&lt;img src="http://img4.www.joehorn.idv.tw/upload/2010/12/mail_with_jackcal.jpg" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;附註：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;有人有興趣的話，可以拿去比照 &lt;a href="http://phyllischan.blogspot.com/2010/09/blog-post_17.html"&gt;盜圖者，剛剛賠了我十一萬&lt;/a&gt; 的方式處理，獲益歸他。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_XD.gif' alt='XD' class='wp-smiley' /&gt; &lt;/li&gt;
&lt;li&gt;話說，我還發現了這串有趣的資訊。盜圖、文者似乎是新竹某公司的人？
&lt;pre class="brush: plain; title: ; notranslate"&gt;Domain Name: itmaster.tw

   Contact:
      jackcal
      jackcal@e-tobe.com

   Record expires on 2011-07-18 (YYYY-MM-DD)
   Record created on 2008-07-18 (YYYY-MM-DD)

Registration Service Provider: TISNET&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/itmaster' rel='tag' target='_self'&gt;itmaster&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/jackcal' rel='tag' target='_self'&gt;jackcal&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/01/21/275/lego-ferrari-f1-racer-18-%e5%ae%8c%e5%b7%a5' rel='bookmark' title='LEGO Ferrari F1 Racer 1:8 完工'&gt;LEGO Ferrari F1 Racer 1:8 完工&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'&gt;[VB.Net] 將 DataSet 匯出成 CSV 檔&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1AHa9d5KCfSGhCPPJtFC25XMzvQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1AHa9d5KCfSGhCPPJtFC25XMzvQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1AHa9d5KCfSGhCPPJtFC25XMzvQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1AHa9d5KCfSGhCPPJtFC25XMzvQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/12/18/966/%e6%98%af%e5%8f%af%e5%bf%8d%ef%bc%8c%e5%ad%b0%e4%b8%8d%e5%8f%af%e5%bf%8d%ef%bc%9f#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/12/18/966/%e6%98%af%e5%8f%af%e5%bf%8d%ef%bc%8c%e5%ad%b0%e4%b8%8d%e5%8f%af%e5%bf%8d%ef%bc%9f/feed/atom" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/12/18/966/%e6%98%af%e5%8f%af%e5%bf%8d%ef%bc%8c%e5%ad%b0%e4%b8%8d%e5%8f%af%e5%bf%8d%ef%bc%9f</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[[PHP] BC Math 的妙用]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/pkf30HhBAes/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8" />
		<id>http://www.joehorn.idv.tw/?p=962</id>
		<updated>2010-11-19T19:31:31Z</updated>
		<published>2010-11-19T14:39:12Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="JSON" /><category scheme="http://www.joehorn.idv.tw" term="MC Math" />		<summary type="html"><![CDATA[最近用 PHP 開發某個 service 介面，來貼個心得。 這個 service 介面允許呼叫者使用 HTTP POST 欄位與 JSON 兩種方式傳進變數，處理儲存在 MySQL 資料庫裡面的資料，並以 JSON 作為輸出資料的格式。 為了避免被鑽漏洞，以及排除錯誤的資料，這個系統必須檢查每一個傳進來的參數是否正確。 但某些資料表的 ROW_ID 是 unsigned BIGINT，我必須另外考慮 32-bit 與 64-bit 平台的差異。 因為 PHP 的 intval 有這段說明： The maximum value depends on the system. 32 bit systems have a maximum signed integer range of -2147483648 to 2147483647. So for example [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8' rel='bookmark' title='PHP 的內建常數'>PHP 的內建常數</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'>[VB.Net] 將 DataSet 匯出成 CSV 檔</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8">&lt;p&gt;最近用 &lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 開發某個 service 介面，來貼個心得。&lt;/p&gt;
&lt;p&gt;這個 service 介面允許呼叫者使用 &lt;a href="http://en.wikipedia.org/wiki/POST_%28HTTP%29" target="_blank"&gt;HTTP POST&lt;/a&gt; 欄位與 &lt;a href="http://en.wikipedia.org/wiki/JSON" target="_blank"&gt;JSON&lt;/a&gt; 兩種方式傳進變數，處理儲存在 &lt;a href="http://dev.mysql.com" target="_blank"&gt;MySQL&lt;/a&gt; 資料庫裡面的資料，並以 &lt;a href="http://en.wikipedia.org/wiki/JSON" target="_blank"&gt;JSON&lt;/a&gt; 作為輸出資料的格式。&lt;/p&gt;
&lt;p&gt;為了避免被鑽漏洞，以及排除錯誤的資料，這個系統必須檢查每一個傳進來的參數是否正確。&lt;br /&gt;
但某些資料表的 ROW_ID 是 unsigned BIGINT，我必須另外考慮 32-bit 與 64-bit 平台的差異。&lt;/p&gt;
&lt;p&gt;因為 &lt;a href="http://php.net/intval" target="_blank"&gt;PHP 的 intval&lt;/a&gt; 有這段說明：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The maximum value depends on the system. 32 bit systems have a maximum signed integer range of -2147483648 to 2147483647. So for example on such a system, intval('1000000000000') will return 2147483647. The maximum signed integer value for 64 bit systems is 9223372036854775807.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;所以，&lt;a href="http://php.net/intval" target="_blank"&gt;PHP 的 intval&lt;/a&gt; 是不能用的。&lt;/p&gt;
&lt;p&gt;於是，我就動起了 &lt;a href="http://php.net/manual/en/book.bc.php"&gt;BC Math&lt;/a&gt; 的歪腦筋。&lt;br /&gt;
由於 SQL statement 是字串，我不需要顧慮變數型態，可以直接把原本檢查 ROW_ID 的這段 code：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
$Id = intval( $Input['id'] );
if ( empty($Id) ) {
	// Output error message
	exit();
}
&lt;/pre&gt;
&lt;p&gt;改成這樣：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
$Id = bcadd( &amp;quot;{$Input['id']}&amp;quot;, &amp;quot;0&amp;quot; );
if ( empty($Id) ) {
	// Output error message
	exit();
}
&lt;/pre&gt;
&lt;p&gt;PS 1. 傳入負值不用管，因為 ROW_ID 已經 unsigned 了，不會有影響。&lt;br /&gt;
PS 2. ROW_ID 的輸出也可以不用管，因為 query 出來的資料型態都是 string。&lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/JSON' rel='tag' target='_self'&gt;JSON&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/MC+Math' rel='tag' target='_self'&gt;MC Math&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8' rel='bookmark' title='PHP 的內建常數'&gt;PHP 的內建常數&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'&gt;[VB.Net] 將 DataSet 匯出成 CSV 檔&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tXRQpqZxz8XLRHbC9_HfnScTVGM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tXRQpqZxz8XLRHbC9_HfnScTVGM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tXRQpqZxz8XLRHbC9_HfnScTVGM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tXRQpqZxz8XLRHbC9_HfnScTVGM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[當搭載 GPS 的相機遇上 Google Picasa]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/F3GMRTCbicI/%e7%95%b6%e6%90%ad%e8%bc%89-gps-%e7%9a%84%e7%9b%b8%e6%a9%9f%e9%81%87%e4%b8%8a-google-picasa" />
		<id>http://www.joehorn.idv.tw/?p=893</id>
		<updated>2010-11-15T14:46:43Z</updated>
		<published>2010-11-07T06:36:46Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="Google Maps" /><category scheme="http://www.joehorn.idv.tw" term="Google Picasa" /><category scheme="http://www.joehorn.idv.tw" term="GPS" /><category scheme="http://www.joehorn.idv.tw" term="Panasonic" /><category scheme="http://www.joehorn.idv.tw" term="ZS7" />		<summary type="html"><![CDATA[前一陣子入手了 Panasonic ZS7，一直到昨天出遊，拍了不少照片，才真正體驗搭載 GPS 的旅遊相機的好處。 如下面這些螢幕擷圖，Google Picasa 完美地整合了 Google Maps，在右邊的區塊中標示出拍照的地點。 若是選擇了相片的資料夾，則會把所有的地圖標記都顯示出來： 新社蓮園： 新社花海： 惠來谷關溫泉會館： 台中茹絲葵： Technorati Tags: Google Maps, Google Picasa, GPS, Panasonic, ZS7 Related posts: Google 的免費圖片管理軟體 - Picasa ! Google Reader 怪怪的？ Live 8 !
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/09/21/199/google-%e7%9a%84%e5%85%8d%e8%b2%bb%e5%9c%96%e7%89%87%e7%ae%a1%e7%90%86%e8%bb%9f%e9%ab%94-picasa' rel='bookmark' title='Google 的免費圖片管理軟體 - Picasa !'>Google 的免費圖片管理軟體 - Picasa !</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2008/07/12/291/google-reader-%e6%80%aa%e6%80%aa%e7%9a%84%ef%bc%9f' rel='bookmark' title='Google Reader 怪怪的？'>Google Reader 怪怪的？</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/11/07/893/%e7%95%b6%e6%90%ad%e8%bc%89-gps-%e7%9a%84%e7%9b%b8%e6%a9%9f%e9%81%87%e4%b8%8a-google-picasa">&lt;p&gt;前一陣子入手了 &lt;a href="http://pmst.panasonic.com.tw/frontend/product/PSPCcontent.aspx?id=1195" target="_blank"&gt;Panasonic ZS7&lt;/a&gt;，一直到昨天出遊，拍了不少照片，才真正體驗搭載 GPS 的旅遊相機的好處。&lt;/p&gt;
&lt;p&gt;如下面這些螢幕擷圖，&lt;a href="http://picasa.google.com/" target="_blank"&gt;Google Picasa&lt;/a&gt; 完美地整合了 &lt;a href="http://maps.google.com/" target="_blank"&gt;Google Maps&lt;/a&gt;，在右邊的區塊中標示出拍照的地點。&lt;/p&gt;
&lt;p&gt;若是選擇了相片的資料夾，則會把所有的地圖標記都顯示出來：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-1.jpg" title="Picasa + Panasonic ZS7 GPS-1" rel="lightbox"&gt;&lt;img src="http://img9.www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-1.jpg" alt="Picasa + Panasonic ZS7 GPS-1" title="Picasa + Panasonic ZS7 GPS-1" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;新社蓮園：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-2.jpg" title="Picasa + Panasonic ZS7 GPS-2" rel="lightbox"&gt;&lt;img src="http://img5.www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-2.jpg" alt="Picasa + Panasonic ZS7 GPS-2" title="Picasa + Panasonic ZS7 GPS-2" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;新社花海：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-3.jpg" title="Picasa + Panasonic ZS7 GPS-3" rel="lightbox"&gt;&lt;img src="http://img5.www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-3.jpg" alt="Picasa + Panasonic ZS7 GPS-3" title="Picasa + Panasonic ZS7 GPS-3" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;惠來谷關溫泉會館：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-4.jpg" title="Picasa + Panasonic ZS7 GPS-4" rel="lightbox"&gt;&lt;img src="http://img5.www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-4.jpg" alt="Picasa + Panasonic ZS7 GPS-4" title="Picasa + Panasonic ZS7 GPS-4" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;台中茹絲葵：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-5.jpg" title="Picasa + Panasonic ZS7 GPS-5" rel="lightbox"&gt;&lt;img src="http://img1.www.joehorn.idv.tw/upload/2010/11/Picasa-+-Panasonic-ZS7-GPS-5.jpg" alt="Picasa + Panasonic ZS7 GPS-5" title="Picasa + Panasonic ZS7 GPS-5" width="400" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Google+Maps' rel='tag' target='_self'&gt;Google Maps&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Google+Picasa' rel='tag' target='_self'&gt;Google Picasa&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/GPS' rel='tag' target='_self'&gt;GPS&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Panasonic' rel='tag' target='_self'&gt;Panasonic&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/ZS7' rel='tag' target='_self'&gt;ZS7&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/09/21/199/google-%e7%9a%84%e5%85%8d%e8%b2%bb%e5%9c%96%e7%89%87%e7%ae%a1%e7%90%86%e8%bb%9f%e9%ab%94-picasa' rel='bookmark' title='Google 的免費圖片管理軟體 - Picasa !'&gt;Google 的免費圖片管理軟體 - Picasa !&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/07/12/291/google-reader-%e6%80%aa%e6%80%aa%e7%9a%84%ef%bc%9f' rel='bookmark' title='Google Reader 怪怪的？'&gt;Google Reader 怪怪的？&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YzTwDJ2KqcPANJmyxdcOnOR1Wh8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YzTwDJ2KqcPANJmyxdcOnOR1Wh8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YzTwDJ2KqcPANJmyxdcOnOR1Wh8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YzTwDJ2KqcPANJmyxdcOnOR1Wh8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/11/07/893/%e7%95%b6%e6%90%ad%e8%bc%89-gps-%e7%9a%84%e7%9b%b8%e6%a9%9f%e9%81%87%e4%b8%8a-google-picasa#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/11/07/893/%e7%95%b6%e6%90%ad%e8%bc%89-gps-%e7%9a%84%e7%9b%b8%e6%a9%9f%e9%81%87%e4%b8%8a-google-picasa/feed/atom" thr:count="5" />
		<thr:total>5</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/11/07/893/%e7%95%b6%e6%90%ad%e8%bc%89-gps-%e7%9a%84%e7%9b%b8%e6%a9%9f%e9%81%87%e4%b8%8a-google-picasa</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[灰色顏料]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/hpO39w_geZw/%e7%81%b0%e8%89%b2%e9%a1%8f%e6%96%99" />
		<id>http://www.joehorn.idv.tw/?p=889</id>
		<updated>2010-10-29T14:30:43Z</updated>
		<published>2010-10-29T14:30:43Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="Thoughts" /><category scheme="http://www.joehorn.idv.tw" term="Feeling" />		<summary type="html"><![CDATA[從大學時期開始，因為外宿的關係， 我開始全權經手自己的生活起居。 由於每個月都是父母供應固定的生活費， 我脫離了以往「吃飯不知米價」的生活。 我不是生在富貴人家，所以我開始壓抑自己的慾望。 我發現... 我會習慣地... 壓抑自己的慾望與衝動。 我會理性地... 思考自己的需要與風險。 漸漸地，身為人類應有的感性，在我體內的含量愈來愈少... 於是，就如同事說的.. 我的是非黑白太過分明。 我不知道... 這樣是好，還是壞？ 我只知道... 過與不及，都不是好事。 誰能給我一些灰色顏料呢？ 我覺得我很需要它。 Technorati Tags: Feeling Related posts: Live 8 !
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/10/29/889/%e7%81%b0%e8%89%b2%e9%a1%8f%e6%96%99">&lt;p&gt;從大學時期開始，因為外宿的關係，&lt;br /&gt;
我開始全權經手自己的生活起居。&lt;/p&gt;
&lt;p&gt;由於每個月都是父母供應固定的生活費，&lt;br /&gt;
我脫離了以往「吃飯不知米價」的生活。&lt;/p&gt;
&lt;p&gt;我不是生在富貴人家，所以我開始壓抑自己的慾望。&lt;/p&gt;
&lt;p&gt;我發現...&lt;br /&gt;
我會習慣地... 壓抑自己的慾望與衝動。&lt;br /&gt;
我會理性地... 思考自己的需要與風險。&lt;br /&gt;
漸漸地，身為人類應有的感性，在我體內的含量愈來愈少...&lt;/p&gt;
&lt;p&gt;於是，就如同事說的..&lt;br /&gt;
我的是非黑白太過分明。&lt;/p&gt;
&lt;p&gt;我不知道... 這樣是好，還是壞？&lt;br /&gt;
我只知道... 過與不及，都不是好事。&lt;/p&gt;
&lt;p&gt;誰能給我一些灰色顏料呢？&lt;br /&gt;
我覺得我很需要它。&lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Feeling' rel='tag' target='_self'&gt;Feeling&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JeqsOPSX5ggfSmsngxETzjjDCGY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JeqsOPSX5ggfSmsngxETzjjDCGY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JeqsOPSX5ggfSmsngxETzjjDCGY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JeqsOPSX5ggfSmsngxETzjjDCGY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/10/29/889/%e7%81%b0%e8%89%b2%e9%a1%8f%e6%96%99#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/10/29/889/%e7%81%b0%e8%89%b2%e9%a1%8f%e6%96%99/feed/atom" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/10/29/889/%e7%81%b0%e8%89%b2%e9%a1%8f%e6%96%99</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[時常轉寄信件，散播資訊的人請注意]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/DtFYHsrUPrg/%e6%99%82%e5%b8%b8%e8%bd%89%e5%af%84%e4%bf%a1%e4%bb%b6%ef%bc%8c%e6%95%a3%e6%92%ad%e8%b3%87%e8%a8%8a%e7%9a%84%e4%ba%ba%e8%ab%8b%e6%b3%a8%e6%84%8f" />
		<id>http://www.joehorn.idv.tw/?p=878</id>
		<updated>2010-11-15T14:46:50Z</updated>
		<published>2010-10-26T15:35:02Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="Mail" /><category scheme="http://www.joehorn.idv.tw" term="Bcc" /><category scheme="http://www.joehorn.idv.tw" term="E-mail" /><category scheme="http://www.joehorn.idv.tw" term="Forward" />		<summary type="html"><![CDATA[這兩個月收到了兩封人家轉發（轉寄）訊息的信件，都是讓我不愉快的。 既然不愉快，我也不覺得我應該客氣，直接來看看這兩封信吧（點圖放大）。 第一封： 第二封： 轉寄信件，協助傳遞訊息固然是好意。 但是... 直接把親朋好友的 E-mail 位址放在收件人，卻是（讓我認為）非常愚蠢的作法。 麻煩那些時常轉寄信件，散播資訊的人注意一下。 轉寄這類的信件，請把親朋好友的 E-mail 位址放在密件副本（Bcc）裡面吧。 PS. 如果我要把 E-mail 位址賣給廣告信件發送者，一個 E-mail 位址算兩塊錢的話，這兩封信件可以讓我的口袋增加個五百塊左右吧？！ Technorati Tags: Bcc, E-mail, Forward, Mail Related posts: Live 8 !
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/10/26/878/%e6%99%82%e5%b8%b8%e8%bd%89%e5%af%84%e4%bf%a1%e4%bb%b6%ef%bc%8c%e6%95%a3%e6%92%ad%e8%b3%87%e8%a8%8a%e7%9a%84%e4%ba%ba%e8%ab%8b%e6%b3%a8%e6%84%8f">&lt;p&gt;這兩個月收到了兩封人家轉發（轉寄）訊息的信件，都是讓我不愉快的。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_angry.png' alt='(怒)' class='wp-smiley' /&gt;&lt;br /&gt;
既然不愉快，我也不覺得我應該客氣，直接來看看這兩封信吧（點圖放大）。&lt;/p&gt;
&lt;p&gt;第一封：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/10/FwdMail-Jovian.jpg" title="FwdMail-Jovian" rel="lightbox"&gt;&lt;img src="http://img1.www.joehorn.idv.tw/upload/2010/10/FwdMail-Jovian.jpg" alt="FwdMail-Jovian" title="FwdMail-Jovian" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;第二封：&lt;br /&gt;
&lt;a href="http://www.joehorn.idv.tw/upload/2010/10/FwdMail-Sophia.jpg" title="FwdMail-Sophia" rel="lightbox"&gt;&lt;img src="http://img0.www.joehorn.idv.tw/upload/2010/10/FwdMail-Sophia.jpg" alt="FwdMail-Sophia" title="FwdMail-Sophia" width="350" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;轉寄信件，協助傳遞訊息固然是好意。&lt;br /&gt;
但是... &lt;font color="red" size="3"&gt;&lt;strong&gt;直接把親朋好友的 E-mail 位址放在收件人，卻是（讓我認為）非常愚蠢的作法。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;麻煩那些時常轉寄信件，散播資訊的人注意一下。&lt;br /&gt;
轉寄這類的信件，&lt;font color="red" size="3"&gt;&lt;strong&gt;請把親朋好友的 E-mail 位址放在密件副本（Bcc）裡面吧。&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;PS. 如果我要把 E-mail 位址賣給廣告信件發送者，一個 E-mail 位址算兩塊錢的話，這兩封信件可以讓我的口袋增加個五百塊左右吧？！  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_cool.png' alt='8-)' class='wp-smiley' /&gt;  &lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Bcc' rel='tag' target='_self'&gt;Bcc&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/E-mail' rel='tag' target='_self'&gt;E-mail&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Forward' rel='tag' target='_self'&gt;Forward&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Mail' rel='tag' target='_self'&gt;Mail&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/09CX_iiQEQJgg2ROEO_xO5BmSHY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/09CX_iiQEQJgg2ROEO_xO5BmSHY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/09CX_iiQEQJgg2ROEO_xO5BmSHY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/09CX_iiQEQJgg2ROEO_xO5BmSHY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/10/26/878/%e6%99%82%e5%b8%b8%e8%bd%89%e5%af%84%e4%bf%a1%e4%bb%b6%ef%bc%8c%e6%95%a3%e6%92%ad%e8%b3%87%e8%a8%8a%e7%9a%84%e4%ba%ba%e8%ab%8b%e6%b3%a8%e6%84%8f#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/10/26/878/%e6%99%82%e5%b8%b8%e8%bd%89%e5%af%84%e4%bf%a1%e4%bb%b6%ef%bc%8c%e6%95%a3%e6%92%ad%e8%b3%87%e8%a8%8a%e7%9a%84%e4%ba%ba%e8%ab%8b%e6%b3%a8%e6%84%8f/feed/atom" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/10/26/878/%e6%99%82%e5%b8%b8%e8%bd%89%e5%af%84%e4%bf%a1%e4%bb%b6%ef%bc%8c%e6%95%a3%e6%92%ad%e8%b3%87%e8%a8%8a%e7%9a%84%e4%ba%ba%e8%ab%8b%e6%b3%a8%e6%84%8f</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[PHP 讓人詬病的系統安全性]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/5H7jpmmVaPI/php-%e8%ae%93%e4%ba%ba%e8%a9%ac%e7%97%85%e7%9a%84%e7%b3%bb%e7%b5%b1%e5%ae%89%e5%85%a8%e6%80%a7" />
		<id>http://www.joehorn.idv.tw/?p=858</id>
		<updated>2010-09-10T07:09:39Z</updated>
		<published>2010-09-08T15:45:55Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="Thoughts" /><category scheme="http://www.joehorn.idv.tw" term="Autoloading classes" /><category scheme="http://www.joehorn.idv.tw" term="auto_prepend_file" /><category scheme="http://www.joehorn.idv.tw" term="Database" /><category scheme="http://www.joehorn.idv.tw" term="include" /><category scheme="http://www.joehorn.idv.tw" term="include_once" /><category scheme="http://www.joehorn.idv.tw" term="include_path" /><category scheme="http://www.joehorn.idv.tw" term="require" /><category scheme="http://www.joehorn.idv.tw" term="require_once" /><category scheme="http://www.joehorn.idv.tw" term="security" />		<summary type="html"><![CDATA[這篇討論的不是 PHP Web 的安全相關議題，而是 Web server 管理者應該考量的系統安全議題。XSS、SQL injection 屬於前者，防禦的對象是網頁的瀏覽者；而這篇討論的防禦對象是經常被忽略的 PHP 網頁系統開發人員。 很多人都知道，PHP 屬直譯語言。因為不需要編譯，所以程式碼幾乎可以說是裸露的；除非用 ionCube PHP Encoder 這類的產品作加密，否則，開發人員只要有程式檔案的存取權，就可以看到程式碼。 現今，幾乎所有的 PHP 網頁系統都使用了後端資料庫，而資料庫存取的設定也都是寫在 PHP 程式碼裡面，類似以下這樣： 再透過 require()、require_once()、incluce()、include_once() 等設定檔引入。 如果這個設定檔的路徑沒有在 include_path 系統變數中，引入的方法大概會是這樣： 這樣的系統意味著，有心的程式開發人員可以透過以下這一行程式，輕易取得資料庫存取設定： 若是 /SOME/WHERE 被放入 include_path 系統變數，程式開發人員可以透過以下的程式碼引入資料庫存取設定： 雖然以下的程式碼已經無法取出資料庫存取設定： 但遇到以下這種程式碼依然是破功： 即使設定 auto_prepend_file（之前的文章有提過），或是採用 Autoloading classes，這種問題依然存在。 根本的解決方法就是用 ionCube PHP Encoder 這類的產品作加密，或是用 C 語言撰寫 PHP extension。 很無奈.. 但卻是一針見效。 Technorati Tags: Autoloading classes, [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2009/12/10/718/%e8%bc%95%e9%ac%86%e8%a8%ad%e5%ae%9a-php-%e7%9a%84%e5%b0%88%e6%a1%88%e8%ae%8a%e6%95%b8' rel='bookmark' title='輕鬆設定 PHP 的專案變數'>輕鬆設定 PHP 的專案變數</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/09/08/858/php-%e8%ae%93%e4%ba%ba%e8%a9%ac%e7%97%85%e7%9a%84%e7%b3%bb%e7%b5%b1%e5%ae%89%e5%85%a8%e6%80%a7">&lt;p&gt;這篇討論的不是 &lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; Web 的安全相關議題，而是 Web server 管理者應該考量的系統安全議題。&lt;a href="http://en.wikipedia.org/wiki/Cross-site_scripting" title="Cross-site scripting" target="_blank"&gt;XSS&lt;/a&gt;、&lt;a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank"&gt;SQL injection&lt;/a&gt; 屬於前者，防禦的對象是網頁的瀏覽者；而這篇討論的防禦對象是經常被忽略的 &lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; 網頁系統開發人員。&lt;/p&gt;
&lt;p&gt;很多人都知道，&lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; 屬直譯語言。因為不需要編譯，所以程式碼幾乎可以說是裸露的；除非用 ionCube PHP Encoder 這類的產品作加密，否則，開發人員只要有程式檔案的存取權，就可以看到程式碼。&lt;br /&gt;
現今，幾乎所有的 &lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; 網頁系統都使用了後端資料庫，而資料庫存取的設定也都是寫在 &lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; 程式碼裡面，類似以下這樣：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
define( 'DB_SERVER' ,		'localhost' );
define( 'DB_SERVER_USERNAME' ,	'db_username' );
define( 'DB_SERVER_PASSWORD' ,	'db_password' );
define( 'DB_DATABASE' ,		'db_name' );
&lt;/pre&gt;
&lt;p&gt;再透過 &lt;a href="http://www.php.net/require"&gt;require()&lt;/a&gt;、&lt;a href="http://www.php.net/require_once"&gt;require_once()&lt;/a&gt;、&lt;a href="http://www.php.net/manual/en/function.include.php"&gt;incluce()&lt;/a&gt;、&lt;a href="http://tw2.php.net/manual/en/function.include-once.php"&gt;include_once()&lt;/a&gt; 等設定檔引入。&lt;br /&gt;
如果這個設定檔的路徑沒有在 include_path 系統變數中，引入的方法大概會是這樣：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
require_once( '/SOME/WHERE/DB_SETTING.php' );
&lt;/pre&gt;
&lt;p&gt;這樣的系統意味著，有心的程式開發人員可以透過以下這一行程式，輕易取得資料庫存取設定：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
echo file_get_contents( '/SOME/WHERE/DB_SETTING.php' );
&lt;/pre&gt;
&lt;p&gt;若是 /SOME/WHERE 被放入 include_path 系統變數，程式開發人員可以透過以下的程式碼引入資料庫存取設定：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
require_once( 'DB_SETTING.php' );
&lt;/pre&gt;
&lt;p&gt;雖然以下的程式碼已經無法取出資料庫存取設定：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
echo file_get_contents( 'DB_SETTING.php' );
&lt;/pre&gt;
&lt;p&gt;但遇到以下這種程式碼依然是破功：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
$paths = explode( ':' , ini_get( 'include_path' ) );

foreach ( $paths as $path ) {
  $file_str = $path . DIRECTORY_SEPARATOR . 'DB_SETTING.php';

  if ( file_exists( $file_str ) ) {
    echo file_get_contents( $file_str );
  }
}
&lt;/pre&gt;
&lt;p&gt;即使設定 auto_prepend_file（&lt;a href="http://www.joehorn.idv.tw/archives/2009/12/10/718/" title="輕鬆設定 PHP 的專案變數" target="_blank"&gt;之前的文章&lt;/a&gt;有提過），或是採用 &lt;a href="http://php.net/manual/en/language.oop5.autoload.php" target="_blank"&gt;Autoloading classes&lt;/a&gt;，這種問題依然存在。&lt;/p&gt;
&lt;p&gt;根本的解決方法就是用 ionCube PHP Encoder 這類的產品作加密，或是用 C 語言撰寫 PHP extension。&lt;br /&gt;
很無奈.. 但卻是一針見效。   &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_tongue.png' alt=':-P' class='wp-smiley' /&gt; &lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Autoloading+classes' rel='tag' target='_self'&gt;Autoloading classes&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/auto_prepend_file' rel='tag' target='_self'&gt;auto_prepend_file&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Database' rel='tag' target='_self'&gt;Database&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/include' rel='tag' target='_self'&gt;include&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/include_once' rel='tag' target='_self'&gt;include_once&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/include_path' rel='tag' target='_self'&gt;include_path&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/require' rel='tag' target='_self'&gt;require&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/require_once' rel='tag' target='_self'&gt;require_once&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/security' rel='tag' target='_self'&gt;security&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2009/12/10/718/%e8%bc%95%e9%ac%86%e8%a8%ad%e5%ae%9a-php-%e7%9a%84%e5%b0%88%e6%a1%88%e8%ae%8a%e6%95%b8' rel='bookmark' title='輕鬆設定 PHP 的專案變數'&gt;輕鬆設定 PHP 的專案變數&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_8wVjeon1tW7aLcHRV1LCGOnf_w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8wVjeon1tW7aLcHRV1LCGOnf_w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_8wVjeon1tW7aLcHRV1LCGOnf_w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_8wVjeon1tW7aLcHRV1LCGOnf_w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/09/08/858/php-%e8%ae%93%e4%ba%ba%e8%a9%ac%e7%97%85%e7%9a%84%e7%b3%bb%e7%b5%b1%e5%ae%89%e5%85%a8%e6%80%a7#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/09/08/858/php-%e8%ae%93%e4%ba%ba%e8%a9%ac%e7%97%85%e7%9a%84%e7%b3%bb%e7%b5%b1%e5%ae%89%e5%85%a8%e6%80%a7/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/09/08/858/php-%e8%ae%93%e4%ba%ba%e8%a9%ac%e7%97%85%e7%9a%84%e7%b3%bb%e7%b5%b1%e5%ae%89%e5%85%a8%e6%80%a7</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[PHP 的 mysqlnd（MySQL Native Driver）]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/N6E8q67b9YQ/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89" />
		<id>http://www.joehorn.idv.tw/?p=851</id>
		<updated>2010-08-25T18:16:46Z</updated>
		<published>2010-08-25T14:56:57Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Database" /><category scheme="http://www.joehorn.idv.tw" term="FreeBSD" /><category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="MySQL" /><category scheme="http://www.joehorn.idv.tw" term="mysqlnd" />		<summary type="html"><![CDATA[PHP 自 5.3.0 開始，引入 mysqlnd 這個 extension。 在 5.3.0 的 Full ChangeLog 中可以看到這行： Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli and PDO_mysql. (Andrey, Johannes, Ulf) 依照個人的過往經驗，native driver 的效能都會比較好，而 mysqlnd 也不例外（有興趣的可以看看這篇文章）。 比較可惜的是，mysqlnd 在 Windows 平台的 PHP 是預設套件；在 *NIX 平台，使用前必須在編譯前就先做好設定（configure；參數可參考 PHP 官方的mysqlnd 安裝文件）。 剛才，很高興看到 FreeBSD 的 PHP5 ports 加入了 option，讓我們可以輕鬆搞定。 Technorati Tags: FreeBSD, MySQL, [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5' rel='bookmark' title='在 FreeBSD 用 ports 安裝 MySQL 5.5'>在 FreeBSD 用 ports 安裝 MySQL 5.5</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'>[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2008/09/03/304/freebsd-i386-%e8%88%87-amd64-platform-%e7%9a%84%e5%b7%ae%e7%95%b0' rel='bookmark' title='FreeBSD i386 與 amd64 platform 的差異'>FreeBSD i386 與 amd64 platform 的差異</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89">&lt;p&gt;&lt;a href="http://php.net/" target="_blank"&gt;PHP&lt;/a&gt; 自 5.3.0 開始，引入 &lt;a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/" target="_blank"&gt;mysqlnd&lt;/a&gt; 這個 extension。&lt;br /&gt;
在 &lt;a href="http://www.php.net/ChangeLog-5.php#5.3.0" target="_blank"&gt;5.3.0 的 Full ChangeLog&lt;/a&gt; 中可以看到這行：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Added mysqlnd extension as replacement for libmysql for ext/mysql, mysqli and PDO_mysql. (Andrey, Johannes, Ulf)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;依照個人的過往經驗，native driver 的效能都會比較好，而 &lt;a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/" target="_blank"&gt;mysqlnd&lt;/a&gt; 也不例外（有興趣的可以看看&lt;a href="http://blog.ulf-wendel.de/?p=136" title="How fast is mysqlnd-5.0.0-alpha?" target="_blank"&gt;這篇文章&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;比較可惜的是，&lt;a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/" target="_blank"&gt;mysqlnd&lt;/a&gt; 在 Windows 平台的 &lt;a href="http://php.net/" target="_blank"&gt;PHP&lt;/a&gt; 是預設套件；在 *NIX 平台，使用前必須在編譯前就先做好設定（configure；參數可參考 &lt;a href="http://tw2.php.net/manual/en/mysqlnd.install.php" target="_blank"&gt;PHP 官方的mysqlnd 安裝文件&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;剛才，很高興看到 &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; 的 &lt;a href="http://www.freshports.org/lang/php5/"&gt;PHP5 ports&lt;/a&gt; 加入了 option，讓我們可以輕鬆搞定。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_cool.png' alt='8-)' class='wp-smiley' /&gt; &lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/FreeBSD' rel='tag' target='_self'&gt;FreeBSD&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/MySQL' rel='tag' target='_self'&gt;MySQL&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/mysqlnd' rel='tag' target='_self'&gt;mysqlnd&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2012/03/13/1084/%e5%9c%a8-freebsd-%e7%94%a8-ports-%e5%ae%89%e8%a3%9d-mysql-5-5' rel='bookmark' title='在 FreeBSD 用 ports 安裝 MySQL 5.5'&gt;在 FreeBSD 用 ports 安裝 MySQL 5.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'&gt;[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/09/03/304/freebsd-i386-%e8%88%87-amd64-platform-%e7%9a%84%e5%b7%ae%e7%95%b0' rel='bookmark' title='FreeBSD i386 與 amd64 platform 的差異'&gt;FreeBSD i386 與 amd64 platform 的差異&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dJIx29sPX08ygWnA2UWxx_-T5pY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dJIx29sPX08ygWnA2UWxx_-T5pY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dJIx29sPX08ygWnA2UWxx_-T5pY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dJIx29sPX08ygWnA2UWxx_-T5pY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/08/25/851/php-%e7%9a%84-mysqlnd%ef%bc%88mysql-native-driver%ef%bc%89</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[別再瀏覽「看看誰把你從 MSN 聯繫名單中刪除了」這種網站了]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/JvSB9j6UcwE/%e5%88%a5%e5%86%8d%e7%80%8f%e8%a6%bd%e3%80%8c%e7%9c%8b%e7%9c%8b%e8%aa%b0%e6%8a%8a%e4%bd%a0%e5%be%9e-msn-%e8%81%af%e7%b9%ab%e5%90%8d%e5%96%ae%e4%b8%ad%e5%88%aa%e9%99%a4%e4%ba%86%e3%80%8d%e9%80%99" />
		<id>http://www.joehorn.idv.tw/?p=846</id>
		<updated>2010-08-12T18:06:30Z</updated>
		<published>2010-08-12T17:55:18Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Life" /><category scheme="http://www.joehorn.idv.tw" term="Thoughts" /><category scheme="http://www.joehorn.idv.tw" term="MSN" /><category scheme="http://www.joehorn.idv.tw" term="security" /><category scheme="http://www.joehorn.idv.tw" term="Windows Live Messenger" /><category scheme="http://www.joehorn.idv.tw" term="WLM" />		<summary type="html"><![CDATA[剛剛在 WLM（原稱 MSN）收到這種訊息： ###### 說： 看看誰把妳從他的MSN聯繫名單中刪除了。 http://www.#######chat.info?mid=13868233133262797975 心血來潮上來貼這篇文章。 這種訊息應該不少人都收過，這種網站也應該有很多人看過。 我無法理解的是，當一個陌生的網站要你輸入你在其他網站或軟體的帳號密碼時，你怎麼能安心的輸入？ 你能保證這個網站不會紀錄你輸入的密碼，用你的帳號密碼為非作歹？ 這樣還不懂的話，我舉個生活化一點的例子： 陌生人：「我能幫你查你在XX證券開立的帳戶裡目前總值是多少哦！」 網站標題：「我能幫你查看看有誰把你從 MSN 聯繫名單中刪除了哦！」 你：好啊好啊！我想知道！怎麼查？ 陌生人：只要給我你的帳戶的帳號跟密碼，我就可以幫你查。 網站內容：「請輸入你的帳號跟密碼，我就可以幫你查！」 假如真的有陌生人這麼跟你說，你會給他帳號跟密碼嗎？ 醒醒吧！ 如果你已經把帳號密碼送給某個（或是某些）網站的話，就... 快點變更密碼吧。 如果你收到朋友傳送類似的訊息，或是怪怪的網站給你的話，請回訊給對方，提醒對方變更密碼，甚至是檢查電腦是否中毒。 Technorati Tags: MSN, security, Windows Live Messenger, WLM Related posts: Windows 又有更新了! Live 8 !
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2005/04/13/112/windows-%e5%8f%88%e6%9c%89%e6%9b%b4%e6%96%b0%e4%ba%86' rel='bookmark' title='Windows 又有更新了!'>Windows 又有更新了!</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/08/13/846/%e5%88%a5%e5%86%8d%e7%80%8f%e8%a6%bd%e3%80%8c%e7%9c%8b%e7%9c%8b%e8%aa%b0%e6%8a%8a%e4%bd%a0%e5%be%9e-msn-%e8%81%af%e7%b9%ab%e5%90%8d%e5%96%ae%e4%b8%ad%e5%88%aa%e9%99%a4%e4%ba%86%e3%80%8d%e9%80%99">&lt;p&gt;剛剛在 &lt;a href="http://messenger.live.com" title="Windows Live Messenger" target="_blank"&gt;WLM&lt;/a&gt;（原稱 MSN）收到這種訊息：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;###### 說：&lt;br /&gt;
看看誰把妳從他的MSN聯繫名單中刪除了。&lt;/p&gt;
&lt;p&gt;http://www.#######chat.info?mid=13868233133262797975&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;心血來潮上來貼這篇文章。&lt;/p&gt;
&lt;p&gt;這種訊息應該不少人都收過，這種網站也應該有很多人看過。&lt;br /&gt;
我無法理解的是，當一個陌生的網站要你輸入你在其他網站或軟體的帳號密碼時，你怎麼能安心的輸入？&lt;br /&gt;
你能保證這個網站不會紀錄你輸入的密碼，用你的帳號密碼為非作歹？&lt;/p&gt;
&lt;p&gt;這樣還不懂的話，我舉個生活化一點的例子：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;陌生人：「我能幫你查你在XX證券開立的帳戶裡目前總值是多少哦！」&lt;br /&gt;
&lt;font color="red"&gt;網站標題：「我能幫你查看看有誰把你從 MSN 聯繫名單中刪除了哦！」&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;你：好啊好啊！我想知道！怎麼查？&lt;br /&gt;
陌生人：只要給我你的帳戶的帳號跟密碼，我就可以幫你查。&lt;br /&gt;
&lt;font color="red"&gt;網站內容：「請輸入你的帳號跟密碼，我就可以幫你查！」&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;假如真的有陌生人這麼跟你說，你會給他帳號跟密碼嗎？&lt;br /&gt;
醒醒吧！ &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_sweat.jpg' alt='=_=b' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;如果你已經把帳號密碼送給某個（或是某些）網站的話，就... 快點變更密碼吧。&lt;br /&gt;
如果你收到朋友傳送類似的訊息，或是怪怪的網站給你的話，請回訊給對方，提醒對方變更密碼，甚至是檢查電腦是否中毒。&lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/MSN' rel='tag' target='_self'&gt;MSN&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/security' rel='tag' target='_self'&gt;security&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Windows+Live+Messenger' rel='tag' target='_self'&gt;Windows Live Messenger&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/WLM' rel='tag' target='_self'&gt;WLM&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/04/13/112/windows-%e5%8f%88%e6%9c%89%e6%9b%b4%e6%96%b0%e4%ba%86' rel='bookmark' title='Windows 又有更新了!'&gt;Windows 又有更新了!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IoVXJxsq7Ugipa4hfIpWeuenano/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IoVXJxsq7Ugipa4hfIpWeuenano/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IoVXJxsq7Ugipa4hfIpWeuenano/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IoVXJxsq7Ugipa4hfIpWeuenano/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/08/13/846/%e5%88%a5%e5%86%8d%e7%80%8f%e8%a6%bd%e3%80%8c%e7%9c%8b%e7%9c%8b%e8%aa%b0%e6%8a%8a%e4%bd%a0%e5%be%9e-msn-%e8%81%af%e7%b9%ab%e5%90%8d%e5%96%ae%e4%b8%ad%e5%88%aa%e9%99%a4%e4%ba%86%e3%80%8d%e9%80%99#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/08/13/846/%e5%88%a5%e5%86%8d%e7%80%8f%e8%a6%bd%e3%80%8c%e7%9c%8b%e7%9c%8b%e8%aa%b0%e6%8a%8a%e4%bd%a0%e5%be%9e-msn-%e8%81%af%e7%b9%ab%e5%90%8d%e5%96%ae%e4%b8%ad%e5%88%aa%e9%99%a4%e4%ba%86%e3%80%8d%e9%80%99/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/08/13/846/%e5%88%a5%e5%86%8d%e7%80%8f%e8%a6%bd%e3%80%8c%e7%9c%8b%e7%9c%8b%e8%aa%b0%e6%8a%8a%e4%bd%a0%e5%be%9e-msn-%e8%81%af%e7%b9%ab%e5%90%8d%e5%96%ae%e4%b8%ad%e5%88%aa%e9%99%a4%e4%ba%86%e3%80%8d%e9%80%99</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[[PHP] 試玩 MongoDB 的資料關聯]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/gjoLr45---s/php-%e8%a9%a6%e7%8e%a9-mongodb-%e7%9a%84%e8%b3%87%e6%96%99%e9%97%9c%e8%81%af" />
		<id>http://www.joehorn.idv.tw/?p=840</id>
		<updated>2011-06-22T02:35:10Z</updated>
		<published>2010-08-08T10:57:21Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="Database" /><category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="MongoDB" /><category scheme="http://www.joehorn.idv.tw" term="Object" /><category scheme="http://www.joehorn.idv.tw" term="ODBMS" />		<summary type="html"><![CDATA[發現 MongoDB 是好一陣子前的事，而我也在某台機器上把它裝起來。 之前玩的時候，發現 MongoDB 不須帳號與密碼就可以連接，而且也無法配置使用者權限，所以把它丟在旁邊。 前幾天，我在網路上看到網友詢問 MongoDB 有沒有辦法作 JOIN，而他得到的答案是否定的。 趁著今天在家閒閒沒事作，書也看完幾個段落，就透過 PHP 來試試這種 ODBMS 如何實作資料關聯。 MongoDB 與常見的資料庫（例如：MySQL）有些微的不同： 資料庫 資料表 MongoDB 稱之為 Database（DB） Collection MySQL 稱之為 Database（DB） Table 先把這個觀念講清楚，底下的範例程式碼才不會看得霧煞煞。 首先，先建立 DB 與 Collection： MongoDB 沒有 createDB 這種指令。只要選擇資料庫，建立 Collection 之後，系統就會自動產生 DB。 指令列模式下，選擇資料庫的指令跟 MySQL 相同（USE DB_NAME）。 再來，存入性別資料： 以往我們儲存在 Table 的 data row 會有個 id 值，方便我們建立關聯。MongoDB 這種資料庫則是在 Collection 裡面放物件，可以不需要 [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2008/01/13/268/%e5%9c%a8-mysql-%e4%b8%ad%e8%99%95%e7%90%86%e6%99%82%e9%96%93%e8%b3%87%e6%96%99' rel='bookmark' title='在 MySQL 中處理時間資料'>在 MySQL 中處理時間資料</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2009/05/29/609/%e7%b6%b2%e9%a0%81%e7%b3%bb%e7%b5%b1%e7%9a%84%e4%bd%bf%e7%94%a8%e8%80%85%e9%a9%97%e8%ad%89%e8%88%87-mysql-%e7%9a%84-select-limit-mn' rel='bookmark' title='網頁系統的使用者驗證與 MySQL 的 &quot;SELECT ... LIMIT m,n&quot;'>網頁系統的使用者驗證與 MySQL 的 "SELECT ... LIMIT m,n"</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2007/01/31/240/%e8%a9%ad%e7%95%b0%e7%9a%84-mytop' rel='bookmark' title='詭異的 mytop ...'>詭異的 mytop ...</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/08/08/840/php-%e8%a9%a6%e7%8e%a9-mongodb-%e7%9a%84%e8%b3%87%e6%96%99%e9%97%9c%e8%81%af">&lt;p&gt;發現 &lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 是好一陣子前的事，而我也在某台機器上把它裝起來。&lt;br /&gt;
之前玩的時候，發現 &lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 不須帳號與密碼就可以連接，而且也無法配置使用者權限，所以把它丟在旁邊。&lt;/p&gt;
&lt;p&gt;前幾天，我在網路上看到網友詢問 &lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 有沒有辦法作 JOIN，而他得到的答案是否定的。&lt;br /&gt;
趁著今天在家閒閒沒事作，書也看完幾個段落，就透過 &lt;a href="http://www.php.net" target="_blank"&gt;PHP&lt;/a&gt; 來試試這種 &lt;a href="http://en.wikipedia.org/wiki/ODBMS" title="Object database" target="_blank"&gt;ODBMS&lt;/a&gt; 如何實作資料關聯。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 與常見的資料庫（例如：&lt;a href="http://dev.mysql.com/ target="_blank""&gt;MySQL&lt;/a&gt;）有些微的不同：&lt;/p&gt;
&lt;table border="1"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;資料庫&lt;/td&gt;
&lt;td&gt;資料表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 稱之為&lt;/td&gt;
&lt;td&gt;Database（DB）&lt;/td&gt;
&lt;td&gt;&lt;font color="red"&gt;Collection&lt;/font&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="http://dev.mysql.com/ target="_blank""&gt;MySQL&lt;/a&gt; 稱之為&lt;/td&gt;
&lt;td&gt;Database（DB）&lt;/td&gt;
&lt;td&gt;Table&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;先把這個觀念講清楚，底下的範例程式碼才不會看得霧煞煞。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_cool.png' alt='8-)' class='wp-smiley' /&gt; &lt;/p&gt;
&lt;p&gt;首先，先建立 DB 與 Collection：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
// 連接 MongoDB
$m = new Mongo();

// 連接資料庫，名稱就是 test
$testDB = $m-&amp;gt;selectDB( 'test' );

// 建立 Collection，名稱分別是 user 與 sex
$testDB-&amp;gt;createCollection( 'user' );
$testDB-&amp;gt;createCollection( 'sex' );
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 沒有 createDB 這種指令。只要選擇資料庫，建立 Collection 之後，系統就會自動產生 DB。&lt;/li&gt;
&lt;li&gt;指令列模式下，選擇資料庫的指令跟 &lt;a href="http://dev.mysql.com/ target="_blank""&gt;MySQL&lt;/a&gt; 相同（USE DB_NAME）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;再來，存入性別資料：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
// 連接 MongoDB
$m = new Mongo();

// 連接資料庫，名稱就是 test
$testDB = $m-&amp;gt;selectDB( 'test' );

// 在 sex 這個 Collection 裡面放入資料，好讓程式分辨男性與女性
$testDB-&amp;gt;sex-&amp;gt;insert( array('sex_name' =&amp;gt; 'Female') );
$testDB-&amp;gt;sex-&amp;gt;insert( array('sex_name' =&amp;gt; 'Male') );

// 把 sex 這個 Collection 的資料倒出來看
$cursor = $testDB-&amp;gt;sex-&amp;gt;find();
$array = iterator_to_array($cursor);
var_dump($array);
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;以往我們儲存在 Table 的 data row 會有個 id 值，方便我們建立關聯。&lt;a href="http://www.mongodb.org/" target="_blank"&gt;MongoDB&lt;/a&gt; 這種資料庫則是在 Collection 裡面放物件，可以不需要 id 值。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;開始存入使用者名稱，並紀錄他（她）們的性別：&lt;/p&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;
// 連接 MongoDB
$m = new Mongo();

// 連接資料庫，名稱就是 test
$testDB = $m-&amp;gt;selectDB( 'test' );

// 找出男性資料，並取得關聯值
$male = $testDB-&amp;gt;sex-&amp;gt;findOne( array('sex_name' =&amp;gt; 'Male') );
$refMale = $testDB-&amp;gt;sex-&amp;gt;createDBRef( $male );

// 找出女性資料，並取得關聯值
$female = $testDB-&amp;gt;sex-&amp;gt;findOne( array('sex_name' =&amp;gt; 'Female') );
$refFemale = $testDB-&amp;gt;sex-&amp;gt;createDBRef( $female );

// 存入使用者資料
$testDB-&amp;gt;user-&amp;gt;insert( array('name' =&amp;gt; 'BoyName', 'sex' =&amp;gt; $refMale) );
$testDB-&amp;gt;user-&amp;gt;insert( array('name' =&amp;gt; 'GirlName', 'sex' =&amp;gt; $refFemale) );

// 取出並顯示使用者資料
$cursor = $testDB-&amp;gt;user-&amp;gt;find();
$array = iterator_to_array($cursor);
foreach ( $array as $user ) {
        // 找出性別的關聯物件
        $sexRef = $testDB-&amp;gt;user-&amp;gt;getDBRef($user['sex']);
        echo &amp;quot;Name: {$user['name']}\tSex: {$sexRef['sex_name']}\n&amp;quot;;
}
&lt;/pre&gt;
&lt;p&gt;以上，簡單的試玩心得。  &lt;img src='http://www.joehorn.idv.tw/wp-includes/images/smilies/my_embarrassed.png' alt='(羞)' class='wp-smiley' /&gt; &lt;/p&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Database' rel='tag' target='_self'&gt;Database&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/MongoDB' rel='tag' target='_self'&gt;MongoDB&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/Object' rel='tag' target='_self'&gt;Object&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/ODBMS' rel='tag' target='_self'&gt;ODBMS&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2008/01/13/268/%e5%9c%a8-mysql-%e4%b8%ad%e8%99%95%e7%90%86%e6%99%82%e9%96%93%e8%b3%87%e6%96%99' rel='bookmark' title='在 MySQL 中處理時間資料'&gt;在 MySQL 中處理時間資料&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2009/05/29/609/%e7%b6%b2%e9%a0%81%e7%b3%bb%e7%b5%b1%e7%9a%84%e4%bd%bf%e7%94%a8%e8%80%85%e9%a9%97%e8%ad%89%e8%88%87-mysql-%e7%9a%84-select-limit-mn' rel='bookmark' title='網頁系統的使用者驗證與 MySQL 的 &amp;quot;SELECT ... LIMIT m,n&amp;quot;'&gt;網頁系統的使用者驗證與 MySQL 的 "SELECT ... LIMIT m,n"&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2007/01/31/240/%e8%a9%ad%e7%95%b0%e7%9a%84-mytop' rel='bookmark' title='詭異的 mytop ...'&gt;詭異的 mytop ...&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZUIZTdMLDSX4Ppb1SYd50y-JxmE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZUIZTdMLDSX4Ppb1SYd50y-JxmE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZUIZTdMLDSX4Ppb1SYd50y-JxmE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZUIZTdMLDSX4Ppb1SYd50y-JxmE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/08/08/840/php-%e8%a9%a6%e7%8e%a9-mongodb-%e7%9a%84%e8%b3%87%e6%96%99%e9%97%9c%e8%81%af#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/08/08/840/php-%e8%a9%a6%e7%8e%a9-mongodb-%e7%9a%84%e8%b3%87%e6%96%99%e9%97%9c%e8%81%af/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/08/08/840/php-%e8%a9%a6%e7%8e%a9-mongodb-%e7%9a%84%e8%b3%87%e6%96%99%e9%97%9c%e8%81%af</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[PHP 的內建常數]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/kNREjyQGoRo/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8" />
		<id>http://www.joehorn.idv.tw/?p=829</id>
		<updated>2010-07-14T16:13:34Z</updated>
		<published>2010-07-14T13:00:39Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="constant" />		<summary type="html"><![CDATA[昨晚在 PTT 的 PHP 板回了一篇文章，提到 PHP 的內建常數；現在來分享一下，順便作個紀錄，方便日後查詢。 PHP 有不少實用的內建常數，方便我們寫程式時直接呼叫。 有興趣研究的人，可以看看這個網頁，或是用 get_defined_constants() 把內建常數全部倒進陣列，再用 var_dump() 或 print_r() 顯示。 下表列出一些我覺得常用的內建常數，範例值來自 64 位元版本的 FreeBSD ports 安裝之 PHP 5.3.2： 常數名稱 常數型態 範例值或說明 可用版本 PHP_VERSION string "5.3.2" 無限制 PHP_MAJOR_VERSION integer 5 5.2.7+ PHP_MINOR_VERSION integer 3 5.2.7+ PHP_RELEASE_VERSION integer 2 5.2.7+ PHP_EXTRA_VERSION string "" 5.2.7+ PHP_OS string "FreeBSD" 無限制 PHP_PREFIX string "/usr/local" [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'>[VB.Net] 將 DataSet 匯出成 CSV 檔</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/02/16/20/portupgrade' rel='bookmark' title='portupgrade'>portupgrade</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8' rel='bookmark' title='[PHP] BC Math 的妙用'>[PHP] BC Math 的妙用</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8">&lt;p&gt;昨晚在 &lt;a href="telnet://ptt.cc"&gt;PTT&lt;/a&gt; 的 PHP 板回了一篇文章，提到 &lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 的內建常數；現在來分享一下，順便作個紀錄，方便日後查詢。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 有不少實用的內建常數，方便我們寫程式時直接呼叫。&lt;br /&gt;
有興趣研究的人，可以看看&lt;a href="http://php.net/manual/en/reserved.constants.php" title="PHP: Predefined Constants - Manual" target="_blank"&gt;這個網頁&lt;/a&gt;，或是用 &lt;a href="http://php.net/get_defined_constants" target="_blank"&gt;get_defined_constants()&lt;/a&gt; 把內建常數全部倒進陣列，再用 &lt;a href="http://php.net/var_dump" target="_blank"&gt;var_dump()&lt;/a&gt; 或 &lt;a href="http://php.net/print_r" target="_blank"&gt;print_r()&lt;/a&gt; 顯示。&lt;/p&gt;
&lt;p&gt;下表列出一些我覺得常用的內建常數，範例值來自 64 位元版本的 &lt;a href="http://www.freebsd.org" target="_blank"&gt;FreeBSD&lt;/a&gt; ports 安裝之 &lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 5.3.2：&lt;/p&gt;
&lt;table border="1"&gt;
&lt;tr&gt;
&lt;td&gt;常數名稱&lt;/td&gt;
&lt;td&gt;常數型態&lt;/td&gt;
&lt;td&gt;範例值或說明&lt;/td&gt;
&lt;td&gt;可用版本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_VERSION&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"5.3.2"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_MAJOR_VERSION&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5.2.7+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_MINOR_VERSION&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5.2.7+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_RELEASE_VERSION&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;5.2.7+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_EXTRA_VERSION&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;""&lt;/td&gt;
&lt;td&gt;5.2.7+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_OS&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"FreeBSD"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_PREFIX&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local"&lt;/td&gt;
&lt;td&gt;4.3.0+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_BINDIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/bin"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_LIBDIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/lib/php"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_DATADIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"${prefix}/share"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_SYSCONFDIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/etc"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_LOCALSTATEDIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/var"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_CONFIG_FILE_PATH&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/etc"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_CONFIG_FILE_SCAN_DIR&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"/usr/local/etc/php"&lt;/td&gt;
&lt;td&gt;無限制&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_SHLIB_SUFFIX&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;"so"&lt;/td&gt;
&lt;td&gt;4.3.0+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_EOL&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;此變數可用來判斷 "\n"、"\r"、"\r\n"（三個通吃，超好用）。&lt;/td&gt;
&lt;td&gt;4.3.0+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_MAXPATHLEN&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;1024&lt;/td&gt;
&lt;td&gt;5.3.0+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP_INT_MAX&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;9223372036854775807&lt;/td&gt;
&lt;td&gt;4.0.4+ 與 5.0.5+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATE_COOKIE&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"l, d-M-y H:i:s T"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wednesday, 14-Jul-10 20:25:07 CST
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATE_ISO8601&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"Y-m-d\TH:i:sO"&lt;br /&gt;
輸出範例：&lt;br /&gt;
2010-07-14T20:26:18+0800
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATE_RFC822&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"D, d M y H:i:s O"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wed, 14 Jul 10 20:27:39 +0800
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATE_RFC850&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"l, d-M-y H:i:s T"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wednesday, 14-Jul-10 20:28:44 CST
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATE_RFC1036&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"D, d M y H:i:s O"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wed, 14 Jul 10 20:29:40 +0800
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
DATE_RFC1123&lt;br /&gt;
DATE_RSS
&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"D, d M Y H:i:s T"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wed, 14 Jul 2010 20:31:51 CST
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
DATE_RFC2822
&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"D, d M Y H:i:s O"&lt;br /&gt;
輸出範例：&lt;br /&gt;
Wed, 14 Jul 2010 20:31:51 +0800
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
DATE_RFC3339&lt;br /&gt;
DATE_ATOM&lt;br /&gt;
DATE_W3C
&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;
"Y-m-d\TH:i:sP"&lt;br /&gt;
輸出範例：&lt;br /&gt;
2010-07-14T20:36:18+08:00
&lt;/td&gt;
&lt;td&gt;5.1.1+&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/constant' rel='tag' target='_self'&gt;constant&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2006/06/22/232/net-%e5%b0%87-dataset-%e5%8c%af%e5%87%ba%e6%88%90-csv-%e6%aa%94' rel='bookmark' title='[VB.Net] 將 DataSet 匯出成 CSV 檔'&gt;[VB.Net] 將 DataSet 匯出成 CSV 檔&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/02/16/20/portupgrade' rel='bookmark' title='portupgrade'&gt;portupgrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/11/19/962/php-bc-math-%e7%9a%84%e5%a6%99%e7%94%a8' rel='bookmark' title='[PHP] BC Math 的妙用'&gt;[PHP] BC Math 的妙用&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qP7IyGNtZqikAGD0fmhyzoPxthA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qP7IyGNtZqikAGD0fmhyzoPxthA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qP7IyGNtZqikAGD0fmhyzoPxthA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qP7IyGNtZqikAGD0fmhyzoPxthA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/07/14/829/php-%e7%9a%84%e5%85%a7%e5%bb%ba%e5%b8%b8%e6%95%b8</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[WordPress 3.0 Released]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/d2iV9Es7SW0/wordpress-3-0-released" />
		<id>http://www.joehorn.idv.tw/?p=826</id>
		<updated>2010-06-17T17:44:23Z</updated>
		<published>2010-06-17T17:44:23Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="WordPress" /><category scheme="http://www.joehorn.idv.tw" term="Thelonious" />		<summary type="html"><![CDATA[WordPress 3.0 在十幾分鐘前 release 了，官方的文章 提供了這段影片作介紹： 2.9.2 升級可直接把下載下來的壓縮檔直接覆蓋原本的目錄，再透過瀏覽器執行升級程式（ wp-admin/upgrade.php ）。 因為 WordPress 3.0 的預設佈景主題換了，所以沒改過預設佈景主題的人記得開管理後台檢查一下。 WordPress 3.0 的壓縮檔裡面沒有這些檔案與目錄（注意： wp-content/themes/classic 與 wp-content/themes/default 列在其中），想讓目錄乾淨一點的可以清掉： wp-admin/categories.php wp-admin/edit-category-form.php wp-admin/edit-page-form.php wp-admin/edit-pages.php wp-admin/images/browse-happy.gif wp-admin/images/fav-top.png wp-admin/images/screen-options-left.gif wp-admin/images/wp-logo-vs.gif wp-admin/images/wp-logo.gif wp-admin/import wp-admin/js/wp-gears.dev.js wp-admin/js/wp-gears.js wp-admin/options-misc.php wp-admin/page-new.php wp-admin/page.php wp-admin/rtl.css wp-admin/rtl.dev.css wp-admin/update-links.php wp-admin/wp-admin.css wp-admin/wp-admin.dev.css wp-content/themes/classic wp-content/themes/default wp-includes/js/codepress wp-includes/js/jquery/interface.js wp-includes/js/scriptaculous/prototype.js wp-includes/js/tinymce/wp-tinymce.js Technorati Tags: Thelonious, WordPress Related posts: 升級 WordPress [...]
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2007/01/25/239/%e5%8d%87%e7%b4%9a-wordpress-21' rel='bookmark' title='升級 WordPress 2.1'>升級 WordPress 2.1</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2007/11/05/248/%e5%8d%87%e7%b4%9a%e6%88%90-wordpress-231' rel='bookmark' title='升級成 WordPress 2.3.1'>升級成 WordPress 2.3.1</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/05/10/148/wordpress-151-released' rel='bookmark' title='WordPress 1.5.1 Released !'>WordPress 1.5.1 Released !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/06/18/826/wordpress-3-0-released">&lt;p&gt;&lt;a href="http://wordpress.org"&gt;WordPress&lt;/a&gt; 3.0 在十幾分鐘前 release 了，&lt;a href="http://wordpress.org/development/2010/06/thelonious/" title="WordPress 3.0 “Thelonious”" target="_blank"&gt;官方的文章&lt;/a&gt; 提供了這段影片作介紹：&lt;br /&gt;
&lt;embed src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.21" type="application/x-shockwave-flash" width="640" height="360" wmode="transparent" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=BQtfIEY1&amp;amp;width=640&amp;amp;height=360&amp;amp;locksize=no&amp;amp;dynamicseek=false&amp;amp;qc_publisherId=p-18-mFEk4J448M" title="Introducing WordPress 3.0 &amp;quot;Thelonious&amp;quot;"&gt;&lt;/embed&gt;&lt;/p&gt;
&lt;p&gt;2.9.2 升級可直接把下載下來的壓縮檔直接覆蓋原本的目錄，再透過瀏覽器執行升級程式（ wp-admin/upgrade.php ）。&lt;/p&gt;
&lt;p&gt;因為 &lt;a href="http://wordpress.org"&gt;WordPress&lt;/a&gt; 3.0 的預設佈景主題換了，所以沒改過預設佈景主題的人記得開管理後台檢查一下。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wordpress.org"&gt;WordPress&lt;/a&gt; 3.0 的壓縮檔裡面沒有這些檔案與目錄（注意： wp-content/themes/classic 與 wp-content/themes/default 列在其中），想讓目錄乾淨一點的可以清掉：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;wp-admin/categories.php&lt;/li&gt;
&lt;li&gt;wp-admin/edit-category-form.php&lt;/li&gt;
&lt;li&gt;wp-admin/edit-page-form.php&lt;/li&gt;
&lt;li&gt;wp-admin/edit-pages.php&lt;/li&gt;
&lt;li&gt;wp-admin/images/browse-happy.gif&lt;/li&gt;
&lt;li&gt;wp-admin/images/fav-top.png&lt;/li&gt;
&lt;li&gt;wp-admin/images/screen-options-left.gif&lt;/li&gt;
&lt;li&gt;wp-admin/images/wp-logo-vs.gif&lt;/li&gt;
&lt;li&gt;wp-admin/images/wp-logo.gif&lt;/li&gt;
&lt;li&gt;wp-admin/import&lt;/li&gt;
&lt;li&gt;wp-admin/js/wp-gears.dev.js&lt;/li&gt;
&lt;li&gt;wp-admin/js/wp-gears.js&lt;/li&gt;
&lt;li&gt;wp-admin/options-misc.php&lt;/li&gt;
&lt;li&gt;wp-admin/page-new.php&lt;/li&gt;
&lt;li&gt;wp-admin/page.php&lt;/li&gt;
&lt;li&gt;wp-admin/rtl.css&lt;/li&gt;
&lt;li&gt;wp-admin/rtl.dev.css&lt;/li&gt;
&lt;li&gt;wp-admin/update-links.php&lt;/li&gt;
&lt;li&gt;wp-admin/wp-admin.css&lt;/li&gt;
&lt;li&gt;wp-admin/wp-admin.dev.css&lt;/li&gt;
&lt;li&gt;wp-content/themes/classic&lt;/li&gt;
&lt;li&gt;wp-content/themes/default&lt;/li&gt;
&lt;li&gt;wp-includes/js/codepress&lt;/li&gt;
&lt;li&gt;wp-includes/js/jquery/interface.js&lt;/li&gt;
&lt;li&gt;wp-includes/js/scriptaculous/prototype.js&lt;/li&gt;
&lt;li&gt;wp-includes/js/tinymce/wp-tinymce.js&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/Thelonious' rel='tag' target='_self'&gt;Thelonious&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/WordPress' rel='tag' target='_self'&gt;WordPress&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2007/01/25/239/%e5%8d%87%e7%b4%9a-wordpress-21' rel='bookmark' title='升級 WordPress 2.1'&gt;升級 WordPress 2.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2007/11/05/248/%e5%8d%87%e7%b4%9a%e6%88%90-wordpress-231' rel='bookmark' title='升級成 WordPress 2.3.1'&gt;升級成 WordPress 2.3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/05/10/148/wordpress-151-released' rel='bookmark' title='WordPress 1.5.1 Released !'&gt;WordPress 1.5.1 Released !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EosvZprcT1LvENi_iOhcTTTVqtI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EosvZprcT1LvENi_iOhcTTTVqtI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EosvZprcT1LvENi_iOhcTTTVqtI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EosvZprcT1LvENi_iOhcTTTVqtI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/06/18/826/wordpress-3-0-released#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/06/18/826/wordpress-3-0-released/feed/atom" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/06/18/826/wordpress-3-0-released</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[[PHP] 使用 PDO 要注意的事]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/V6oTXpTxoog/php-%e4%bd%bf%e7%94%a8-pdo-%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e4%ba%8b" />
		<id>http://www.joehorn.idv.tw/?p=814</id>
		<updated>2010-05-27T07:52:38Z</updated>
		<published>2010-05-27T07:52:38Z</published>
		<category scheme="http://www.joehorn.idv.tw" term="PHP" /><category scheme="http://www.joehorn.idv.tw" term="PDO" /><category scheme="http://www.joehorn.idv.tw" term="PDOStatement" />		<summary type="html"><![CDATA[以前，我喜歡用 ADOdb 來連接資料庫；自從 PDO 被放進 PHP 5.1 後，它便成了我的新寵... 我在 PHP 5.1.6 環境上幫人家抓蟲時，看到以下兩段程式。 雖然以上兩段程式都可以取出 $rows ，但重複並交叉執行的話，就會出現問題。 這段程式可以正確取出 $rows1 與 $rows2： 這段程式只能正確取出 $rows1 ，$rows2 會是個空的陣列： 這問題有兩種解法： 別偷懶，乖乖的用 PDO::prepare 與 PDOStatement->execute。 若要用變數接收 PDO::query 回傳的 PDOStatement，請先 unset()，例： unset($st); 。 Technorati Tags: PDO, PDOStatement, PHP Related posts: [MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要 Live 8 !
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'>[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/05/27/814/php-%e4%bd%bf%e7%94%a8-pdo-%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e4%ba%8b">&lt;p&gt;以前，我喜歡用 &lt;a href="http://adodb.sourceforge.net/" target="_blank" title="ADOdb Database Abstraction Library for PHP (and Python)"&gt;ADOdb&lt;/a&gt; 來連接資料庫；自從 &lt;a href="http://php.net/pdo" target="_blank" title="PHP Data Objects"&gt;PDO&lt;/a&gt; 被放進 &lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 5.1 後，它便成了我的新寵...&lt;/p&gt;
&lt;p&gt;我在 &lt;a href="http://php.net" target="_blank"&gt;PHP&lt;/a&gt; 5.1.6 環境上幫人家抓蟲時，看到以下兩段程式。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;$pdo = New PDO(......);

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;prepare($sql);
$st-&amp;gt;execute();
$rows = $st-&amp;gt;fetchAll();&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;pre class="brush: php; title: ; notranslate"&gt;$pdo = New PDO(......);

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;query($sql);
$rows = $st-&amp;gt;fetchAll();&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;雖然以上兩段程式都可以取出 $rows ，但重複並交叉執行的話，就會出現問題。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;這段程式可以正確取出 $rows1 與 $rows2：
&lt;pre class="brush: php; title: ; notranslate"&gt;$pdo = New PDO(......);

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;query($sql);
$rows1 = $st-&amp;gt;fetchAll();

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;prepare($sql);
$st-&amp;gt;execute();
$rows2 = $st-&amp;gt;fetchAll();&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;這段程式只能正確取出 $rows1 ，$rows2 會是個空的陣列：
&lt;pre class="brush: php; title: ; notranslate"&gt;$pdo = New PDO(......);

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;prepare($sql);
$st-&amp;gt;execute();
$rows1 = $st-&amp;gt;fetchAll();

$sql = &amp;quot;SELECT .....&amp;quot;;
$st = $pdo-&amp;gt;query($sql);
$rows2 = $st-&amp;gt;fetchAll();&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;&lt;p&gt;這問題有兩種解法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;別偷懶，乖乖的用 &lt;a href="http://php.net/manual/en/pdo.prepare.php" target="_blank"&gt;PDO::prepare&lt;/a&gt; 與 &lt;a href="http://php.net/manual/en/pdostatement.execute.php" target="_blank"&gt;PDOStatement-&gt;execute&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;若要用變數接收 &lt;a href="http://php.net/manual/en/pdo.query.php" target="_blank"&gt;PDO::query&lt;/a&gt; 回傳的 &lt;a href="http://php.net/manual/en/class.pdostatement.php" target="_blank"&gt;PDOStatement&lt;/a&gt;，請先 &lt;a href="http://php.net/unset" target="_blank"&gt;unset()&lt;/a&gt;，例： unset($st); 。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/PDO' rel='tag' target='_self'&gt;PDO&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PDOStatement' rel='tag' target='_self'&gt;PDOStatement&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/PHP' rel='tag' target='_self'&gt;PHP&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/03/08/768/mysql-primary-key%e3%80%81unique%e3%80%81index-%e8%88%87-limit-%e6%9c%89%e5%a4%9a%e9%87%8d%e8%a6%81' rel='bookmark' title='[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要'&gt;[MySQL] Primary Key、UNIQUE、INDEX 與 LIMIT 有多重要&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uoT68uJiAt4FvkMno9ZpBLlihVA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uoT68uJiAt4FvkMno9ZpBLlihVA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uoT68uJiAt4FvkMno9ZpBLlihVA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uoT68uJiAt4FvkMno9ZpBLlihVA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/05/27/814/php-%e4%bd%bf%e7%94%a8-pdo-%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e4%ba%8b#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/05/27/814/php-%e4%bd%bf%e7%94%a8-pdo-%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e4%ba%8b/feed/atom" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/05/27/814/php-%e4%bd%bf%e7%94%a8-pdo-%e8%a6%81%e6%b3%a8%e6%84%8f%e7%9a%84%e4%ba%8b</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Joe Horn</name>
						<uri>http://www.joehorn.idv.tw</uri>
					</author>
		<title type="html"><![CDATA[C# 的 ==、Equals 與 JAVA 的 ==、equals]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JoeHorn-atom/~3/wWiiDLObLGQ/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals" />
		<id>http://www.joehorn.idv.tw/?p=808</id>
		<updated>2010-04-18T10:14:09Z</updated>
		<published>2010-04-18T10:14:09Z</published>
		<category scheme="http://www.joehorn.idv.tw" term=".NET" /><category scheme="http://www.joehorn.idv.tw" term="JAVA" /><category scheme="http://www.joehorn.idv.tw" term="C#" />		<summary type="html"><![CDATA[剛感到好奇，各在 C# 與 JAVA 寫測試程式。 C#： 結果： JAVA： 結果： Technorati Tags: C#, JAVA Related posts: Eclipse with JDK (Java Developement Kit) 7 Live 8 ! [C#] 取得 wav 檔案格式
Related posts:<ol>
<li><a href='http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7' rel='bookmark' title='Eclipse with JDK (Java Developement Kit) 7'>Eclipse with JDK (Java Developement Kit) 7</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'>Live 8 !</a></li>
<li><a href='http://www.joehorn.idv.tw/archives/2010/01/04/729/c-%e5%8f%96%e5%be%97-wav-%e6%aa%94%e6%a1%88%e6%a0%bc%e5%bc%8f' rel='bookmark' title='[C#] 取得 wav 檔案格式'>[C#] 取得 wav 檔案格式</a></li>
</ol>]]></summary>
		<content type="html" xml:base="http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals">&lt;p&gt;剛感到好奇，各在 C# 與 JAVA 寫測試程式。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C#：
&lt;pre class="brush: csharp; title: ; notranslate"&gt;Object myObj1 = 1;
Object myObj2 = myObj1;
Object myObj3 = 1;

Console.WriteLine(&amp;quot;myObj2.Equals(myObj1) = &amp;quot; + myObj2.Equals(myObj1));
Console.WriteLine(&amp;quot;myObj3.Equals(myObj1) = &amp;quot; + myObj3.Equals(myObj1));

Console.WriteLine(&amp;quot;(myObj2 == myObj1) = &amp;quot; + (myObj2 == myObj1));
Console.WriteLine(&amp;quot;(myObj3 == myObj1) = &amp;quot; + (myObj3 == myObj1));&lt;/pre&gt;
&lt;p&gt;結果：&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;myObj2.Equals(myObj1) = True
myObj3.Equals(myObj1) = True
(myObj2 == myObj1) = True
(myObj3 == myObj1) = False&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;JAVA：
&lt;pre class="brush: java; title: ; notranslate"&gt;Object myObj1 = 1;
Object myObj2 = myObj1;
Object myObj3 = 1;

System.out.println(&amp;quot;myObj2.equals(myObj1) = &amp;quot; + myObj2.equals(myObj1));
System.out.println(&amp;quot;myObj3.equals(myObj1) = &amp;quot; + myObj3.equals(myObj1));

System.out.println(&amp;quot;(myObj2 == myObj1) = &amp;quot; + (myObj2 == myObj1));
System.out.println(&amp;quot;(myObj3 == myObj1) = &amp;quot; + (myObj3 == myObj1));&lt;/pre&gt;
&lt;p&gt;結果：&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;myObj2.equals(myObj1) = true
myObj3.equals(myObj1) = true
(myObj2 == myObj1) = true
(myObj3 == myObj1) = true&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- start wp-tags-to-technorati 1.02 --&gt;

&lt;p class='technorati-tags'&gt;Technorati Tags: &lt;a class='technorati-link' href='http://technorati.com/tag/C%23' rel='tag' target='_self'&gt;C#&lt;/a&gt;, &lt;a class='technorati-link' href='http://technorati.com/tag/JAVA' rel='tag' target='_self'&gt;JAVA&lt;/a&gt;&lt;/p&gt;

&lt;!-- end wp-tags-to-technorati --&gt;
&lt;p&gt;Related posts:&lt;ol&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2012/02/07/1052/eclipse-with-jdk-java-developement-kit-7' rel='bookmark' title='Eclipse with JDK (Java Developement Kit) 7'&gt;Eclipse with JDK (Java Developement Kit) 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2005/07/03/181/live-8' rel='bookmark' title='Live 8 !'&gt;Live 8 !&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://www.joehorn.idv.tw/archives/2010/01/04/729/c-%e5%8f%96%e5%be%97-wav-%e6%aa%94%e6%a1%88%e6%a0%bc%e5%bc%8f' rel='bookmark' title='[C#] 取得 wav 檔案格式'&gt;[C#] 取得 wav 檔案格式&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Jlh2QuYdZI2OS8Dhin6w1Wt4E6A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jlh2QuYdZI2OS8Dhin6w1Wt4E6A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Jlh2QuYdZI2OS8Dhin6w1Wt4E6A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jlh2QuYdZI2OS8Dhin6w1Wt4E6A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content>
		<link rel="replies" type="text/html" href="http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals/feed/atom" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.joehorn.idv.tw/archives/2010/04/18/808/c-%e7%9a%84-%e3%80%81equals-%e8%88%87-java-%e7%9a%84-%e3%80%81equals</feedburner:origLink></entry>
	</feed>

