<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>聰明的生活2 &#187; 架站</title>
	<atom:link href="http://blog.yslifes.com/archives/category/website/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yslifes.com</link>
	<description>自己寫java程式的一些筆記</description>
	<lastBuildDate>Wed, 08 Feb 2012 02:26:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.yslifes.com/?pushpress=hub'/>
		<item>
		<title>[JAVA]連絡我們表單程式前台</title>
		<link>http://blog.yslifes.com/archives/979</link>
		<comments>http://blog.yslifes.com/archives/979#comments</comments>
		<pubDate>Mon, 16 Jan 2012 13:49:56 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/979</guid>
		<description><![CDATA[這是個很常在官方網頁看到的程式，在這種表單之前要與官方網站人員連絡，只能使用email，只是這email address會被人故意的收集，發送垃圾郵件，十分讓人困擾。 在表單的設計上，需要讓網站人員能知道是誰留了資料，所以連絡的方式一定要讓使用者留下，所以設計畫面如下：類型、標題、姓名、EMail、電話及內容。 按下送出，可存於資料庫裡，這裡可以再加一個send mail的動作，不過目前這個範例並沒有實作。 MySQL資料表 delimiter $$ &#160; CREATE TABLE `contact` &#40; `id` INT&#40;11&#41; NOT NULL AUTO_INCREMENT, `title` VARCHAR&#40;500&#41; DEFAULT NULL, `content` text, `user_name` VARCHAR&#40;45&#41; DEFAULT NULL, `user_email` VARCHAR&#40;45&#41; DEFAULT NULL, `user_tel` VARCHAR&#40;45&#41; DEFAULT NULL, `kind` VARCHAR&#40;45&#41; DEFAULT NULL, `postdate` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP, `replydate` TIMESTAMP NULL DEFAULT NULL, PRIMARY KEY &#40;`id`&#41; &#41; ENGINE=MyISAM [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/979/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何新增Joomla樣板(template)</title>
		<link>http://blog.yslifes.com/archives/970</link>
		<comments>http://blog.yslifes.com/archives/970#comments</comments>
		<pubDate>Tue, 04 Oct 2011 11:46:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[軟體介紹]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[樣板]]></category>
		<category><![CDATA[樣版]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/970</guid>
		<description><![CDATA[joomla網頁主要是由樣板html及後台資料所組合而成的，可先由photoshop、Dreamviewer等軟體製作好畫面並切好成一區塊一區塊的的，再由joomla Module來控制輸出資料狀況，這就是樣板樣生成網頁的方式。 Joomla安裝完成後會有幾個樣板範例，可由這幾個範例來做延伸，下圖是安裝完後的首頁內容。 可以把網頁內容分成數個區塊，每一個區塊的資料都是由joomla的module對應所產生的內容。 樣板放置的位置為joomla安裝目錄下templates裡，每一個樣板都有自己的目錄名稱，joomla在有安裝範例樣資料的狀況下，使用rhuk_milkyway做為其預設樣板。 可由joomla選單上，選擇Template Manager來設定使用的樣板。 在樣板目錄下有二個檔案比較重要，一是index.php，此為樣板的內容，而另一是templateDetails.xml，此檔案定義了在樣板要使用的模組、內容及參數等。 打開templateDetails.xml，可定義其 樣板名稱name 建立樣板日期creationDate 樣板作者名稱author 作者電子郵件authorEmail copyright資訊copyright 版權license 版本version 描述description 等等等 其中files裡內容需提供所有在樣板會使用到的內容，包含php、html、圖片、css及javascript等，而在positions裡則需告知要對應及使用的模組有那一些，可由後台新增相對應內容來顯示資料。 再來用一個簡單的例子說明如何把資料對應到樣板再輸出成html顯示於使用者端。 下圖Latest News及Popular為二塊資料顯示區。 打開index.php，內容的對應可使用以下語法 &#60;jdoc:include type=”modules=” name=” templateDetails.xml裡positions名稱” /&#62; 可輸出positions為user1及user2二個的內容，其中user1為Latest News區塊資料而user2為Popular區塊資料。 建立資料內容，可由joomla後台Extensions－＞Module Manager來管理及建立資料。 由上方New按扭來增加需要的模組內容。 在建立module時，Position需選擇在templateDetails.xml定義之名稱，就可以連接資料與網頁內容了。 其它補充： 在index.php建立時在header之前之內容，可以自訂需要載入之css及javascript等 網頁主要的內容，也就是每頁的文章顯示則由 &#60;jdoc:include type=”component” /&#62; 來顯示其內容資料]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/970/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All in One SEO中文描述Descriptions支援問題解決方法</title>
		<link>http://blog.yslifes.com/archives/932</link>
		<comments>http://blog.yslifes.com/archives/932#comments</comments>
		<pubDate>Tue, 19 Apr 2011 22:51:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/932</guid>
		<description><![CDATA[wordpress的外掛All in one SEO不知道在幾版後突然就對繁體中文的支援度降低了(消失?)了，在options裡設定自動取得meta descriptions對於中文文章並不會有作用，而且英文字詞間是以空白做為分格與中文字連續沒有分格不同，像是”Hello World !”與”哈囉世界!”，在取descriptions就會有明顯有問題。 搜尋了一下資料找到了一個解決方式，如下： 1.先到外掛編輯器 2.選擇要編輯的外掛All in One SEO Pack，然後按下選取，選擇All-in-one-seo-pack/aioseop.class.php這個檔案。 3.在編輯畫面前端找到$maximum_description_length=150這個變數，把值改成300或更高，建議不要超過450個字，這個變數主要在控制meta descriptions取字的長度，中文字的編碼utf8一個長度是3(?)。 var $version = &#34;1.6.13.2&#34;; &#160; /** Max numbers of chars in auto-generated description */ var $maximum_description_length = 300; &#160; /** Minimum number of chars an excerpt should be so that it can be used * as description. Touch only [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/932/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apache lucene-取得html內容建立索引檔</title>
		<link>http://blog.yslifes.com/archives/915</link>
		<comments>http://blog.yslifes.com/archives/915#comments</comments>
		<pubDate>Wed, 06 Apr 2011 23:04:52 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/915</guid>
		<description><![CDATA[之前有介紹過怎麼讀取檔案來製作lucene的索引檔，這裡再提供另一個類似的方法，先從網路上取得網頁的html內容，有點像網路的爬蟲，爬取資料後再來建立索引檔。 程式有簡單的html資料取得的方式，需要更進階的方法可以參考URLConnection來實作get及post動作這一篇。 原始碼如下： 取得網頁資料建立索引內容 package testlucene; &#160; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.util.Date; import org.apache.lucene.document.Document; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; &#160; public class LuceneIndexHtml &#123; &#160; private IndexWriter writer = null; &#160; // 做測試的網址 private String url&#91;&#93; = &#123; &#34;http://catyku.pixnet.net/blog/post/22417532&#34;, &#34;http://catyku.pixnet.net/blog/post/22393052&#34;, &#34;http://catyku.pixnet.net/blog/post/22561736&#34; &#125;; &#160; private Document doc = null; &#160; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/915/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>apache lucene-建立自己的搜尋引擎-刪除已建立索引資料</title>
		<link>http://blog.yslifes.com/archives/914</link>
		<comments>http://blog.yslifes.com/archives/914#comments</comments>
		<pubDate>Wed, 06 Apr 2011 15:27:10 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/914</guid>
		<description><![CDATA[當索引資料已被建立，需要刪除此筆資document料時，只要利用索引key值查到此筆資料document，然後利用deleteDocuments來刪除此筆資料document。 lucene有二種索引存放方式 RAM Directory記憶體，速度快，但程式結束後資料就不見了 FS Directory檔案系統，資料永久存在，一般比較常用 程式範例先建立二筆資料document，然後對第一筆資料document的test這個key field做刪除動作。此範例使用Ram Directory記憶體來存放索引值，可以與上一篇範例製作索引檔做比較。 原始碼： package testlucene; &#160; import org.apache.lucene.analysis.standard.*; import org.apache.lucene.document.*; import org.apache.lucene.index.*; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.*; &#160; public class DeleteTest &#123; public static void main&#40;String&#91;&#93; args&#41; throws Exception &#123; &#160; // 建構兩個文件檔案物件 Document doc1 = new Document&#40;&#41;; doc1.add&#40;new Field&#40;&#34;name&#34;, &#34;key1 key2 key3&#34;, Field.Store.YES, Field.Index.TOKENIZED&#41;&#41;; //做為刪除的索引key值 doc1.add&#40;new Field&#40;&#34;test&#34;, &#34;testword&#34;, [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/914/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apache lucene-建立自己的搜尋引擎-查詢資料</title>
		<link>http://blog.yslifes.com/archives/913</link>
		<comments>http://blog.yslifes.com/archives/913#comments</comments>
		<pubDate>Wed, 06 Apr 2011 14:51:39 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/913</guid>
		<description><![CDATA[搜尋引擎最重要的功能就是查詢資料了，當建立好索引檔後，就可以針對索引檔內容進行查詢，索引資料可分為有做分詞及未做分詞，未做分詞的索引資料，只有全部內容均相同才會找到此筆資料，有做分詞者，則依分詞類型，可能有單字索引，雙字索引或中文字詞索引等，索引做的越好，搜尋到的資料會越精準。 資料Field也分成儲存及不存儲二種，當選擇儲存Store.YES時，查詢到此筆資料時則可以直接取用，不過此方法會佔用較多的空間，不存儲方法Store.NO則相反。 索引資料內容如下： 原始碼如下： package testlucene; import java.util.Date; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexReader; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; &#160; public class LuceneSearch &#123; private IndexSearcher searcher = null; private Query query = null; private Analyzer analyzer = new StandardAnalyzer&#40;&#41;; &#160; public LuceneSearch&#40;&#41; &#123; try &#123; //建立查詢器 searcher = new [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/913/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>apache lucene-建立自己的搜尋引擎-索引檔</title>
		<link>http://blog.yslifes.com/archives/910</link>
		<comments>http://blog.yslifes.com/archives/910#comments</comments>
		<pubDate>Wed, 06 Apr 2011 14:06:09 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/910</guid>
		<description><![CDATA[apachelucene是一套opensource的Search-Engine，搜尋效果比直接使用資料庫條件like還要來的好，而且也不會佔用到資料庫的資源，只需要使用到硬碟的IO，所以可以把搜尋引擎另外做到另一個硬碟，或是放到另一台主機上，單獨成搜尋引擎Server，設計成Multi-Tires架構。 在使用apache lucene時，需要先把資料建立成索引檔，搜尋時則直接取用索引資料，來加快查詢的速度，不同類型的資料可以依需求建立成不同的搜尋索引檔，以下範例是如何建立一組索引檔。 索引檔內容如下圖： 需要使用到的jar classpath為lucene-x.x.x.jar，可由官網下載，此範例使用2.3版本，新版本可能用法會不太一樣，如果需要中文的切詞器，可以找到庖丁解字這個opensource的framework。 原始碼如下： package testlucene; import java.io.*; import java.util.Date; import org.apache.lucene.document.Document; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; &#160; &#160; public class LuceneIndex &#123; &#160; private IndexWriter writer = null ; &#160; public LuceneIndex&#40;&#41; &#123; try &#123; //建立index的寫入器 //使用標準的分詞器 //重新建立索引檔,也就是之前的檔案會全數重建 writer = new IndexWriter&#40;&#34;d:\\index&#34;, new StandardAnalyzer&#40;&#41;,true&#41;; &#125; catch&#40;Exception e&#41; &#123; &#160; &#125; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/910/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Java]簡單的排程Schedule程式</title>
		<link>http://blog.yslifes.com/archives/814</link>
		<comments>http://blog.yslifes.com/archives/814#comments</comments>
		<pubDate>Sun, 28 Nov 2010 23:09:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[command]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/814</guid>
		<description><![CDATA[之前主機一直被強迫斷線，而且設定了自動ADSL重撥都沒作用，應該是程式被強迫關閉了，所以重撥功能也才沒做用，本來想利用Windows排程，定時一直自動重撥ADSL，不過重撥後還要把ICS Bind DNS Server重啟才有作用，所以簡單的規畫了一個程式，可以設定在Windows排程式，開機後執行，而我是設定在ADSL自動撥號及DNS啟動後執行（一個command檔）。 程式功能很簡單，主要在啟動時把需要排程執行的thread class全都載入及執行，而定時的部份在每一個thread class裡，利用sleep來間隔執行，不過這會有執行內容時間上的問題，程式還有很多需要改進的地方，像是讀取外部檔來設定排程、排程中斷等目前都還沒加入，等有空時再慢慢增加。 測試ADSL是否斷線是利用執行command指令ipconfig /all 來取得default gateway是否存在著ip位置，如果不存在則執行command 來啟動撥號ADSL，並重啟ICS Bind DNS Server，設定時間是30分鐘檢查一次。不過這是我的環境，需要的人可能要修改些地方。 程式碼如下： TaskManager 啟動的Main Class package yku; &#160; import java.io.*; &#160; //Main start public class TaskManager implements java.lang.Runnable &#123; private java.util.List&#60;yku.TaskRunner&#62; taskList; &#160; // 載入要排程的程式,並設定間隔時間1000 = 1秒 public TaskManager&#40;&#41; &#123; taskList = new java.util.ArrayList&#60;yku.TaskRunner&#62;&#40;&#41;; // NetTest implements Task taskList.add&#40;new TaskRunner&#40;new NetTest&#40;&#41;, [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/814/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP環境Apache出現失敗的模組ntdll.dll</title>
		<link>http://blog.yslifes.com/archives/747</link>
		<comments>http://blog.yslifes.com/archives/747#comments</comments>
		<pubDate>Thu, 21 Oct 2010 15:28:48 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[教學]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[eeebox]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[WINDOWS]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/747</guid>
		<description><![CDATA[最近流量有一點點增長，不過網站的速度跟常常出現失敗的模組ntdll.dll錯誤，搞的主機會停住很久才回應網頁，之前流量小點時不太常出現，而查看方向也一直在Apache跟mysql的調整上，不過似乎沒什麼用，google一下，幾乎都說是中毒了、重灌就好了，不過重灌似乎不是很好的解決方式。 失敗的事件內容可以從控制台－＞系統管理工具－＞事件檢視器－＞Windows記錄（應用程式） 失敗的應用程式httpd.exe，版本2.2.8.0，失敗的模組 ntdll.dll，版本5.1.2600.5755，錯誤位址 0x0001aa21。 其實這是因為網路的連線數超過xp的上限而出現的錯誤，中毒或是使用BitComet P2P等軟體都有可能會發生，所以解決的方式就是把連線數調高就可以了，可以使用 TCP/IP Patcher這個軟體來調高XP SP3的連線數，不過vista、windows 7好像不能使用。 軟體下載及介紹可以參考 重灌狂人-「TCP/IP Patcher」破解Windows XP SP3連線數限制！ ps.調太高也不太好，如果真的中毒了會一直對外發送大量的封包]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/747/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google應用服務-Mail Server的設定</title>
		<link>http://blog.yslifes.com/archives/711</link>
		<comments>http://blog.yslifes.com/archives/711#comments</comments>
		<pubDate>Wed, 15 Sep 2010 14:08:03 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[架站]]></category>
		<category><![CDATA[軟體介紹]]></category>
		<category><![CDATA[免費]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/711</guid>
		<description><![CDATA[繼上一篇Google應用服務申請介紹-使用自己網域的Mail Server都設定好後，再來設定MX指向Google的服務，如此Mail就可以正式使用了，還可以使用POP3、SMTP及IMAP服務。 1.開立帳號可以至使用者與權限tab裡設定及建立 2.設定mail的使用需要設定DNS 的MX 在服務設定裡選定電子郵件，然後到數第三列那裡有一個啟動電子郵件 指示如何啟動電子郵件 選擇變您的MX記錄 3.會有指示怎麼設定MX 要注意最後方還有一個&#34;點&#34; IN MX 10 ASPMX.L.GOOGLE.COM. IN MX 20 ALT1.ASPMX.L.GOOGLE.COM. IN MX 20 ALT2.ASPMX.L.GOOGLE.COM. IN MX 30 ASPMX2.GOOGLEMAIL.COM. IN MX 30 ASPMX3.GOOGLEMAIL.COM. IN MX 30 ASPMX4.GOOGLEMAIL.COM. IN MX 30 ASPMX5.GOOGLEMAIL.COM. &#160; 4.存檔後一陣子就可以被驗證成功了 然後就可以寄信給自己試看看 Mail的收信介面網址http://mail.google.com/a/你的網域 再來可做可不做 5.設定服務的網域 在原本的管理panel裡，各項服務的網址如果想改成在自己的網域裡，可以利用更改CNAME來指定 以電子郵件為例，按電子郵件進入設定 6.選擇變更網址 7.輸入想要自訂的名稱 ex. mail&#160;&#160; 則可以直接輸入http://mail.你的網域 就可以進入Mail的收信畫面 8.google會指示如何設定CNAME mail.你的網域. IN [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/711/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

