<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?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:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUECRHs_fip7ImA9WhRUEk0.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198</id><updated>2012-01-22T12:47:45.546+08:00</updated><category term="semantic role labeling" /><category term="mobile" /><category term="prog" /><category term="part-of-speech" /><category term="Email" /><category term="Game" /><category term="EBook" /><category term="named entity recognition" /><category term="AJAX" /><category term="text mining" /><category term="Web Testing" /><category term="crack" /><category term="Programming" /><category term="From my original Wiki" /><category term="ASP.NET" /><category term="HTTP" /><category term="Greasemonkey" /><category term="C++" /><category term="DOM" /><category term="RSS" /><category term="Google Picasa" /><category term="Framework" /><category term="Projects" /><category term="natural language processing" /><category term="Software" /><category term="iPod touch" /><category term="Web Application" /><category term="eclipse" /><category term="Mobile Web Services" /><category term="Apache" /><category term="Yahoo" /><category term="Funny" /><category term="infinite monkey theorem" /><category term="Windows Vista" /><category term="Microsoft Office" /><category term="jQuery" /><category term="condition random fields" /><category term="Website" /><category term="VSS" /><category term="CSS" /><category term="PDF" /><category term="Olympic games" /><category term="Music" /><category term="Web Services" /><category term="data:URI" /><category term="Photography" /><category term="Perl" /><category term="Java" /><category term="regular expression" /><category term="Blogger" /><category term="IIS" /><category term="Google" /><category term="C#" /><category term="db4o" /><category term="Browser" /><category term="Fortran" /><category term="Google Chrome" /><category term="EndNote" /><category term="Firefox" /><category term="Microsoft Windows" /><category term="Database" /><category term="maximum entropy" /><category term="Chinese word segmentation" /><category term="HTML" /><category term="Journal" /><category term="design" /><category term="Internet Explorer" /><category term="machine learning" /><category term="JavaScript" /><category term="floating-point" /><category term="SVN" /><category term="IE7Pro" /><category term="harmonica" /><category term="PMOG" /><title>HJ@Taipei</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://hjdai.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>122</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Hjtaipei" /><feedburner:info uri="hjtaipei" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUECRHg5eSp7ImA9WhRUEk0.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-5893076163375738966</id><published>2012-01-22T12:47:00.001+08:00</published><updated>2012-01-22T12:47:45.621+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T12:47:45.621+08:00</app:edited><title>Cydia Sources List</title><content type="html">&lt;ul&gt;   &lt;li&gt;cydia.hackulo.us&lt;/li&gt;    &lt;li&gt;irepo.us&lt;/li&gt;    &lt;li&gt;mi.baidu.com（百度輸入法）&lt;/li&gt;    &lt;li&gt;cudia.xsellize.com&lt;/li&gt;    &lt;li&gt;apt.178.com&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-5893076163375738966?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zZMYxLb91jC3MET4rVFFYiworxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zZMYxLb91jC3MET4rVFFYiworxM/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/zZMYxLb91jC3MET4rVFFYiworxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zZMYxLb91jC3MET4rVFFYiworxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/6KcVq5hhvMs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/5893076163375738966/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=5893076163375738966" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5893076163375738966?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5893076163375738966?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/6KcVq5hhvMs/cydia-sources-list.html" title="Cydia Sources List" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2012/01/cydia-sources-list.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcASHg6cCp7ImA9WhRVF0s.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-1892833304725099203</id><published>2012-01-17T10:07:00.001+08:00</published><updated>2012-01-17T10:07:29.618+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T10:07:29.618+08:00</app:edited><title>求職相關參考資料</title><content type="html">&lt;h1&gt;Cover Letter&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://www.amstarcreative.com/TiffDocs/coverletter/Coverletter.pdf" href="http://www.amstarcreative.com/TiffDocs/coverletter/Coverletter.pdf"&gt;http://www.amstarcreative.com/TiffDocs/coverletter/Coverletter.pdf&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.xuite.net/litajhong/diary/24927455"&gt;How to Write Cover Letter (for Taiwaness)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://jobsearch.about.com/od/coverlettersamples/a/coverlettsample.htm"&gt;Cover Letter Samples&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.career.vt.edu/JobSearchGuide/CoverLetterSamples.html"&gt;Cover letters: types and samples&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://office.microsoft.com/en-us/templates/CT010146792.aspx" href="http://office.microsoft.com/en-us/templates/CT010146792.aspx"&gt;Cover letters templates&lt;/a&gt; (Microsoft Word)&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-1892833304725099203?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Wo1O5VmgxBrHO9Xg-U10YD_q4CQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wo1O5VmgxBrHO9Xg-U10YD_q4CQ/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/Wo1O5VmgxBrHO9Xg-U10YD_q4CQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wo1O5VmgxBrHO9Xg-U10YD_q4CQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/uYMCl-CkRPc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/1892833304725099203/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=1892833304725099203" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1892833304725099203?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1892833304725099203?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/uYMCl-CkRPc/blog-post.html" title="求職相關參考資料" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2012/01/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcDQX45eyp7ImA9WhdVF0k.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-7296008355851538440</id><published>2011-09-23T11:04:00.001+08:00</published><updated>2011-09-23T11:04:30.023+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T11:04:30.023+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>db4o 物件的唯一性：disconnected objects 的概念與 web apps</title><content type="html">&lt;p&gt;db4o 在單一 object container 的環境下，在物件管理上會確保儲存在資料庫內的物件的&lt;a href="http://developer.db4o.com/documentation/reference/db4o-8.0/java/reference/Content/basics/identity_concept.htm" target="_blank"&gt;唯一性&lt;/a&gt;。但是，若是啟用了 client-server 或是 session-container 的架構，則會變成多 object-container 的情況，因此同一個物件可能會在不同的 container 中有不同的 memory identity。這種情況在 web 環境下一定會發生。這時候就要借助額外的 ID，如 db4o 內建的內部 ID：&lt;a href="http://developer.db4o.com/documentation/reference/db4o-8.0/java/reference/Content/advanced_topics/ids_and_uuids.htm" target="_blank"&gt;UUID&lt;/a&gt;，或是自行產生 ID。&lt;/p&gt;  &lt;p&gt;簡而言之，最重要的概念就是加入 EventRegistry，在建立時去檢查是否有 ID 已經存在：&lt;/p&gt;  &lt;p&gt;// register&amp;#160; &lt;br /&gt; IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(icontainer);    &lt;br /&gt;eventRegistry.Creating += delegate(object sender, CancellableObjectEventArgs args)    &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (args.Object is Article)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Article a = (Article)args.Object;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (a.HasDb4oID()) {&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // don't insert because Article is already    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // in the container    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; args.Cancel();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Article existing = LookupArticle(icontainer, a.Db4oID) as Article;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // merge change    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; existing.MergeChanges(a);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } else {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; a.SetDb4oID(a.ArticleID);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;}; &lt;/p&gt;  &lt;p&gt;相關參考資料如下：&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://developer.db4o.com/documentation/reference/db4o-8.0/java/reference/Content/platform_specific_issues/disconnected_objects/comparison_of_ids.htm" target="_blank"&gt;不同 ID 的比較與範例&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://developer.db4o.com/Blogs/Product/tabid/167/entryid/36/Default.aspx" target="_blank"&gt;Referencing objects across VM boundaries&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-7296008355851538440?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S2T008A3ks5QFRqT0EEjla_Rq10/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2T008A3ks5QFRqT0EEjla_Rq10/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/S2T008A3ks5QFRqT0EEjla_Rq10/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2T008A3ks5QFRqT0EEjla_Rq10/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/mPWYR9dq-ek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/7296008355851538440/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=7296008355851538440" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7296008355851538440?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7296008355851538440?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/mPWYR9dq-ek/db4o-disconnected-objects-web-apps.html" title="db4o 物件的唯一性：disconnected objects 的概念與 web apps" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/09/db4o-disconnected-objects-web-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ3o9eSp7ImA9WhdVEEs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-3014290788746949808</id><published>2011-09-15T14:17:00.001+08:00</published><updated>2011-09-15T14:17:12.461+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-15T14:17:12.461+08:00</app:edited><title>Publish REST services on IIS 6.0</title><content type="html">&lt;p&gt;利用 &lt;a href="http://visualstudiogallery.msdn.microsoft.com/fbc7e5c1-a0d2-41bd-9d7b-e54c845394cd" target="_blank"&gt;WCF REST Service Template&lt;/a&gt; 完成 REST service 後，最後的問題是怎麼把它放到既有的 IIS 6 server 上。&lt;/p&gt;  &lt;h4&gt;Prerequisite&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.iis.net/download/WebDeploy" target="_blank"&gt;Web Deploy 2.0&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=17851" target="_blank"&gt;.NET 4.0 framework&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Steps&lt;/h4&gt;  &lt;ol&gt;   &lt;li&gt;首先在 server 端，先替 IIS6 安裝好 Web Deploy 2.0。&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/421/installing-web-deploy/" target="_blank"&gt;安裝完&lt;/a&gt;後會多一個叫做 msdepsvc 的系統服務，該服務預設的 publish Service URL 是 &lt;a title="http://bws.iis.sinica.edu.tw/MsDeployAgentService" href="http://yourhost/MsDeployAgentService"&gt;http://&lt;em&gt;yourhost&lt;/em&gt;/MsDeployAgentService&lt;/a&gt;。&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;在 client 端利用 VS2010 的 publish 介面將網站發布到 server 端。請參考如下設定：     &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/-5UhwM9qIuD8/TnGYXyIYPMI/AAAAAAAABBY/Cip5Id5cr8E/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-yb7-Y-gawk8/TnGYYYKX0cI/AAAAAAAABBc/1M-SY9ClxaY/image_thumb.png?imgmax=800" width="167" height="244" /&gt;&lt;/a&gt;      &lt;br /&gt;其中，Service URL 就是 msdepsvc 的網址。而 Site/application 則填入欲發布的 server 端網站名稱（Site）與&amp;#160; WebApp 名稱（application）。&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;舉例來說，若是遠端網站名為 Default，欲發布的 app 名為 test，則在 Site/application 填入：Default/test&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;另外當然，在 server 端也必須安裝好 .NET 4.0 framework。&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;若是再安裝完 IIS 後才安裝 framework，須在 .NET 4.0 目錄下（如 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319）執行 aspnet_regiis –i&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;執行 aspnet_regiis.exe –lk 確認目前各 WebApp 的 .NET 版本狀態。並且確認剛 publish 過來的 app 是否使用正確的 .NET framework 版本：     &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/-LXzd225YI5I/TnGYYmuiyQI/AAAAAAAABBg/JDM9RbvtC2E/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-suC5MyJMp5w/TnGYZARZFMI/AAAAAAAABBk/9f8xpMZL8iM/image_thumb%25255B1%25255D.png?imgmax=800" width="244" height="32" /&gt;&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;以剛剛的例子來說，假設你的網站 ID 為 45，則執行後應該要顯示：       &lt;br /&gt;W3SVC/&lt;strong&gt;&lt;font color="#ff0000"&gt;45&lt;/font&gt;&lt;/strong&gt;/Root/test&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;4.0.30319.0&lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;若發現不是使用 4.0 或更高的版本，則需要在對應的 .NET framwork 中執行       &lt;br /&gt; aspnet_regiis –s W3SVC/45/Root/test        &lt;br /&gt;將其更新為正確的版本。&lt;/li&gt;      &lt;li&gt;若是不知道網站 ID，可以透過 IIS 管理員的介面查看：&lt;a href="http://lh4.ggpht.com/-EGmMS6ytpUw/TnGYZdw5_qI/AAAAAAAABBo/y6Qj-MK3OIc/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-boWuWKzQFfM/TnGYZwkrzyI/AAAAAAAABBs/OzesHgNdY5k/image_thumb%25255B2%25255D.png?imgmax=800" width="244" height="68" /&gt;&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;同理，若是同一個網站底下的其他 App 想使用不同的 .NET Framwork 版本，也可以使用對應的 aspnet_regiis 來設定之。&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;最後依造 &lt;a href="http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/" target="_blank"&gt;Deploying ASP.NET MVC to IIS 6&lt;/a&gt; 的步驟，使用 wildcard mapping，讓 IIS 6 可以處理 routing。需注意，一定要把 uncheck &lt;em&gt;Verify that file exists&lt;/em&gt;. 的選項取消！&lt;/li&gt; &lt;/ol&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-3014290788746949808?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RoK9r6eQRyl62SOH5xI-qCdyRiQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RoK9r6eQRyl62SOH5xI-qCdyRiQ/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/RoK9r6eQRyl62SOH5xI-qCdyRiQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RoK9r6eQRyl62SOH5xI-qCdyRiQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/IgxGUeepyxU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/3014290788746949808/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=3014290788746949808" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/3014290788746949808?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/3014290788746949808?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/IgxGUeepyxU/publish-rest-services-on-iis-60.html" title="Publish REST services on IIS 6.0" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-yb7-Y-gawk8/TnGYYYKX0cI/AAAAAAAABBc/1M-SY9ClxaY/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/09/publish-rest-services-on-iis-60.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEFSHc4fCp7ImA9WhdWGUQ.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-5622738500440029084</id><published>2011-09-14T17:29:00.001+08:00</published><updated>2011-09-14T17:30:19.934+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-14T17:30:19.934+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>iKVM</title><content type="html">&lt;p&gt;iKVM: &lt;a href="http://www.ikvm.net/devguide/net2java.html" target="_blank"&gt;Using Java API’s in .NET Applications&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;編譯時需加入 bin 目錄底下的 dll 檔。舉例來說，需要用到 java.util.Set，則需加入 IKVM.OpenJDK.Core.dll&lt;/p&gt;  &lt;p&gt;Runtime 時需把 bin 內的 DLL 檔複製到與執行檔相同的目錄內。&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-5622738500440029084?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kye_iuRUc-XjnIxHvkwnLZ7-yfk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kye_iuRUc-XjnIxHvkwnLZ7-yfk/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/kye_iuRUc-XjnIxHvkwnLZ7-yfk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kye_iuRUc-XjnIxHvkwnLZ7-yfk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/JxMovxcg5qA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/5622738500440029084/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=5622738500440029084" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5622738500440029084?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5622738500440029084?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/JxMovxcg5qA/ikvm.html" title="iKVM" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/09/ikvm.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUAR3w-fSp7ImA9WhZWGEs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-7179902045834089406</id><published>2011-05-19T21:45:00.001+08:00</published><updated>2011-05-20T12:04:06.255+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-20T12:04:06.255+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PDF" /><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>Adobe Acrobat Javascript Example Codes</title><content type="html">&lt;p&gt;用 JavaScript 的方式語法較簡單。&lt;/p&gt;  &lt;h2&gt;修改 UI&lt;/h2&gt;  &lt;p&gt;利用 app。如 app.addMenuItem&lt;/p&gt;  &lt;p&gt;重要的參數包括：&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;cName: &lt;a name="1993741"&gt;The language-independent name of the menu item. This name can be used by other &lt;/a&gt;methods (for example, hideMenuItem) to access the menu item. &lt;/li&gt;    &lt;li&gt;&lt;a name="1993743"&gt;cUser&lt;/a&gt;: &lt;a name="1993745"&gt;(optional) The user string (language-dependent name) to display as the menu item &lt;/a&gt;name. If cUser is not specified, cName is used. &lt;/li&gt;    &lt;li&gt;&lt;a name="1993747"&gt;cParent&lt;/a&gt;: &lt;a name="1993749"&gt;The name of the parent menu item. Its submenu will have the new menu item added to &lt;/a&gt;it. If cParent has no submenu, an exception is thrown.       &lt;ul&gt;       &lt;li&gt;&lt;a name="1993750"&gt;Menu item names can be obtained with the &lt;/a&gt;listMenuItems method. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a name="1993752"&gt;nPos&lt;/a&gt;: &lt;a name="1993754"&gt;(optional) The position within the submenu to locate the new menu item. The default &lt;/a&gt;behavior is to append to the end of the submenu. &lt;strong&gt;Specifying nPos as 0 adds the menu to the top of the submenu. &lt;/strong&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a name="1993765"&gt;The &lt;/a&gt;nPos parameter is ignored in certain menus that are alphabetized:           &lt;ul&gt;           &lt;li&gt;&lt;a name="1993766"&gt;The first section of View &amp;gt; Navigation Panels.&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a name="1993767"&gt;The first section of View &amp;gt; Toolbars.&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a name="1993768"&gt;The first section of the Advanced submenu.&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;a name="1993771"&gt;cExec&lt;/a&gt;: &lt;a name="1993773"&gt;An expression string to evaluate when the menu item is selected by the user. &lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;quads 應用&lt;/h2&gt;  &lt;p&gt;quads 回傳的內容為 4 組 (x, y) 的座標內容。舉例來說，    &lt;br /&gt;quads: [[43],[756],[78],[756],[43],[745],[78],[745]]，     &lt;br /&gt;代表的是如下圖的座標：&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_IAq16Rv70Cc/TdUe82EID9I/AAAAAAAAA0g/YVAr_qfmhL4/s1600-h/image%5B2%5D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_IAq16Rv70Cc/TdUe9dV4iNI/AAAAAAAAA0k/2wH_Zrdy5d0/image_thumb.png?imgmax=800" width="244" height="97" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;的座標。&lt;/p&gt;  &lt;p&gt;下面是動態建立一個 quads 與 Annotation 的範例：&lt;/p&gt;  &lt;p&gt;var quads1=this.getPageNthWordQuads(p, startIndex);    &lt;br /&gt;var quads2=this.getPageNthWordQuads(p, endIndex);     &lt;br /&gt;var quads=[[quads1[0][0], quads1[0][1], quads2[0][2], quads2[0][3], quads1[0][4], quads1[0][5], quads2[0][6], quads2[0][7]]];     &lt;br /&gt;var annot = this.addAnnot({page: p, type: &amp;quot;Highlight&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; quads: quads, author: annotator     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;上面的程式碼要注意換行的情況。&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Resources&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://acrobatusers.com/learning_center/articles" href="http://acrobatusers.com/learning_center/articles"&gt;http://acrobatusers.com/learning_center/articles&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-7179902045834089406?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gOlDr4zRCZku0n9B6wraH6fGr6w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gOlDr4zRCZku0n9B6wraH6fGr6w/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/gOlDr4zRCZku0n9B6wraH6fGr6w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gOlDr4zRCZku0n9B6wraH6fGr6w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/75eokBftF9A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/7179902045834089406/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=7179902045834089406" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7179902045834089406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7179902045834089406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/75eokBftF9A/adobe-acrobat-javascript-example-codes.html" title="Adobe Acrobat Javascript Example Codes" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_IAq16Rv70Cc/TdUe9dV4iNI/AAAAAAAAA0k/2wH_Zrdy5d0/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/05/adobe-acrobat-javascript-example-codes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEFSHgzfSp7ImA9WhdbFEs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-6341695014342837520</id><published>2011-04-29T22:58:00.001+08:00</published><updated>2011-10-13T07:36:59.685+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-13T07:36:59.685+08:00</app:edited><title>iOS4.3.1 更新後安裝的軟體列表</title><content type="html">&lt;ul&gt;   &lt;li&gt;Bolt：只有在充電時才顯示 lighting 符號 &lt;/li&gt;    &lt;li&gt;CallBar &lt;/li&gt;    &lt;li&gt;CleanStatus &lt;/li&gt;    &lt;li&gt;DataDeposit &lt;/li&gt;    &lt;li&gt;Double At      &lt;ul&gt;       &lt;li&gt;在 iAcces 的鍵盤上無法使用 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Gesture Control &lt;/li&gt;    &lt;li&gt;iAcces &lt;/li&gt;    &lt;li&gt;iFile &lt;/li&gt;    &lt;li&gt;FreeSync      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://cydia.xsellize.com/"&gt;http://cydia.xsellize.com/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;IntelliScreen &lt;/li&gt;    &lt;li&gt;KuaiDial      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://kuaidial.googlecode.com/svn/deb/" href="http://kuaidial.googlecode.com/svn/deb/"&gt;http://kuaidial.googlecode.com/svn/deb/&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;LastApp &lt;/li&gt;    &lt;li&gt;Personal Hotspot SBSetting &lt;/li&gt;    &lt;li&gt;PictureMe &lt;/li&gt;    &lt;li&gt;Pull to Refresh Mail &lt;/li&gt;    &lt;li&gt;Pull to Refresh Safari &lt;/li&gt;    &lt;li&gt;QuickDo &lt;/li&gt;    &lt;li&gt;QuickOpen &lt;/li&gt;    &lt;li&gt;RunningList &lt;/li&gt;    &lt;li&gt;Samba* &lt;/li&gt;    &lt;li&gt;SBSettings &lt;/li&gt;    &lt;li&gt;ScreenDimmer &lt;/li&gt;    &lt;li&gt;SpringFlash &lt;/li&gt;    &lt;li&gt;StatusTweak &lt;/li&gt;    &lt;li&gt;SwitcherPages* &lt;/li&gt;    &lt;li&gt;UnlimTones &lt;/li&gt;    &lt;li&gt;WeatherIcon &lt;/li&gt;    &lt;li&gt;YourTube2 &lt;/li&gt;    &lt;li&gt;3G Unrestrictor &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-6341695014342837520?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LFUaimId2Ay1nVzmtn-XnwB6gxc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LFUaimId2Ay1nVzmtn-XnwB6gxc/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/LFUaimId2Ay1nVzmtn-XnwB6gxc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LFUaimId2Ay1nVzmtn-XnwB6gxc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/eNGpQzlUtnM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/6341695014342837520/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=6341695014342837520" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/6341695014342837520?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/6341695014342837520?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/eNGpQzlUtnM/ios431.html" title="iOS4.3.1 更新後安裝的軟體列表" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/04/ios431.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8CSX84fSp7ImA9WhZQF0U.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-4030775095788235774</id><published>2011-04-26T11:33:00.001+08:00</published><updated>2011-04-26T11:34:28.135+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-26T11:34:28.135+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PDF" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>如何 Debug PDF Plug-in</title><content type="html">&lt;p&gt;Project property page-&amp;gt;Configuration Properties-&amp;gt;Debugging-&amp;gt;Command&lt;/p&gt;  &lt;p&gt;中設定 Acrobat/Reader 的執行檔案路徑，再加上中斷點即可。&lt;/p&gt;  &lt;p&gt;PS: 前提是編譯好的檔案要複製到 plug_ins 目錄內。&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-4030775095788235774?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7RUlmSV8nP_12tjDg8YRZud6klk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7RUlmSV8nP_12tjDg8YRZud6klk/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/7RUlmSV8nP_12tjDg8YRZud6klk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7RUlmSV8nP_12tjDg8YRZud6klk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/40FJhybmUrY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/4030775095788235774/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=4030775095788235774" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4030775095788235774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4030775095788235774?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/40FJhybmUrY/debug-pdf-plug-in.html" title="如何 Debug PDF Plug-in" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/04/debug-pdf-plug-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGR30_eSp7ImA9WhZQF0Q.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-8592015654061751356</id><published>2011-04-26T11:09:00.001+08:00</published><updated>2011-04-26T11:58:46.341+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-26T11:58:46.341+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><category scheme="http://www.blogger.com/atom/ns#" term="Website" /><title>Server sent unexpected return value (413 Request Entity Too Large) 錯誤</title><content type="html">&lt;p&gt;上傳大型檔案到 apache server 時有可能發生的錯誤訊息。&lt;/p&gt;  &lt;p&gt;解決方法是：開啟 httpd.conf 檔案，並且加入 &lt;code&gt;LimitRequestBody 參數。&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;比如：&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;LimitRequestBody 102400 &lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;可以限制上傳檔案的到小最大為 100K。&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Note：Apache server 的上傳上限為 2G。&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;參考：&lt;a title="http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody" href="http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-8592015654061751356?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YHGEYPJjFiyo51Mjjlam6X8ppLc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YHGEYPJjFiyo51Mjjlam6X8ppLc/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/YHGEYPJjFiyo51Mjjlam6X8ppLc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YHGEYPJjFiyo51Mjjlam6X8ppLc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/wtyic8nVAqc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/8592015654061751356/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=8592015654061751356" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/8592015654061751356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/8592015654061751356?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/wtyic8nVAqc/server-sent-unexpected-return-value-413.html" title="Server sent unexpected return value (413 Request Entity Too Large) 錯誤" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/04/server-sent-unexpected-return-value-413.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBQ3k4cCp7ImA9WhZQFEk.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-76834153807402905</id><published>2011-04-22T11:20:00.001+08:00</published><updated>2011-04-22T11:20:52.738+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-22T11:20:52.738+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PDF" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="prog" /><title>PDF prefix registration</title><content type="html">&lt;p&gt;&lt;a name="1516017"&gt;Adobe 利用 4 個字元長度的 prefix 來區隔不同的 developer。&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Adobe 預設使用 ADBE 或 Acro，一般開發者可以在 &lt;a href="http://partners.adobe.com/public/developer/pdf/register/prefix_reg.do" target="_blank"&gt;PDF prefix registration&lt;/a&gt; 中註冊自己的 prefix。藉由註冊自己的 prefix 可以確保跟其它開發者的元件區隔。&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-76834153807402905?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CiDHIuiy_B_gCRKdiwSiRElpoEE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CiDHIuiy_B_gCRKdiwSiRElpoEE/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/CiDHIuiy_B_gCRKdiwSiRElpoEE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CiDHIuiy_B_gCRKdiwSiRElpoEE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/FJPR7Rn-VzM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/76834153807402905/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=76834153807402905" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/76834153807402905?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/76834153807402905?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/FJPR7Rn-VzM/pdf-prefix-registration.html" title="PDF prefix registration" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/04/pdf-prefix-registration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYHRXw6cSp7ImA9WhZQFEk.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-1647175420931527497</id><published>2011-04-20T10:24:00.001+08:00</published><updated>2011-04-22T11:15:34.219+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-22T11:15:34.219+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PDF" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>PDF library</title><content type="html">&lt;h3&gt;Haru Free PDF Library&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://libharu.org/wiki/Main_Page" target="_blank"&gt;Hary free PDF Library&lt;/a&gt; 可用來建立 PDF 的免費 library。現階段不支援從既存的 PDF 檔案中載入的功能。&lt;/p&gt;  &lt;h3&gt;Acrobat SDKs&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.adobe.com/devnet/acrobat/downloads.html" target="_blank"&gt;SDK&lt;/a&gt; 現在為免費提供。使用該 SDK 可建立軟體與增效模組，與 Adobe Acrobat 和 Adobe Reader 軟體互動並進行各項自訂。&lt;/p&gt;  &lt;h2&gt;References&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://ccckmit.wikidot.com/pdf:openpdf" href="http://ccckmit.wikidot.com/pdf:openpdf"&gt;http://ccckmit.wikidot.com/pdf:openpdf&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Acrobat Developer Center/Downloads: &lt;a title="http://www.adobe.com/devnet/acrobat/downloads.html" href="http://www.adobe.com/devnet/acrobat/downloads.html"&gt;http://www.adobe.com/devnet/acrobat/downloads.html&lt;/a&gt;       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://livedocs.adobe.com/acrobat_sdk/10/Acrobat10_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?&amp;amp;accessible=true" target="_blank"&gt;Adobe Acrobat SDK Help&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-1647175420931527497?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BWLUdxZQTbcw_iC42pzCOeJEazY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BWLUdxZQTbcw_iC42pzCOeJEazY/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/BWLUdxZQTbcw_iC42pzCOeJEazY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BWLUdxZQTbcw_iC42pzCOeJEazY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/72Jd8UThALU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/1647175420931527497/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=1647175420931527497" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1647175420931527497?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1647175420931527497?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/72Jd8UThALU/pdf-library.html" title="PDF library" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/04/pdf-library.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQ306fCp7ImA9WhZTEkk.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-1770347532290617028</id><published>2011-03-16T09:39:00.002+08:00</published><updated>2011-03-16T10:12:12.314+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-16T10:12:12.314+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Projects" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Application" /><category scheme="http://www.blogger.com/atom/ns#" term="SVN" /><title>SVN Server</title><content type="html">&lt;p&gt;使用的是COLLABNET: &lt;a href="http://www.open.collab.net/"&gt;http://www.open.collab.net/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;安裝完成後，加入一些細部的修改：&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;首先，COLLABNET 的管理介面是利用 &lt;a href="http://jetty.codehaus.org/jetty/"&gt;Jetty&lt;/a&gt; 架設，所有的 request 都會被 redirect rule 修改，故，先修改 csvn\appserver\contexts 裡的 redirect.xml，將 csvn 的 contextPath 修改成需要的值，如     
&amp;lt;Set name="&lt;strong&gt;contextPath&lt;/strong&gt;"&amp;gt;/&amp;lt;/Set&amp;gt;      
=&amp;gt; &amp;lt;Set name="contextPath"&amp;gt;/&lt;strong&gt;test&lt;/strong&gt;&amp;lt;/Set&amp;gt;     
newContextURL 也可以視需求修改，如     
&amp;lt;Set name="&lt;strong&gt;newContextURL&lt;/strong&gt;"&amp;gt;/&lt;strong&gt;new_csvn&lt;/strong&gt;&amp;lt;/Set&amp;gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;若是修改了 newContextURL，則還需另外修改 csvn\appserver\contexts 裡的 csvn.xml 檔，以對應修改完的 URL，假設 URL 修改成 test，則必須將 csvn.xml 內的 contextPath 作如下修改：&lt;/li&gt; &amp;lt;Set name="&lt;strong&gt;contextPath&lt;/strong&gt;"&amp;gt;/csvn&amp;lt;/Set&amp;gt;      
=&amp;gt; &amp;lt;Set name="contextPath"&amp;gt;/&lt;strong&gt;new_csvn&lt;/strong&gt;/csvn&amp;lt;/Set&amp;gt;     
&lt;/ul&gt;    &lt;li&gt;若是需要修改管理介面的服務埠號（預設是 3343），請開啟 csvn\svcwrapper\conf 裡的 wrapper.conf，然後將 wrapper.java.additional.3=-Djetty.port=&lt;strong&gt;3343&lt;/strong&gt;     
的值修改成需要的埠號&lt;/li&gt;    &lt;li&gt;修改完畢後，須利用系統工具內的「服務」，將 CollabNet Subversion Edge 服務重新啟動&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;再來是跟 PHP 整合的部分，使用的是 &lt;a href="http://quercus.caucho.com/"&gt;Quercus&lt;/a&gt;，一個可以讓 PHP 和 JAVA 緊密整合的 PHP Java 實作。&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;將 Quercus 是一個 &lt;a href="http://caucho.com/download/quercus-4.0.11.war"&gt;WAR 檔&lt;/a&gt;，直接下載完成後，將該檔解壓到 csvn\appserver\webapps 目錄裡。並將解開的所有 lib 檔複製到 Jetty 本身的 lib 資料夾中：     
copy &lt;em&gt;quercus&lt;/em&gt;\WEB-INF\lib\*.jar csvn\appserver\lib&lt;/li&gt;    &lt;li&gt;下載 &lt;a href="http://dev.mysql.com/downloads/connector/j/"&gt;MySQL JDBC Connector&lt;/a&gt;，並將解開的 mysql-connector-java-&lt;em&gt;x&lt;/em&gt;-bin.jar 檔放到 csvn\appserver\lib 目錄內。&lt;/li&gt;    &lt;li&gt;重新啟動 CollabNet Subversion Edge 服務後，開啟 quercus 的服務網址，若是出現 Congratulations 字樣即設定成功。若是要再進一步測試，可以在 csvn\appserver\webapps\&lt;em&gt;quercus&lt;/em&gt; 目錄內 test.php 然後在內容填上：&amp;lt;?php phpinfo(); ?&amp;gt; 來檢視 PHP 的各項參數。&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;安裝 phpMyAdmin&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;複製 Quercus 的 WEB-INF 目錄，並且修改 web.xml，將    
&amp;lt;init-param&amp;gt;     
      &amp;lt;param-name&amp;gt;ini-file&amp;lt;/param-name&amp;gt;     
      &amp;lt;param-value&amp;gt;WEB-INF/php.ini&amp;lt;/param-value&amp;gt;     
&amp;lt;/init-param&amp;gt;     
的註解取消。&lt;/li&gt;    &lt;li&gt;複製 PHP 安裝目錄內的 php.ini 檔到 phpMyAdmin/WEB-INF 中。&lt;/li&gt;    &lt;li&gt;目前 Quercus 跟 phpMyAdmin 整合上還有 bug，還待處理。我修改過的&lt;a href="http://dl.dropbox.com/u/23543473/src/phpMyAdmin.zip"&gt;這個&lt;/a&gt;版本可以順利地出現登入畫面，不過還未完整。&lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;java.security.InvalidKeyException: Illegal key size&lt;/h2&gt;  &lt;ol&gt;   &lt;li&gt;將 local_policy.jar 和 US_export_policy.jar 檔複製到 &lt;em&gt;JAVA_HOME&lt;/em&gt;/jre/lib/security （系統應該會提示你是否要覆蓋原本的檔案，選＂是＂）&lt;/li&gt;    &lt;li&gt;重新啟動 CollabNet Subversion Edge。&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h1&gt;參考&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;Running Quercus in Jetty Web Server: &lt;a title="http://blog.fedecarg.com/2009/01/04/running-quercus-in-jetty-web-server/" href="http://blog.fedecarg.com/2009/01/04/running-quercus-in-jetty-web-server/"&gt;http://blog.fedecarg.com/2009/01/04/running-quercus-in-jetty-web-server/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;How to avoid "java.security.InvalidKeyException:illegal Key Size" error when invoking secured services in WSO2 WSAS: &lt;a title="http://charithaka.blogspot.com/2008/08/how-to-avoid-javasecurityinvalidkeyexce.html" href="http://charithaka.blogspot.com/2008/08/how-to-avoid-javasecurityinvalidkeyexce.html"&gt;http://charithaka.blogspot.com/2008/08/how-to-avoid-javasecurityinvalidkeyexce.html&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-1770347532290617028?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hSkh0gpAgELtRFun77yvXs5m0Gw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hSkh0gpAgELtRFun77yvXs5m0Gw/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/hSkh0gpAgELtRFun77yvXs5m0Gw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hSkh0gpAgELtRFun77yvXs5m0Gw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/5JYEfuFlGlo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/1770347532290617028/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=1770347532290617028" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1770347532290617028?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1770347532290617028?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/5JYEfuFlGlo/svn-server.html" title="SVN Server" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/03/svn-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cNSX44eCp7ImA9Wx9bFEo.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-7543854066150158596</id><published>2011-02-23T21:10:00.009+08:00</published><updated>2011-02-23T22:24:58.030+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-23T22:24:58.030+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Google Calendar 規劃時間功能</title><content type="html">&lt;ol&gt;&lt;li&gt;把主要的 Google Calendar 設定為與&lt;span style="font-weight: bold;"&gt;指定人士&lt;/span&gt;共用。該&lt;span style="font-weight: bold;"&gt;指定人士&lt;/span&gt;將依據參與人員的狀態負責協調那些人要參與該活動。&lt;/li&gt;&lt;li&gt;在欲協調的活動中，新增邀請對象後，選取要參與的人員。&lt;/li&gt;&lt;li&gt;參與的人員的 Calendar 中，會自動出現該活動。如下圖（這邊我建立了多個活動）：

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/--XKLxqAGeqI/TWUM-GtNO9I/AAAAAAAAAs0/hr61dByvZkg/s1600/f0.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 150px;" src="http://1.bp.blogspot.com/--XKLxqAGeqI/TWUM-GtNO9I/AAAAAAAAAs0/hr61dByvZkg/s320/f0.png" alt="" id="BLOGGER_PHOTO_ID_5576877974659873746" border="0" /&gt;&lt;/a&gt;
如上圖，需要確認是否參與的活動項目前方會有 [?] 圖示&lt;/li&gt;&lt;li&gt;參與的人員視情況決定是否能參加該活動。選項有三：是、也許、否。如下圖：

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-w5m7OlfvUmM/TWUQH9NWe3I/AAAAAAAAAs8/Jva7Vp-am3A/s1600/f1.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 197px;" src="http://1.bp.blogspot.com/-w5m7OlfvUmM/TWUQH9NWe3I/AAAAAAAAAs8/Jva7Vp-am3A/s320/f1.png" alt="" id="BLOGGER_PHOTO_ID_5576881442443918194" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;若是週期性的活動，Google Calendar 會詢問你是要套用到所有的活動或是單次活動。請依情況選擇（大部分情況應該是選擇［僅限此次］。&lt;/li&gt;&lt;li&gt;若是選擇是的話，在&lt;span style="font-weight: bold;"&gt;指定人士&lt;/span&gt;的 Calendar 上會看到 v 符號：

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-xu0LkJ3s-_8/TWUS-D-9AhI/AAAAAAAAAtE/5d88NYii4C8/s1600/f03.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 140px;" src="http://1.bp.blogspot.com/-xu0LkJ3s-_8/TWUS-D-9AhI/AAAAAAAAAtE/5d88NYii4C8/s320/f03.png" alt="" id="BLOGGER_PHOTO_ID_5576884570998768146" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;選擇否的參與人員，在&lt;span style="font-weight: bold;"&gt;指定人士&lt;/span&gt;的 Calendar 上，該人員的前方會出現 (/) 符號，如下圖：

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-8TVYLZxn8QM/TWUUw9o-NrI/AAAAAAAAAtM/cZy5hc7RskY/s1600/f05.png"&gt;&lt;img style="cursor: pointer; width: 263px; height: 205px;" src="http://1.bp.blogspot.com/-8TVYLZxn8QM/TWUUw9o-NrI/AAAAAAAAAtM/cZy5hc7RskY/s320/f05.png" alt="" id="BLOGGER_PHOTO_ID_5576886544980915890" border="0" /&gt;&lt;/a&gt;
另外在日曆顯示上也會直接將該人員的名子已刪除線顯示，代表該人員不參與該活動，如下圖：

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-GN97TJCg2oQ/TWUXP3JcNDI/AAAAAAAAAtU/dDR53NASFRA/s1600/f06.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 213px;" src="http://3.bp.blogspot.com/-GN97TJCg2oQ/TWUXP3JcNDI/AAAAAAAAAtU/dDR53NASFRA/s320/f06.png" alt="" id="BLOGGER_PHOTO_ID_5576889274837251122" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-7543854066150158596?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Wo4tTGz95xuKcZxdsC2_K6u3eEA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wo4tTGz95xuKcZxdsC2_K6u3eEA/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/Wo4tTGz95xuKcZxdsC2_K6u3eEA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Wo4tTGz95xuKcZxdsC2_K6u3eEA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/dVuJpOH9U48" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/7543854066150158596/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=7543854066150158596" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7543854066150158596?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7543854066150158596?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/dVuJpOH9U48/google-calendar.html" title="Google Calendar 規劃時間功能" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/--XKLxqAGeqI/TWUM-GtNO9I/AAAAAAAAAs0/hr61dByvZkg/s72-c/f0.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/02/google-calendar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4NSXs4fCp7ImA9Wx9bEkU.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-2336019844266157275</id><published>2011-02-21T19:14:00.001+08:00</published><updated>2011-02-21T19:16:38.534+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-21T19:16:38.534+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>icons designed for mobile apps</title><content type="html">&lt;ul&gt;&lt;li&gt;&lt;a href="http://app-bits.com/index.html"&gt;app-bits&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://glyphish.com/"&gt;Glyphish&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-2336019844266157275?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4hO0TYXjbpo9RFsMWglt1n7r-5U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4hO0TYXjbpo9RFsMWglt1n7r-5U/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/4hO0TYXjbpo9RFsMWglt1n7r-5U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4hO0TYXjbpo9RFsMWglt1n7r-5U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/2qiT4pF07xw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/2336019844266157275/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=2336019844266157275" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/2336019844266157275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/2336019844266157275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/2qiT4pF07xw/icons-designed-for-mobile-apps.html" title="icons designed for mobile apps" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2011/02/icons-designed-for-mobile-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcHQH4yfCp7ImA9WxJbEU4.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-5322523731845680135</id><published>2009-07-21T08:58:00.002+08:00</published><updated>2009-07-21T09:00:31.094+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-21T09:00:31.094+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Services" /><title>moFuse: 快速建立 mobile device 專用的 mobile site</title><content type="html">&lt;a href="http://www.mofuse.com/" target="_blank"&gt;mofuse&lt;/a&gt; 只要簡單的幾個步驟就可以將部落格轉換成 mobile site。

這個&lt;a href="http://hongjie.mofuse.mobi" target="_blank"&gt;網址&lt;/a&gt;是我的 blogger 經由 mofuse 轉換後的結果。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-5322523731845680135?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f9CKYI2RlqHA13J-pGCRETmJTaU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f9CKYI2RlqHA13J-pGCRETmJTaU/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/f9CKYI2RlqHA13J-pGCRETmJTaU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f9CKYI2RlqHA13J-pGCRETmJTaU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/Q_pgPyHDIxY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/5322523731845680135/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=5322523731845680135" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5322523731845680135?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5322523731845680135?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/Q_pgPyHDIxY/mofuse-mobile-device-mobile-site.html" title="moFuse: 快速建立 mobile device 專用的 mobile site" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/07/mofuse-mobile-device-mobile-site.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEGQXs6eip7ImA9WxJUFEg.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-60446762499480086</id><published>2009-07-13T10:48:00.001+08:00</published><updated>2009-07-13T10:53:40.512+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-13T10:53:40.512+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Greasemonkey" /><title>Greasemonkey 相關連結</title><content type="html">&lt;ul&gt;&lt;li&gt;&lt;a href="http://jimbojw.com/wiki/index.php?title=Using_Prototype_and_Scriptaculous_with_Greasemonkey"&gt;Using Prototype and Scriptaculous with Greasemonkey&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-60446762499480086?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r5Q77qIpWs4RIX7DLTaUM-cDPuo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r5Q77qIpWs4RIX7DLTaUM-cDPuo/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/r5Q77qIpWs4RIX7DLTaUM-cDPuo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r5Q77qIpWs4RIX7DLTaUM-cDPuo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/xB-9_Mdfcpg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/60446762499480086/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=60446762499480086" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/60446762499480086?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/60446762499480086?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/xB-9_Mdfcpg/greasemonkey.html" title="Greasemonkey 相關連結" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/07/greasemonkey.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FSX05fCp7ImA9WxJVGEg.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-8556868190039191299</id><published>2009-07-06T11:45:00.001+08:00</published><updated>2009-07-06T11:45:18.324+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-06T11:45:18.324+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Testing" /><title>Wbox</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;h2&gt;HTTP 客戶端模式&lt;/h2&gt; 最簡單的使用方式就是把要測試的 URL 當作參數：&lt;pre&gt;% &amp;lt;b&amp;gt;wbox www.google.it&amp;lt;/b&amp;gt;
WBOX www.google.it (64.233.183.99) port 80
0. 200 OK    3774 bytes    407 ms
1. 200 OK    (3767) bytes    273 ms
2. 200 OK    3767 bytes    304 ms
3. 200 OK    3767 bytes    260 ms
user terminated
&lt;/pre&gt;這個模式很類似 &lt;a target='_blank' href='http://en.wikipedia.org/wiki/Ping'&gt;ping&lt;/a&gt;。&lt;b&gt;&lt;br/&gt;&lt;/b&gt; &lt;h3&gt;限制請求的數量&lt;/h3&gt;預設 Wbox 會持續的進行遠端請求，直到使用者輸入 Ctrl+C。我們可以在傳入的 URL 後面加上一個數字指定要發出多少次請求：&lt;pre&gt;% &amp;lt;b&amp;gt;wbox www.google.it/notexistingpage.html 1&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;WBOX www.google.it (64.233.183.103) port 80&amp;lt;br /&amp;gt;0. 404 Not Found    1495 bytes    310 ms&amp;lt;br /&amp;gt;&lt;/pre&gt;更多資訊請參考 &lt;a href='http://hping.org/wbox/' target='_blank'&gt;http://hping.org/wbox/&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-8556868190039191299?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/REIXfflg7tuU72hXrGWISrKBV3U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REIXfflg7tuU72hXrGWISrKBV3U/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/REIXfflg7tuU72hXrGWISrKBV3U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/REIXfflg7tuU72hXrGWISrKBV3U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/5PlYsBC_iOs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/8556868190039191299/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=8556868190039191299" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/8556868190039191299?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/8556868190039191299?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/5PlYsBC_iOs/wbox.html" title="Wbox" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/07/wbox.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIMRXszeCp7ImA9WxJVEUo.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-4249172574511812680</id><published>2009-06-28T12:11:00.003+08:00</published><updated>2009-06-28T15:03:04.580+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T15:03:04.580+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><title>db4o client/server 模式</title><content type="html">從 db4o 的 API 來看，要存取遠端資料庫伺服器跟本地端直接開啟資料庫伺服器以支援同時存取（concurrent transaction）的方法幾乎沒有甚麼不同。要使用同時存取，只要把原本開啟資料庫檔案的方式改換成開啟 db4o 伺服器的模式，並將其啟動於 port 0 即可（因而不需要任何的網路連線）：
&lt;pre name="code" class="c#"&gt;
IObjectServer server = Db4oFactory.OpenServer("db.filename", 0);
try
{
    IObjectContainer client = server.OpenClient();
    // 讓 client 端做某些事情
    // ...
    client.Close();
}
finally
{
    server.Close();
}
&lt;/pre&gt;

在 db4o 中，client 端的 transaction 只處於 read commit（不過每個 client container 都維護一個 weak 參考快取，參考到它所有已知、參考到的物件）。要讓所有 client 端中未決的更新 comment 立即執行，我們可以明確的自伺服器中的更新已知的物件：

&lt;pre name="code" class="c#"&gt;
IObjectContainer client1 =server.OpenClient();
IObjectContainer client2 =server.OpenClient();
IList&lt;Article&gt; result1 = client1.Query&lt;Article&gt;(delegate(Article art)
{
    return art.PMID == "7533967" &amp;&amp; art.GM_Version == GeneMentionTagger.VERSION;
});
IList&lt;Article&gt; result2 = client2.Query&lt;Article&gt;(delegate(Article art)
{
    return art.PMID == "7533967" &amp;&amp; art.GM_Version == GeneMentionTagger.VERSION;
});
Article a = result1.Next();
// 修改 a 的內容
client1.Store(a);
client2.Ext().Refresh(a,Int16.MaxValue); // 取得更新後的內容
client1.Commit();
&lt;/pre&gt;

&lt;h3&gt;遠端資料庫伺服器&lt;/h3&gt;

要讓 db4o 能夠使用 TCP/IP 網路存取遠端的資料庫方法很簡單，只要指定連接埠大於零，並且設定一至多個 client 即可！

&lt;pre name="code" class="c#"&gt;
IObjectServer server = Db4oFactory.OpenServer("db_filename",
655);
server.GrantAccess("user", "passwd");
try
{
    IObjectContainer client = Db4oFactory.OpenClient("localhost",
    655, "user", "passwd");
    // Do something with this client, or open more clients
    client.Close();
}
finally
{
    server.Close();
}
&lt;/pre&gt;

&lt;p&gt;如上例所示，client 連接提供了主機、埠號、使用者名稱和密碼的設定。&lt;/p&gt;

&lt;p&gt;就這樣...其它的使用方式就跟在本地端一模一樣。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-4249172574511812680?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LbmIQ5-5_6uD8ogyB-tEfBe-fjk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LbmIQ5-5_6uD8ogyB-tEfBe-fjk/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/LbmIQ5-5_6uD8ogyB-tEfBe-fjk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LbmIQ5-5_6uD8ogyB-tEfBe-fjk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/a6FNx8W0AD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/4249172574511812680/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=4249172574511812680" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4249172574511812680?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4249172574511812680?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/a6FNx8W0AD0/db4o-clientserver.html" title="db4o client/server 模式" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/06/db4o-clientserver.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUBSXk4fCp7ImA9WxJVEUs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-1239519594987506888</id><published>2009-06-28T11:46:00.002+08:00</published><updated>2009-06-28T12:10:58.734+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T12:10:58.734+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><title>db4o 中的 Transparent Persistence</title><content type="html">如&lt;a href="http://hjdai.blogspot.com/2008/09/db4o.html"&gt;之前的文章&lt;/a&gt;提及，更新深度讓我們可以細緻化的控制物件的更新長度，以便在效能和便利上取得平衡，然而也造成下面的問題：
&lt;ul&gt;&lt;li&gt;設定特定更新深度：程式碼必須知道哪些物件對應的更新深度&lt;/li&gt;&lt;li&gt;當更新深度為最大值時，會造成效能低落，沒用到的物件會被無意義的更新
&lt;/li&gt;&lt;/ul&gt;

一個解決方法也許是讓 db4o 引擎去幫你作決定。這個功能在 db4o 7.1 版時引入，稱之為「Transparent Persistence」（後文簡稱 TP）。db4o 藉由下面方式來支援 TP：
&lt;ol&gt;&lt;li&gt;資料庫必須組態成 &lt;code&gt;TransparentPersistenceSupport&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Persistent 類別必須實做 &lt;code&gt;IActivatable&lt;/code&gt; 介面，該介面在&lt;a href="http://hjdai.blogspot.com/2009/06/db4o-activation.html"&gt; db4o 的 Activation&lt;/a&gt;一文中有介紹。該介面提供了 &lt;code&gt;bind&lt;/code&gt; 方法取得 container 的 activator 物件。&lt;/li&gt;&lt;li&gt;當物件的欄位被修改時，&lt;a href="http://hjdai.blogspot.com/2009/06/db4o-activation.html"&gt; db4o 的 Activation&lt;/a&gt;一文中提及的 &lt;code&gt;Activate()&lt;/code&gt; 方法會被呼叫來儲存物件內容。而&lt;a href="http://hjdai.blogspot.com/2009/06/db4o-activation.html"&gt; db4o 的 Activation&lt;/a&gt;的程式碼中出現的 &lt;code&gt;ActivationPurpose.Write&lt;/code&gt; 會在 TP 中被使用。 &lt;/li&gt;&lt;/ol&gt;

假設使用在&lt;a href="http://hjdai.blogspot.com/2009/06/db4o-activation.html"&gt; db4o 的 Activation&lt;/a&gt;一文中定義的 &lt;code&gt;Article&lt;/code&gt; 物件，我們在開啟資料庫前，先設定好 TP 支援：

&lt;pre name="code" class="c-sharp"&gt;
Db4oFactory.Configure().Add(new TransparentPersistenceSupport());
&lt;/pre&gt;

只要加上這行，再更新物件內容時，只要該物件欲更新的欄位有加上 &lt;code&gt;ActivationPurpose.Write&lt;/code&gt;，則會被自動儲存。

&lt;h4&gt;&lt;a href="http://hjdai.blogspot.com/2009/06/db4o-activation.html"&gt;db4o 的 Activation&lt;/a&gt;一文中提及的主要是取出物件時的情況，這裡是儲存物件的情況&lt;/h4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-1239519594987506888?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fTiZu63BY02fxeZrc5UMK3dCVoA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fTiZu63BY02fxeZrc5UMK3dCVoA/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/fTiZu63BY02fxeZrc5UMK3dCVoA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fTiZu63BY02fxeZrc5UMK3dCVoA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/P8IO-UCX0Wg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/1239519594987506888/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=1239519594987506888" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1239519594987506888?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1239519594987506888?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/P8IO-UCX0Wg/db4o-transparent-persistence.html" title="db4o 中的 Transparent Persistence" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/06/db4o-transparent-persistence.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAFSHwyfip7ImA9WxJVEUs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-5533740690406651886</id><published>2009-06-28T11:18:00.002+08:00</published><updated>2009-06-28T11:45:19.296+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T11:45:19.296+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><title>db4o 的 Activation</title><content type="html">&lt;p&gt;我們在之前的文章提過關於&lt;a href="http://hjdai.blogspot.com/2008/09/db4o.html"&gt;物件更新深度&lt;/a&gt;的問題。db4o 的 Activation 則是設計用來簡化處理更新深度問題，達到 transpartent activation 的效果！&lt;/p&gt;
&lt;p&gt;
如同在&lt;a href="http://hjdai.blogspot.com/2008/09/db4o.html"&gt;物件更新深度&lt;/a&gt;一文中提到的，我們先將資料庫內塞滿 &lt;code&gt;Article&lt;/code&gt; 物件。若是我們不再開啟資料庫前設定好更新深度的相關參數，則可能會造成取出的物件有部分內容是 null 值。
&lt;/p&gt;
&lt;p&gt;要讓 db4o 運行於 Transparent Activation 模式的方法很簡單：&lt;/p&gt;

&lt;pre name="code" class="c#"&gt;
Db4oFactory.Configure().Add(new TransparentActivationSupport());
&lt;/pre&gt;

就這樣，我們不需要再擔心會遇到 null 值的問題了！實際上，當啟用 Transparent Activation 模式時，任何未實做 &lt;code&gt;Db4objects.Db4o.TA.IActivatable&lt;/code&gt; 介面的物件被使用時將會自動的 activate。很明顯的是，這種方式會造成記憶體的大量消耗，也造成載入時間變慢。要避免這種情況，我們可以替我們的類別實做 &lt;code&gt;Activatable&lt;/code&gt; 介面。下面是我們將 &lt;code&gt;Article&lt;/code&gt; 物件加上 &lt;code&gt;Activatable&lt;/code&gt; 的實做：

&lt;pre name="code" class="c#"&gt;
public class Article: IActivatable
{  
   // ...

   [Transient]
   private IActivator _activator;

   private Sentence title;  
   public Sentence SentenceOfTitle  
   {  
       get { Activate(ActivationPurpose.Read);
             return title; }  
       set { Activate(ActivationPurpose.Write);
             title = value; }  
   }  
   
   // 這裡假設 IsStructure 不需要 activation
   private bool _IsStructure;  
   public bool IsStructure  
   {  
       get { // Activate(ActivationPurpose.Read);
             return _IsStructure; }  
       set { // Activate(ActivationPurpose.Write);
             _IsStructure = value; }  
   }  
   
    private List&lt;Sentence&gt; _SentencesOfAbs;  
    public List&lt;Sentence&gt; SentencesOfAbstract  
    {  
       get { Activate(ActivationPurpose.Read);
             return _SentencesOfAbs; }  
       set { Activate(ActivationPurpose.Write);
             _SentencesOfAbs = value; }  
    }  

    public override String ToString()
    {
       Activate(ActivationPurpose.Read);
       return string.Format("T:{0}", title);
    }

    // implement IActivatable
    public void Activate(ActivationPurpose purpose)
    {
        if(_activator != null)
        {
            _activator.Activate(purpose);
        }
    }
    public void Bind(IActivator activator)
    {
        if (_activator == activator)
        {
            return;
        }
        if (activator != null &amp;&amp; null != _activator)
        {
            throw new System.InvalidOperationException();
        }
        _activator = activator;
    }
} 
&lt;/pre&gt;

一個 &lt;code&gt;IActivatable&lt;/code&gt; 類別必須儲存 db4o 提供給 &lt;code&gt;bind&lt;/code&gt; 方法的&lt;code&gt;Activator&lt;/code&gt; 物件於一個 transient 變數中（上例中的 &lt;code&gt;_activator&lt;/code&gt; 變數），並且在預被 active 的欄位被呼叫前，呼叫 &lt;code&gt;Activate()&lt;/code&gt; 方法。假若該物件已經被 activate，這個方法會立即回傳，否則 activation 會自動發生。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-5533740690406651886?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_47nh4v9Mg87X8Q6B50gOlahSVI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_47nh4v9Mg87X8Q6B50gOlahSVI/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/_47nh4v9Mg87X8Q6B50gOlahSVI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_47nh4v9Mg87X8Q6B50gOlahSVI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/ieyfDc1uir0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/5533740690406651886/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=5533740690406651886" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5533740690406651886?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5533740690406651886?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/ieyfDc1uir0/db4o-activation.html" title="db4o 的 Activation" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/06/db4o-activation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBRn0_fSp7ImA9WxJVEUg.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-3651895683219035104</id><published>2009-06-28T10:52:00.003+08:00</published><updated>2009-06-28T11:17:37.345+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T11:17:37.345+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><title>db4o 的 Transaction</title><content type="html">在 db4o 中，基本上我們對資料庫做任何動作，都處於一個 transaction 中；也就是說，當我們開啟一個 db4o 的 container，就會自動啟始一個 transaction，當我們關閉 container 時，也會自動的進行 commit。

&lt;textarea name="code" class="c#" cols="60" rows="10"&gt;
// storeCarCommit
Pilot pilot = new Pilot("Rubens Barrichello", 99);
Car car = new Car("BMW");
car.Pilot = pilot;
db.Store(car);
db.Commit();  // 這行可以省略
&lt;/textarea&gt;

若是我們要 rollback 回前一次的 commit 點，則可以直接呼叫 &lt;code&gt;Rollback()&lt;/code&gt; 方法：

&lt;textarea name="code" class="c#" cols="60" rows="10"&gt;
Pilot pilot = new Pilot("Michael Schumacher", 100);
Car car = new Car("Ferrari");
car.Pilot = pilot;
db.Store(car);
// rollback
&lt;/textarea&gt;

但是，事實上，這邊存在一個問題，那就是：當我們對於一個存資料庫取出的物件做修改後（稱為 live object），那麼我們就無法 rollback 該物件於資料庫中。

&lt;textarea name="code" class="c#" cols="60" rows="10"&gt;
IObjectSet result = db.QueryByExample(new Car("BMW"));
Car car = (Car)result.Next();
// 對 car 做某些修改物件內容的動作
// ...

db.Store(car);
db.Rollback(); // 雖然可以編譯成功，但是事實上並未真正 rollback
&lt;/textarea&gt;

我們必須要明確的刷新我們的 live object，方法如下：

&lt;textarea name="code" class="c#" cols="60" rows="10"&gt;
IObjectSet result=db.QueryByExample(new Car("BMW"));
Car car=(Car)result.Next();
// 更新 car 的 Ma
db.Store(car);
db.Rollback();
db.Ext().Refresh(car, int.MaxValue); // 刷新；第二個參數是要更新物件成員樹更新深度
&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-3651895683219035104?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/naBrOr-jWgQY3uGNiGM1JE1fLAM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/naBrOr-jWgQY3uGNiGM1JE1fLAM/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/naBrOr-jWgQY3uGNiGM1JE1fLAM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/naBrOr-jWgQY3uGNiGM1JE1fLAM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/vgVJEDEUtTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/3651895683219035104/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=3651895683219035104" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/3651895683219035104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/3651895683219035104?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/vgVJEDEUtTc/db4o-transaction.html" title="db4o 的 Transaction" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/06/db4o-transaction.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MBQXs5cCp7ImA9WxJVEU0.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-4019657853497262599</id><published>2009-06-27T17:27:00.004+08:00</published><updated>2009-06-27T19:17:30.528+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T19:17:30.528+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><title>在 Javascript Array 中插入元素</title><content type="html">方法是利用 &lt;a href="http://www.w3schools.com/jsref/jsref_slice_array.asp"&gt;splice&lt;/a&gt;；這個方法除了一般用法外，可以接受如下三個參數：

Array.splice(index, howMany, [element1][, ..., elementN])

&lt;ul&gt;&lt;li&gt;第一個參數是開始移除元素的 index（從 0 開始）&lt;/li&gt;&lt;li&gt;第二個參數是要移除多少個元素&lt;/li&gt;&lt;li&gt;之後的參數就是要插入的元素&lt;/li&gt;&lt;/ul&gt;所以若是我們要在陣列的開頭位置插入一個元素“23＂，我們可以用如下的方式達成：

&lt;pre name="code" class="js"&gt;
// info 為一個 Array
var new_array=info.splice(0,0,"23");
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-4019657853497262599?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EIjR_nOsF_O-M4iaahV0Umvt7qY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EIjR_nOsF_O-M4iaahV0Umvt7qY/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/EIjR_nOsF_O-M4iaahV0Umvt7qY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EIjR_nOsF_O-M4iaahV0Umvt7qY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/fdRr9KMsntI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/4019657853497262599/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=4019657853497262599" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4019657853497262599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/4019657853497262599?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/fdRr9KMsntI/javascript-array.html" title="在 Javascript Array 中插入元素" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/06/javascript-array.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cESHk-cSp7ImA9WxJQEk4.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-1359738985454103687</id><published>2009-05-25T16:06:00.001+08:00</published><updated>2009-05-25T16:10:09.759+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-25T16:10:09.759+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IIS" /><title>讓 IIS 6.0  運行於 32 bit 模式</title><content type="html">參考 &lt;a href="http://support.microsoft.com/kb/894435"&gt;如何在 64 位元版的 Windows 上切換 32 位元版的 ASP.NET 1.1 與 64 位元版的 ASP.NET 2.0&lt;/a&gt; 一文

主要方法節錄如下：

&lt;span class="userInput"&gt;cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1


&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-1359738985454103687?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PUQkbNegB4ZD-r8QzTRyXns5nXk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PUQkbNegB4ZD-r8QzTRyXns5nXk/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/PUQkbNegB4ZD-r8QzTRyXns5nXk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PUQkbNegB4ZD-r8QzTRyXns5nXk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/nbdkREhh5n0" height="1" width="1"/&gt;</content><link rel="related" href="http://support.microsoft.com/kb/894435" title="讓 IIS 6.0  運行於 32 bit 模式" /><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/1359738985454103687/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=1359738985454103687" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1359738985454103687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/1359738985454103687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/nbdkREhh5n0/iis-60-32-bit.html" title="讓 IIS 6.0  運行於 32 bit 模式" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/05/iis-60-32-bit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYAR348eip7ImA9WxVbGE4.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-7254857256574145626</id><published>2009-04-04T16:28:00.004+08:00</published><updated>2009-04-04T16:35:46.072+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-04T16:35:46.072+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="db4o" /><title>用 index 改善 db4o query 的效能</title><content type="html">在 code 中記得要對會需要進行 query 的 field 進行 index，可以大幅改善效能。下面是一個例子：

&lt;pre name="code" class="c-sharp"&gt;
Db4oFactory.Configure().ObjectClass(typeof(GeneOntologyInfo)).ObjectField("id").Indexed(true);  // 重點是這段；因為我們會常常搜尋 id==X 的物件，故對該 field 進行 index
gene2GO = Db4oFactory.OpenFile(GENE2GO_DB);
using (StreamReader r = new StreamReader(GENE2GO_SOURCE))
{
 while ((line = r.ReadLine()) != null)
 {                            
   string[] info = Regex.Split(line, @"\t");
   GeneOntologyInfo ginfo = new GeneOntologyInfo(info[2], info[3], info[4], info[0]);
   gene2GO.Store(ginfo);
 }
}


// query 的程式碼
IQuery query = gene2GO.Query();
query.Constrain(typeof(GeneOntologyInfo));
query.Descend("id").Constrain(id);
IObjectSet result = query.Execute();
// 略
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-7254857256574145626?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oXVk0k59vRt8Cono94ISsJ_rDYE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oXVk0k59vRt8Cono94ISsJ_rDYE/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/oXVk0k59vRt8Cono94ISsJ_rDYE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oXVk0k59vRt8Cono94ISsJ_rDYE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/kyWRMV8KQxs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/7254857256574145626/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=7254857256574145626" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7254857256574145626?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/7254857256574145626?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/kyWRMV8KQxs/index-db4o-query.html" title="用 index 改善 db4o query 的效能" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/04/index-db4o-query.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcNQXk5cCp7ImA9WxVUFEs.&quot;"><id>tag:blogger.com,1999:blog-4613784366551056198.post-5471112483875843447</id><published>2009-03-19T11:12:00.003+08:00</published><updated>2009-03-19T18:54:50.728+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-19T18:54:50.728+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VSS" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>VS2005+VSS 經由 Internet</title><content type="html">&lt;ol&gt;&lt;li&gt;安裝 VSS&lt;/li&gt;&lt;li&gt;安裝完畢後，開啟 VS2005&lt;/li&gt;&lt;li&gt;工具-&gt;選項-&gt;原始檔控制-&gt;外掛程式選擇：選取 Microsoft Visual SourceSafe (Internet)&lt;/li&gt;&lt;li&gt;開啟-&gt;方案-&gt;SourceSafe (Internet)-&gt;Add SourceSafe Database&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Address: 輸入 VSS server 網址（如 localhost）&lt;/li&gt;&lt;li&gt;Folder: 輸入 VSS folder（如 \\localhost\VSS）&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;在跳出的視窗中輸入 VSS 的帳號和密碼&lt;/li&gt;&lt;li&gt;成功加入 SourceSafe Database 後，在列表中選取加入的資料庫，接著選取要開啟的專案即可&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4613784366551056198-5471112483875843447?l=hjdai.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lg2BW5KqMVZQqHA3tvlvsG0HYbI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lg2BW5KqMVZQqHA3tvlvsG0HYbI/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/lg2BW5KqMVZQqHA3tvlvsG0HYbI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lg2BW5KqMVZQqHA3tvlvsG0HYbI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Hjtaipei/~4/upzhaJVomYM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hjdai.blogspot.com/feeds/5471112483875843447/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4613784366551056198&amp;postID=5471112483875843447" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5471112483875843447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4613784366551056198/posts/default/5471112483875843447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Hjtaipei/~3/upzhaJVomYM/vs2005vss-internet.html" title="VS2005+VSS 經由 Internet" /><author><name>Hong Jie</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://hjdai.blogspot.com/2009/03/vs2005vss-internet.html</feedburner:origLink></entry></feed>

