<?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>弦の手記</title>
	<atom:link href="http://blog.frost.tw/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.frost.tw</link>
	<description>紀錄關於弦夜的日記</description>
	<lastBuildDate>Tue, 09 Mar 2010 11:09:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>未來的道路</title>
		<link>http://blog.frost.tw/life/poston-2010-03-09/postid-443</link>
		<comments>http://blog.frost.tw/life/poston-2010-03-09/postid-443#comments</comments>
		<pubDate>Tue, 09 Mar 2010 11:09:14 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[生活雜記]]></category>
		<category><![CDATA[成長]]></category>
		<category><![CDATA[未來]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=443</guid>
		<description><![CDATA[今天班導突然談起科系問題，讓我又再次思考了系所問題。
下課後，我鼓起勇氣去尋求班導的意見。
因此，我得到了一個新的「結果」

在我對班導提出我的目標、夢想之後。
班導給我的建議就是：「選擇商業設計系」
經過「漫步在大學」的資料查詢之後，我發現……
「沒有公立學校！」這點讓我很頭痛。
我的家境只能說是普通，讀書目標並不會被硬性規定。
但是父母只希望我和妹妹能夠「考公立學校」
當然，我也整天想著為父母減輕負擔。
可惜，我的夢想、希望，卻是需要用昂貴的私利學校來支付。
但是，父母一直保持鼓勵我的態度。
所以我也不想放棄這條路，那麼，我該如何選擇呢？
目前暫時看了「銘傳大學」的獎學金制度，其實競爭很激烈。
學測、面試，依照結果選出一名獎學金得主，四年四十萬，其實省下很多。
但是，學測成績要求是全國前 10% 的成績。
如果將滿級分乘以 0.9 出來的結果是 67.5 級分左右。
而這個分數，幾乎是我們學校的上限。
那我該怎麼辦？
今天晚上會和母親好好討論這個問題……
「商業設計學系」難道我就和此系無緣嗎？
我這麼多年努力培養的能力，就要因為這樣而做廢？
當我看見商業設計的必修、未來發展時，我已經了解到他會比美術系更好。
因為「都有修網頁設計」而且「推薦門檻低」
這對於我來說是更加適合的！
但是，在「物質」與「夢想」的抉擇，卻讓我兩難。
「要我讀書讀到頂尖，這真的有可能嗎？」
雖然我一直知道，我並沒有用功，但是當我用功、努力，卻仍是失敗了呢？
「我做太多『絕對』的要求，我不允許自己失敗。」
但是，恐懼怎麼辦？
我該向前，還是就默默的屈服呢？
「一條新的道路，卻充滿了『荊棘』」
]]></description>
			<content:encoded><![CDATA[<p>今天班導突然談起科系問題，讓我又再次思考了系所問題。<br />
下課後，我鼓起勇氣去尋求班導的意見。<br />
因此，我得到了一個新的「結果」<br />
<span id="more-443"></span><br />
在我對班導提出我的目標、夢想之後。<br />
班導給我的建議就是：「選擇商業設計系」</p>
<p>經過「漫步在大學」的資料查詢之後，我發現……<br />
「沒有公立學校！」這點讓我很頭痛。</p>
<p>我的家境只能說是普通，讀書目標並不會被硬性規定。<br />
但是父母只希望我和妹妹能夠「考公立學校」</p>
<p>當然，我也整天想著為父母減輕負擔。<br />
可惜，我的夢想、希望，卻是需要用昂貴的私利學校來支付。</p>
<p>但是，父母一直保持鼓勵我的態度。<br />
所以我也不想放棄這條路，那麼，我該如何選擇呢？</p>
<p>目前暫時看了「銘傳大學」的獎學金制度，其實競爭很激烈。<br />
學測、面試，依照結果選出一名獎學金得主，四年四十萬，其實省下很多。</p>
<p>但是，學測成績要求是全國前 10% 的成績。<br />
如果將滿級分乘以 0.9 出來的結果是 67.5 級分左右。<br />
而這個分數，幾乎是我們學校的上限。</p>
<p>那我該怎麼辦？<br />
今天晚上會和母親好好討論這個問題……</p>
<p>「商業設計學系」難道我就和此系無緣嗎？<br />
我這麼多年努力培養的能力，就要因為這樣而做廢？</p>
<p>當我看見商業設計的必修、未來發展時，我已經了解到他會比美術系更好。<br />
因為「都有修網頁設計」而且「推薦門檻低」<br />
這對於我來說是更加適合的！</p>
<p>但是，在「物質」與「夢想」的抉擇，卻讓我兩難。<br />
「要我讀書讀到頂尖，這真的有可能嗎？」<br />
雖然我一直知道，我並沒有用功，但是當我用功、努力，卻仍是失敗了呢？<br />
「我做太多『絕對』的要求，我不允許自己失敗。」<br />
但是，恐懼怎麼辦？</p>
<p>我該向前，還是就默默的屈服呢？<br />
「一條新的道路，卻充滿了『荊棘』」</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/life/poston-2010-03-09/postid-443"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/life/poston-2010-03-09/postid-443/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY一個PHP留言板之資料存取(四)</title>
		<link>http://blog.frost.tw/web-project/poston-2010-03-08/postid-441</link>
		<comments>http://blog.frost.tw/web-project/poston-2010-03-08/postid-441#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:59:35 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[網站專案]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[專案]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=441</guid>
		<description><![CDATA[呼呼~
接下來是製作刪除檔案的處理，其實這方面只是把之前讀取留言的功能改良而已。
除了改成只「讀主題」和「加入刪除函式」之外，就沒有其他的處理。

首先，在目錄下建立一個 remove.php 的檔案，並且撰寫程式碼(如下)

&#60;?php

function removeComment(array $paths){ //建立移除函式
	foreach($paths as $path){ //將路徑陣列一個一個讀取
		if(!is_file($path)) continue; //如果不是檔案則切到下一個繼續
		unlink($path); //刪除檔案
		++$i;
	}
	return $i;
}

function getSubject($file){ //建立 getSubject 函式
	$data = file_get_contents($file); //讀取檔案內容
	$data...]]></description>
			<content:encoded><![CDATA[<p>呼呼~<br />
接下來是製作刪除檔案的處理，其實這方面只是把之前讀取留言的功能改良而已。<br />
除了改成只「讀主題」和「加入刪除函式」之外，就沒有其他的處理。<br />
<span id="more-441"></span><br />
首先，在目錄下建立一個 remove.php 的檔案，並且撰寫程式碼(如下)</p>
<pre class="brush: php">
&lt;?php

function removeComment(array $paths){ //建立移除函式
	foreach($paths as $path){ //將路徑陣列一個一個讀取
		if(!is_file($path)) continue; //如果不是檔案則切到下一個繼續
		unlink($path); //刪除檔案
		++$i;
	}
	return $i;
}

function getSubject($file){ //建立 getSubject 函式
	$data = file_get_contents($file); //讀取檔案內容
	$data = explode(PHP_EOL, $data); //以斷行分割檔案內容( PHP_EOL 會依照作業系統切換 \n 或 \r\n )

	foreach($data as $key => $line){ //將內容陣列放入 foreach 運作
		if($line == ';subject'){ //檢查是否為註解
			$logSubject = (bool) true; //啟動紀錄主旨
			continue; //直接結束本次迴圈
		}

		if(!$logSubject) continue; //如果非主旨則跳過，並且繼續尋找

		$subject = $line; //紀錄主旨
		break; //離開迴圈

	}

	return $subject; //傳回取得之主旨
}

if($_POST['submit']){ //檢查是否有送出表單
	$dels = removeComment($_POST['del']); //傳入移除陣列
	echo "
<div style=\"width:50%; margin:5px auto; border:1px solid #EEE; padding:5px; text-align:center;\">成功移除{$dels}筆留言</div>

";//產生表單(送出)
}

$glob = glob('./data/*.txt'); //搜尋資料檔案
sort($glob, SORT_NUMERIC); //排序檔案( 由大到小 )

$_GET['page'] = !$_GET['page'] ? 1 : $_GET['page'];  //檢查是否有指定頁碼
$start = ($_GET['page'] - 1) * 15; //設定迴圈開始編號
$end = $_GET['page'] * 15; //設定回圈結束編號

echo '
<form action="" method="post">'; //產生表單
for($i = $start; $i < $end; ++$i){ //從開始編號運作到結束編號。
	if(empty($glob[$i])) break; //檢查是否有此筆資料，無則跳出
	$subject = getSubject($glob[$i]); //呼叫 getSubject 函式取得主旨
	/* 開始產生畫面 */
	echo "
<div style=\"width:50%; margin:5px auto; border:1px solid #EEE; padding:5px;\">主題: {$subject} -
<input type=\"checkbox\" value=\"{$glob[$i]}\" name=\"del[]\" /></div>

";

}
echo '
<div style="width:50%; margin:5px auto; border:1px solid #EEE; padding:5px; text-align:center;">
<input type="submit" name="submit" value="刪除選取" /></div>

';//產生表單(送出)
echo '</form>

';//產生表單

?&gt;
</pre>
<p>上方的 HTML 部份可能會有問題，請各位在使用時稍微注意。</p>
<p>原理大致解說：</p>
<p>顯示部份和 comment.php 無異，只是將讀取部份改為「只讀取標題」<br />
並且為了防止意外，只在「確認為標題時」才會做儲存。</p>
<p>而另外就是加入了「刪除函式」<br />
構造很簡單，將傳入的陣列依序使用 unlink 刪除檔案函式刪除。</p>
<p>而 name=』del[]』 為表單的陣列用法，在 PHP 收到為 $_POST['del'] 的陣列(method=』post』 狀況)<br />
每個 checkbox 儲存的 value 都是該筆留言路徑，因此刪除時只需將取得的路徑陣列傳入。</p>
<p>&#8212;</p>
<p>到了這部份，其實已經準備好製作留言板的技術。<br />
明天，即將開始的就是「正式製作」</p>
<p>不過到了這個部份，其實整個架構是很混亂的。<br />
因此明天要先做「重新規劃、整理」的處理，以免成品過度混亂。</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/web-project/poston-2010-03-08/postid-441"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/web-project/poston-2010-03-08/postid-441/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>高速運轉~</title>
		<link>http://blog.frost.tw/life/poston-2010-03-07/postid-439</link>
		<comments>http://blog.frost.tw/life/poston-2010-03-07/postid-439#comments</comments>
		<pubDate>Sun, 07 Mar 2010 10:46:29 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[生活雜記]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[成長]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=439</guid>
		<description><![CDATA[這張殺傷力好大 OTZ&#8230;
這是漫畫「天球儀」的內容這樣……
今天沒寫教學，因為我懶了(被打

雖然說懶了，其實是我正在寫新的網站……
不過沒使用 MySQL 純粹的檔案存取。
大致上可以說是 MediaWiki + Discuz 的技術集合……
情況算是不錯，一次能把這麼多技巧融合，算是有進步了……
不過當我完成的差不多時，卻發現「不必要的功能寫太多……」
但是我最後認命了，反正以後還能改良……
而這個網站也用了很多之後留言板教學會用到的技巧，可以作為參考。
&#8212;
昨天要上學，其實還挺累的……
現在我愈來愈搞不懂，到底是累的時候我想玩遊戲，還是寫程式呢？
這點現在完全混亂了，不過我也不去想了……
反正不是遊戲玩多了想寫程式，不然就是程式寫多想玩遊戲……
突然感覺今天這篇「超級廢話！」
不過我也認了，畢竟大家也沒看過我說正常的話吧……
那麼明天見吧……
]]></description>
			<content:encoded><![CDATA[<p>這張殺傷力好大 OTZ&#8230;<br />
這是漫畫「天球儀」的內容這樣……<br />
今天沒寫教學，因為我懶了(被打<br />
<span id="more-439"></span><br />
雖然說懶了，其實是我正在寫新的網站……<br />
不過沒使用 MySQL 純粹的檔案存取。</p>
<p>大致上可以說是 MediaWiki + Discuz 的技術集合……<br />
情況算是不錯，一次能把這麼多技巧融合，算是有進步了……</p>
<p>不過當我完成的差不多時，卻發現「不必要的功能寫太多……」<br />
但是我最後認命了，反正以後還能改良……</p>
<p>而這個網站也用了很多之後留言板教學會用到的技巧，可以作為參考。</p>
<p>&#8212;</p>
<p>昨天要上學，其實還挺累的……<br />
現在我愈來愈搞不懂，到底是累的時候我想玩遊戲，還是寫程式呢？<br />
這點現在完全混亂了，不過我也不去想了……</p>
<p>反正不是遊戲玩多了想寫程式，不然就是程式寫多想玩遊戲……</p>
<p>突然感覺今天這篇「超級廢話！」<br />
不過我也認了，畢竟大家也沒看過我說正常的話吧……</p>
<p>那麼明天見吧……</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/life/poston-2010-03-07/postid-439"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/life/poston-2010-03-07/postid-439/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DIY一個PHP留言板之資料存取(三)</title>
		<link>http://blog.frost.tw/web-project/poston-2010-03-06/postid-437</link>
		<comments>http://blog.frost.tw/web-project/poston-2010-03-06/postid-437#comments</comments>
		<pubDate>Sat, 06 Mar 2010 11:12:00 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[網站專案]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[專案]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=437</guid>
		<description><![CDATA[經過了兩天琢磨讀取功能，目前已經有一個稍微完善的讀取系統。
那麼，現在就要來製作「寫入」的部份。
實際上在 PHP5 之後可以使用方便的函式寫入，不過為了顧及到 PHP4 所以還是改良一下語法。

首先，我們先任意建立一個網頁( html 或者 php 皆可 )
並且製作一個表單，作為留言使用：

&#60;form method="post" action="post.php"&#62;
主旨：&#60;input type="text" size="20" name="subject" /&#62;&#60;br /&#62;
暱稱：&#60;input type="text" size="20" name="nickname"...]]></description>
			<content:encoded><![CDATA[<p>經過了兩天琢磨讀取功能，目前已經有一個稍微完善的讀取系統。<br />
那麼，現在就要來製作「寫入」的部份。<br />
實際上在 PHP5 之後可以使用方便的函式寫入，不過為了顧及到 PHP4 所以還是改良一下語法。<br />
<span id="more-437"></span><br />
首先，我們先任意建立一個網頁( html 或者 php 皆可 )<br />
並且製作一個表單，作為留言使用：</p>
<pre class="brush: html">
&lt;form method="post" action="post.php"&gt;
主旨：&lt;input type="text" size="20" name="subject" /&gt;&lt;br /&gt;
暱稱：&lt;input type="text" size="20" name="nickname" /&gt;&lt;br /&gt;
留言：&lt;textarea name="contents"&gt;&lt;/textarea&gt;
&lt;input type="submit" name="submit" value="送出" /&gt;
&lt;/form&gt;
</pre>
<p>因為表單指向 post.php 因此，新增 post.php 接收留言資訊：</p>
<pre class="brush: php">
&lt;?php

function createComment(array $data){ //建立產生檔案函式
	$eol = PHP_EOL; //指定換行字元 \n 或 \r\n
	foreach($data as $key => $value){ //讀取傳入的資料
		/*
			寫入格式：
			;(陣列鍵值) Ex. ;subject
			(資料)
		*/
		if($i > 0) //檢查是否為第1筆
			$contents .= "{$eol};{$key}{$eol}{$value}"; //如果為非，則在每筆資料前加入換行
		else
			$contents .= ";{$key}{$eol}{$value}"; //如果為真，則照一般方式儲存
		++$i; //增加1 做為判斷資料筆數
	}
	$dataPath = './data/'.time().'.txt'; //指定儲存路徑
	if(PHP_VERSION > 5){ //檢查 PHP 版本
		file_put_contents($dataPath, $contents); //使用PHP5新增函式
	}else{
		$fp = fopen($dataPath, 'w'); //開啟檔案
		fwrite($fp, $contents); //寫入資料
		fclose($fp); //關閉檔案
	}
}

$subject = $_POST['subject'] ? $_POST['subject'] : '無主題'; //檢查主題，無則自動設定
$nickname = $_POST['nickname'] ? $_POST['nickname'] : '匿名'; //檢查暱稱，無則自動設定
$contents = $_POST['contents'] ? $_POST['contents'] : false; //檢查內容，無則傳回假

if(!$contents){ //檢查是否有內容
	echo "填寫不完整";
	header("Location: post.htm"); //導回發表頁
}else{
	createComment(array('subject' => $subject, 'nickname' => $nickname, 'contents' => $contents)); //產生資料檔案( 目前需依照順序才能正常讀取資料 )
	header("Location: comments.php"); //引導至觀看留言頁
}

?&gt;
</pre>
<p>到此，留言板的基本功能已經完成。<br />
明天會加入簡易的刪除留言功能，希望到此各位都能理解。</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/web-project/poston-2010-03-06/postid-437"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/web-project/poston-2010-03-06/postid-437/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY一個PHP留言板之資料存取(二)</title>
		<link>http://blog.frost.tw/web-project/poston-2010-03-05/postid-435</link>
		<comments>http://blog.frost.tw/web-project/poston-2010-03-05/postid-435#comments</comments>
		<pubDate>Fri, 05 Mar 2010 11:17:52 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[網站專案]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[專案]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=435</guid>
		<description><![CDATA[昨天經過思考後，決定將「資料讀取」的方式改變。
雖然還未成熟，不過已經比起原定的方式更加完整。
今天就來實作資料讀取與版面的呈現(模型)

首先先看一下新版本的資料檔案(data.txt)：

;title
測試留言標題
;nickname
蒼時 弦
;contents
這是測試留言，
主要是對資料解析做測試
;responds
奏>>回復了留言！
影賜>>回復留言～

接著是新的讀取程式 data.php

&#60;?php

function setdata($content, array $eArrs){
	$datas = explode(PHP_EOL, $content);
	foreach($datas as $key => $line){
		if($line[0] == ';'){
			++$dKey;
			if(in_array($line, $eArrs))
				$enableArr = (bool) true;
			else
				$enableArr =...]]></description>
			<content:encoded><![CDATA[<p>昨天經過思考後，決定將「資料讀取」的方式改變。<br />
雖然還未成熟，不過已經比起原定的方式更加完整。<br />
今天就來實作資料讀取與版面的呈現(模型)<br />
<span id="more-435"></span><br />
首先先看一下新版本的資料檔案(data.txt)：</p>
<pre class="brush: html">
;title
測試留言標題
;nickname
蒼時 弦
;contents
這是測試留言，
主要是對資料解析做測試
;responds
奏>>回復了留言！
影賜>>回復留言～
</pre>
<p>接著是新的讀取程式 data.php</p>
<pre class="brush: php">
&lt;?php

function setdata($content, array $eArrs){
	$datas = explode(PHP_EOL, $content);
	foreach($datas as $key => $line){
		if($line[0] == ';'){
			++$dKey;
			if(in_array($line, $eArrs))
				$enableArr = (bool) true;
			else
				$enableArr = (bool) false;
			continue;
		}
		if($enableArr)
			$dataGroup[$dKey][] = $line;
		else
			$dataGroup[$dKey] .= $line;
	}

	return $dataGroup;
}

$eArrs = array(';contents', ';responds');
$content = file_get_contents('data.txt');

$data = setdata($content, $eArrs);

print_r($data);

?&gt;
</pre>
<p>輸出結果是一組依照順序的陣列，如果是「同一組，則再建立新陣列儲存。」</p>
<p>以上就是初步完成資料讀取了！</p>
<p>接下來就是<strong>呈現留言以及排序</strong>的處理。</p>
<p>現在新增一個 comments.php 來製作模型。</p>
<pre class="brush: php">
&lt;?php

function getComment($file, array $eArrs){ //建立 getComment 函式
	$data = file_get_contents($file); //讀取檔案內容
	$data = explode(PHP_EOL, $data); //以斷行分割檔案內容( PHP_EOL 會依照作業系統切換 \n 或 \r\n )

	foreach($data as $key => $line){ //將內容陣列放入 foreach 運作
		if($line[0] == ';'){ //檢查是否為註解
			++$dKey; //如果是則 +1
			if(in_array($line, $eArrs)) //檢查是否產生陣列(兩行以上資料需要)
				$enableArr = (bool) true; //傳回真
			else
				$enableArr = (bool) false; //傳回假
			continue; //直接結束本次迴圈
		}
		if($enableArr) //檢查是否開啟產生陣列
			$dataGroup[$dKey][] = $line; //如為真，則產生陣列儲存(二維)
		else
			$dataGroup[$dKey] .= $line; //如為假，則直接儲存資料(並且連接起來)
	}

	return $dataGroup; //傳回解析後陣列
}

$glob = glob('./data/*.txt'); //搜尋資料檔案
sort($glob, SORT_NUMERIC); //排序檔案( 由大到小 )

$eArr = array(';contents', ';responds'); //指定需要產生二維鎮列的註解

$_GET['page'] = !$_GET['page'] ? 1 : $_GET['page'];  //檢查是否有指定頁碼
$start = ($_GET['page'] - 1) * 2; //設定迴圈開始編號
$end = $_GET['page'] * 2; //設定回圈結束編號

for($i = $start; $i < $end; ++$i){ //從開始編號運作到結束編號。
	if(empty($glob[$i])) break; //檢查是否有此筆資料，無則跳出
	$comments = getComment($glob[$i], $eArr); //呼叫 getComment 函式分析檔案
	$contents = implode('', $comments[3]); //將內容部份特別分析，用結合
	/* 開始產生畫面 */
	echo "
<div style=\"width:50%; margin:5px auto; border:1px solid #EEE; padding:5px;\">主題:{$comments[1]}暱稱：{$comments[2]}內容：{$contents}</div>

";

}

?&gt;
</pre>
<p>之後請新增一個 /data 資料夾，並且新增大於二的「檔案」<br />
檔名： 1.txt ~ ?.txt (一律數字)<br />
檔案內容：</p>
<pre class="brush: html">
;title
留言標題
;nickname
留言者暱稱
;contents
留言內容，
可以換行輸入，並不會影響。
</pre>
<p>接著打開 comments.php 會發現檔名最大的兩篇被顯示，其餘的並沒有顯示。<br />
原因在哪裡呢？</p>
<p>http://網址/?page=2</p>
<p>輸入之後，會發現 (檔名最大-2) 和 (檔名最大-3) 的檔案被顯示出來。<br />
沒錯，這次讀取資料時，順便將分頁功能加入了系統。</p>
<p>明天將會繼續改善讀取功能，並且加入「發表留言」的模型。</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/web-project/poston-2010-03-05/postid-435"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/web-project/poston-2010-03-05/postid-435/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY一個PHP留言板之資料存取(一)</title>
		<link>http://blog.frost.tw/web-project/poston-2010-03-04/postid-433</link>
		<comments>http://blog.frost.tw/web-project/poston-2010-03-04/postid-433#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:59:34 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[網站專案]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=433</guid>
		<description><![CDATA[在很多的情況之下，大部份都會從顯示相關開始做起。
因此今天要針對「讀取留言」這部份特別研究。
原本的方式其實不需要這樣，但是因為儲存格式的關係，必須自己解析。

因為之後要對各項功能製作「覆蓋」的技巧。
而這方面我還沒有詳細的研究，為了先熟悉解析，所以先建立一個「實驗檔案」
data.txt

&#60;subject&#62;測試留言標題&#60;/subject&#62;
&#60;nickname&#62;蒼時 弦&#60;/nickname&#62;
&#60;content&#62;這是測試留言，主要是對資料解析做測試&#60;/content&#62;

&#60;responds&#62;
	&#60;comment="奏"&#62;回復了留言！&#60;/comment&#62;
	&#60;comment="影賜"&#62;回復留言～&#60;/comment&#62;
&#60;/responds&#62;

上方為最後決定的規劃版本。
接著新增好 data.php 檔案後，先來用函式嘗試分析資料。

&#60;?php
$content = file_get_contents('data.txt');
$data = preg_match_all("/()(.*)()/", $content, $matchs, PREG_SET_ORDER);
print_r($matchs);
?&#62;

產生的結果如下：

Array
(
    [0] => Array
   ...]]></description>
			<content:encoded><![CDATA[<p>在很多的情況之下，大部份都會從顯示相關開始做起。<br />
因此今天要針對「讀取留言」這部份特別研究。<br />
原本的方式其實不需要這樣，但是因為儲存格式的關係，必須自己解析。<br />
<span id="more-433"></span><br />
因為之後要對各項功能製作「覆蓋」的技巧。<br />
而這方面我還沒有詳細的研究，為了先熟悉解析，所以先建立一個「實驗檔案」</p>
<p>data.txt</p>
<pre class="brush: html">
&lt;subject&gt;測試留言標題&lt;/subject&gt;
&lt;nickname&gt;蒼時 弦&lt;/nickname&gt;
&lt;content&gt;這是測試留言，主要是對資料解析做測試&lt;/content&gt;

&lt;responds&gt;
	&lt;comment="奏"&gt;回復了留言！&lt;/comment&gt;
	&lt;comment="影賜"&gt;回復留言～&lt;/comment&gt;
&lt;/responds&gt;
</pre>
<p>上方為最後決定的規劃版本。</p>
<p>接著新增好 data.php 檔案後，先來用函式嘗試分析資料。</p>
<pre class="brush: php">
&lt;?php
$content = file_get_contents('data.txt');
$data = preg_match_all("/(<(.*)>)(.*)(<\/(.*)>)/", $content, $matchs, PREG_SET_ORDER);
print_r($matchs);
?&gt;
</pre>
<p>產生的結果如下：</p>
<blockquote><p>
Array<br />
(<br />
    [0] => Array<br />
        (<br />
            [0] => <subject>測試留言標題</subject><br />
            [1] => <subject><br />
            [2] => subject<br />
            [3] => 測試留言標題<br />
            [4] => </subject><br />
            [5] => subject<br />
        )</p>
<p>    [1] => Array<br />
        (<br />
            [0] => <nickname>蒼時 弦</nickname><br />
            [1] => <nickname><br />
            [2] => nickname<br />
            [3] => 蒼時 弦<br />
            [4] => </nickname></p>
<p>            [5] => nickname<br />
        )</p>
<p>    [2] => Array<br />
        (<br />
            [0] => <content>這是測試留言，主要是對資料解析做測試</content><br />
            [1] => <content><br />
            [2] => content<br />
            [3] => 這是測試留言，主要是對資料解析做測試<br />
            [4] => </content><br />
            [5] => content<br />
        )</p>
<p>    [3] => Array<br />
        (<br />
            [0] => <comment="奏">回復了留言！</comment><br />
            [1] => <comment="奏"></p>
<p>            [2] => comment=』奏』<br />
            [3] => 回復了留言！<br />
            [4] => </comment><br />
            [5] => comment<br />
        )</p>
<p>    [4] => Array<br />
        (<br />
            [0] => <comment="影賜">回復留言～</comment><br />
            [1] => <comment="影賜"><br />
            [2] => comment=』影賜』<br />
            [3] => 回復留言～<br />
            [4] => </comment><br />
            [5] => comment<br />
        )</p>
<p>)
</p></blockquote>
<p>看起來並非完美，不過之後只要再做修改即可。<br />
(因為研究規則花了些時間，今天暫時到這裡結束。)</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/web-project/poston-2010-03-04/postid-433"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/web-project/poston-2010-03-04/postid-433/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY一個PHP留言板之規劃</title>
		<link>http://blog.frost.tw/web-project/poston-2010-03-03/postid-431</link>
		<comments>http://blog.frost.tw/web-project/poston-2010-03-03/postid-431#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:51:34 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[網站專案]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=431</guid>
		<description><![CDATA[當很多人看到這篇文章時，第一句話一定是「啥？」
而第一個反應一定是「這有意義嗎？」
我的第一個回應一定是「網誌沒人看拉！！」

在這麼多年來，我的人生可能充滿了留言板！！
因為我很懶惰，所以很少做其他類型網站，而留言板根本就是我的「本業」
最近學到了一個非常棒的傢伙，那就是前幾天文章說的 glob() 函式。
自從我認識這傢伙之後，我就發覺我有很多東西可以做了！
因為 glob() 的關係，今天就要來「規劃」一下整個留言板的結構。
1. 每篇留言一個檔案，回復也存在裏面
2. 可以擴充各種功能
3. 可以自己設計版面
4. 有管理功能
接著我們要針對這些功能來做一下建立「架構」的動作。
(說實在的，我超不喜歡寫管理功能。)
 每篇留言各自檔案，並且將回復儲存在內
所以要確定讀取的方法，因此設定：
1. 依照檔名排列，檔名為 time() 函式取得的秒數。
2. 使用BBCode作為HTML替代，利用仿HTML結構儲存資料
仿 HTML 結構儲存資料規劃：
&#60;subject&#62;留言主題&#60;/subjet&#62;
&#60;nickname&#62;暱稱&#60;/nickname&#62;
&#60;content&#62;留言主題&#60;/content&#62;

&#60;respond="回復暱稱"&#62;其他回復&#60;/respond&#62;

可以擴充各種功能
建立一個 extar 目錄，使用 glob() 取得後全部引用。
採用物件方式撰寫擴充，要改寫系統預定則「覆蓋方法」
可以自己設計版面
建立一個...]]></description>
			<content:encoded><![CDATA[<p>當很多人看到這篇文章時，第一句話一定是「啥？」<br />
而第一個反應一定是「這有意義嗎？」<br />
我的第一個回應一定是「網誌沒人看拉！！」<br />
<span id="more-431"></span><br />
在這麼多年來，我的人生可能充滿了留言板！！<br />
因為我很懶惰，所以很少做其他類型網站，而留言板根本就是我的「本業」</p>
<p>最近學到了一個非常棒的傢伙，那就是前幾天文章說的 glob() 函式。<br />
自從我認識這傢伙之後，我就發覺我有很多東西可以做了！</p>
<p>因為 glob() 的關係，今天就要來「規劃」一下整個留言板的結構。</p>
<p>1. 每篇留言一個檔案，回復也存在裏面<br />
2. 可以擴充各種功能<br />
3. 可以自己設計版面<br />
4. 有管理功能</p>
<p>接著我們要針對這些功能來做一下建立「架構」的動作。<br />
(說實在的，我超不喜歡寫管理功能。)</p>
<p><strong> 每篇留言各自檔案，並且將回復儲存在內</strong></p>
<p>所以要確定讀取的方法，因此設定：<br />
1. 依照檔名排列，檔名為 time() 函式取得的秒數。<br />
2. 使用BBCode作為HTML替代，利用仿HTML結構儲存資料</p>
<p>仿 HTML 結構儲存資料規劃：</p>
<pre class="brush: html">&lt;subject&gt;留言主題&lt;/subjet&gt;
&lt;nickname&gt;暱稱&lt;/nickname&gt;
&lt;content&gt;留言主題&lt;/content&gt;

&lt;respond="回復暱稱"&gt;其他回復&lt;/respond&gt;
</pre>
<p><strong>可以擴充各種功能</strong></p>
<p>建立一個 extar 目錄，使用 glob() 取得後全部引用。<br />
採用物件方式撰寫擴充，要改寫系統預定則「覆蓋方法」</p>
<p><strong>可以自己設計版面</strong></p>
<p>建立一個 skin 目錄，裏面存放產生「版面」的規則。<br />
( 產生版面採正規表達式，將指定字串覆蓋 )</p>
<p><strong>有管理功能</strong></p>
<p>建立一個檔案，進行管理。<br />
主要為新增以及刪除留言，無其他用途……</p>
<p>以上就簡單規劃完畢，明天就要開始「慢慢製作」</p>
<p>&#8212;</p>
<p>雖然很希望每天寫網誌，不過每天的時間似乎無法撰寫足夠吸引人的文章。<br />
未來會改採假日兩天撰寫，希望大家仍能支持。<br />
( 假日兩天撰寫的文章會有較多影片和圖片呈獻，會比現在更加生動。 )</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/web-project/poston-2010-03-03/postid-431"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/web-project/poston-2010-03-03/postid-431/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>持續成長~</title>
		<link>http://blog.frost.tw/life/poston-2010-03-02/postid-428</link>
		<comments>http://blog.frost.tw/life/poston-2010-03-02/postid-428#comments</comments>
		<pubDate>Tue, 02 Mar 2010 10:53:21 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[生活雜記]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[成長]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=428</guid>
		<description><![CDATA[最近都沒什麼時間錄製影片，不過我想就這樣忍到假日吧！
今天早上在研究 Googlog 為什麼能夠這麼精簡的原因時，發現了特別的東西。
不過因為要趕校車，所以就沒有詳細閱讀了！

當我打開檔案，一開始就把我吸引住了！
那就是一個過去沒有看過的 function &#8211; glob()
原本使用 Google 搜尋使用方法和說明，但是卻因為時間的關係沒辦法詳細閱讀。
今天放學後，利用吃晚飯前的幾十分鐘，了解了一下。
原來 glob 是一個用來尋找檔案的函式，傳回結果是陣列。
不過似乎很少在書上被介紹，所以也鮮少有人知道。
此時，我的好奇心就來了！
難道 Xoops 還有 Discuz 這些能偵測到插件、模組的功能有用了 glob 函式嗎？
雖然還沒確定，不過我打算晚點搜尋一下，看看這個讓我疑惑挺久的秘密。
今天雖然是模擬考(複習考)不過我仍很混……
一如既往的在考卷上塗鴉，不過卻依外的抓住了新的要點。
也許最近我的畫工又能提升呢～
最近又學了 Java 看起來真的很充實，希望學測前的一整年我都能如此「專注」
這樣我可能就不用擔心學測成績不足，而考不到目標的學校了！
]]></description>
			<content:encoded><![CDATA[<p>最近都沒什麼時間錄製影片，不過我想就這樣忍到假日吧！<br />
今天早上在研究 Googlog 為什麼能夠這麼精簡的原因時，發現了特別的東西。<br />
不過因為要趕校車，所以就沒有詳細閱讀了！<br />
<span id="more-428"></span><br />
當我打開檔案，一開始就把我吸引住了！<br />
那就是一個過去沒有看過的 function &#8211; glob()<br />
原本使用 Google 搜尋使用方法和說明，但是卻因為時間的關係沒辦法詳細閱讀。</p>
<p>今天放學後，利用吃晚飯前的幾十分鐘，了解了一下。<br />
原來 glob 是一個用來尋找檔案的函式，傳回結果是陣列。</p>
<p>不過似乎很少在書上被介紹，所以也鮮少有人知道。<br />
此時，我的好奇心就來了！</p>
<p>難道 Xoops 還有 Discuz 這些能偵測到插件、模組的功能有用了 glob 函式嗎？<br />
雖然還沒確定，不過我打算晚點搜尋一下，看看這個讓我疑惑挺久的秘密。</p>
<p>今天雖然是模擬考(複習考)不過我仍很混……<br />
一如既往的在考卷上塗鴉，不過卻依外的抓住了新的要點。</p>
<p>也許最近我的畫工又能提升呢～</p>
<p>最近又學了 Java 看起來真的很充實，希望學測前的一整年我都能如此「專注」<br />
這樣我可能就不用擔心學測成績不足，而考不到目標的學校了！</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/life/poston-2010-03-02/postid-428"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/life/poston-2010-03-02/postid-428/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Connect</title>
		<link>http://blog.frost.tw/life/poston-2010-03-01/postid-426</link>
		<comments>http://blog.frost.tw/life/poston-2010-03-01/postid-426#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:40:24 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[生活雜記]]></category>
		<category><![CDATA[人際]]></category>
		<category><![CDATA[成長]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=426</guid>
		<description><![CDATA[人是群居動物，因此人與人的接觸非常平凡。
但是，總有些人與這個規則「脫節」
雖然知道，但是確一直無法「連接」

不知道從何時開始，我也成為無法連接的人。
無法與人建立起連接，他人也無法與我建立連接。
原因為何，一直都無法找到，也許真的就是「恐懼」
什麼恐懼？就是開始嘗試與人接觸時，被黑暗襲擊的恐懼。
我是一個很容易忘記的人，不論是課程內容，還是生活瑣事。
只要我沒有刻意記住，就會忘記。
也因此，不愉快的事情我很容易就忘的乾乾淨淨，連渣都不剩。
但是，總有一些事物「刻印」在記憶中……
其中一個銘記，就是在還為茁壯的心靈，受到壓迫。
雖然在行為上產生了本能的排斥他人，但是仍是會緩緩嘗試。
不過原因不只如此，我對於「禮讓」這類觀念還被灌輸的很完整。
而在成長過程中，我又憑著自己的意志選擇了「特別」的成長。
我的世界、語言，都與其他人有了差異。
我不看電視、不迷明星、不了解外面的世界……
在其他人看來，我還算正常，但總無法與我的話題連接上。
我總需要靠自己主導話題，也只能當作洩洪一般，把內心的孤獨用自己世界的言語說出。
每當他人談起遊戲、時事，我卻一點也無法插嘴。
因為我不懂、不知道、不了解……
但是，曾有一個新的銘記在記憶中刻印上。
初中，我碰上了一個很棒的班級。
也許那些同學都能接受我，並且理解我……
因此，我開始嘗試「接觸」其他人。
到了高中，恐懼已經不足以對我產生影響。
即使人類本身會懼怕，但是我有了勇氣，在那3年中累積的特別的勇氣。
現在，我逐漸了解該如何與人接觸。
雖然仍然不純熟，在他人眼中，我可能是個難搞的傢伙。
接觸我的人，很多都只是看到我的能力。
現在想當凡人，對我來說已經是不可能的！
我已經成為「凡人中不平凡的燭光，雖然微弱，但也無法繼續平凡」
我既無法成為引路的明星，也無法成為迷途中的旅人。
不凡者，他們與生俱來的力量被發覺。
平凡者，他們看著不凡者的腳步繼續前進。
想成為不凡者的平凡者，只能在「痛苦與掙扎的道路上，前進。」
一個風險極高的投資，因為如果無法成為不凡者，那麼就會失去非常非常多的事物。
在我很小的時候，已經靠著自己的直覺，走上成為不凡者的道路。
確實，這條路上有著無盡的孤獨與痛苦。
但是仔細想想，其實也有其他散發光芒的人，在身邊。
因此人與人才需要「連接」，把光芒凝聚起來。
在嘗試與人接觸的途中，我漸漸找到光芒，然後開始找到一條新的道路。
走吧！
我已經不會停頓了，在面臨考驗的時候，我會繼續前進。
&#8212; 這篇文章留給一年後的自己，還有正在猶豫的網友們！
&#8212; 一年後，我不該猶豫，因為我買了單程票。
]]></description>
			<content:encoded><![CDATA[<p>人是群居動物，因此人與人的接觸非常平凡。<br />
但是，總有些人與這個規則「脫節」<br />
雖然知道，但是確一直無法「連接」<br />
<span id="more-426"></span></p>
<p>不知道從何時開始，我也成為無法連接的人。<br />
無法與人建立起連接，他人也無法與我建立連接。</p>
<p>原因為何，一直都無法找到，也許真的就是「恐懼」<br />
什麼恐懼？就是開始嘗試與人接觸時，被黑暗襲擊的恐懼。</p>
<p>我是一個很容易忘記的人，不論是課程內容，還是生活瑣事。<br />
只要我沒有刻意記住，就會忘記。<br />
也因此，不愉快的事情我很容易就忘的乾乾淨淨，連渣都不剩。</p>
<p>但是，總有一些事物「刻印」在記憶中……<br />
其中一個銘記，就是在還為茁壯的心靈，受到壓迫。<br />
雖然在行為上產生了本能的排斥他人，但是仍是會緩緩嘗試。</p>
<p>不過原因不只如此，我對於「禮讓」這類觀念還被灌輸的很完整。<br />
而在成長過程中，我又憑著自己的意志選擇了「特別」的成長。</p>
<p>我的世界、語言，都與其他人有了差異。<br />
我不看電視、不迷明星、不了解外面的世界……<br />
在其他人看來，我還算正常，但總無法與我的話題連接上。<br />
我總需要靠自己主導話題，也只能當作洩洪一般，把內心的孤獨用自己世界的言語說出。</p>
<p>每當他人談起遊戲、時事，我卻一點也無法插嘴。<br />
因為我不懂、不知道、不了解……<br />
但是，曾有一個新的銘記在記憶中刻印上。</p>
<p>初中，我碰上了一個很棒的班級。<br />
也許那些同學都能接受我，並且理解我……<br />
因此，我開始嘗試「接觸」其他人。</p>
<p>到了高中，恐懼已經不足以對我產生影響。<br />
即使人類本身會懼怕，但是我有了勇氣，在那3年中累積的特別的勇氣。</p>
<p>現在，我逐漸了解該如何與人接觸。<br />
雖然仍然不純熟，在他人眼中，我可能是個難搞的傢伙。<br />
接觸我的人，很多都只是看到我的能力。</p>
<p>現在想當凡人，對我來說已經是不可能的！<br />
我已經成為「凡人中不平凡的燭光，雖然微弱，但也無法繼續平凡」<br />
我既無法成為引路的明星，也無法成為迷途中的旅人。</p>
<p>不凡者，他們與生俱來的力量被發覺。<br />
平凡者，他們看著不凡者的腳步繼續前進。</p>
<p>想成為不凡者的平凡者，只能在「痛苦與掙扎的道路上，前進。」<br />
一個風險極高的投資，因為如果無法成為不凡者，那麼就會失去非常非常多的事物。</p>
<p>在我很小的時候，已經靠著自己的直覺，走上成為不凡者的道路。<br />
確實，這條路上有著無盡的孤獨與痛苦。<br />
但是仔細想想，其實也有其他散發光芒的人，在身邊。</p>
<p>因此人與人才需要「連接」，把光芒凝聚起來。<br />
在嘗試與人接觸的途中，我漸漸找到光芒，然後開始找到一條新的道路。</p>
<p>走吧！<br />
我已經不會停頓了，在面臨考驗的時候，我會繼續前進。</p>
<p>&#8212; 這篇文章留給一年後的自己，還有正在猶豫的網友們！<br />
&#8212; 一年後，我不該猶豫，因為我買了單程票。</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/life/poston-2010-03-01/postid-426"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/life/poston-2010-03-01/postid-426/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>學 Java 並不容易</title>
		<link>http://blog.frost.tw/life/poston-2010-02-28/postid-424</link>
		<comments>http://blog.frost.tw/life/poston-2010-02-28/postid-424#comments</comments>
		<pubDate>Sun, 28 Feb 2010 10:55:49 +0000</pubDate>
		<dc:creator>弦夜</dc:creator>
				<category><![CDATA[生活雜記]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[成長]]></category>
		<category><![CDATA[程式]]></category>

		<guid isPermaLink="false">http://blog.frost.tw/?p=424</guid>
		<description><![CDATA[昨天的初試，其實只要有基礎的人都能做出來。
而程式中，最精華的不外乎就是「物件導向」
可惜在學習 PHP 的過程中，這個部份並不會影響學習。

反過來，其他的語言卻很重視。
也因此，我在學習 Java 時，碰上了「瓶頸」
在 PHP 中，提及物件導向的大多是製作成某些輔助套件。
但是在 Java 中，物件導向就像是整個核心，沒有這項概念是無法建立起程式的。
目前我閱讀的是網路資料，主要有上、下兩部份。
上的部份已經閱讀完畢，也有一個大致上的頭緒。
目前正在研讀下部，不過愈來愈多的新知，讓我不太能消化。
雖然我並沒有打算馬上消化，但是至少要知道該項技巧「如何使用」
如果說學習 Java 令人興奮的地方，大概就是「製成圖形介面」這個功能了！
一旦製作成圖形介面，就代表說程度能進步很多。
不過，我想即使我將上、下部份讀完，也學會了大部分的 Java 入門。
但是我還缺少了「演算法」、「電腦圖學」、「設計模式」等相關知識。
在過去，我並沒有因為學習 PHP 而獲得這類的知識。
但是現在我卻需要補充、補完，否則將無法繼續成長。
學習 Java 也許是一條艱辛的道路，不過每學會一種，就會有發自內心的快樂。
學習，真的要「源自內心，付諸行動」
在學校，只不過是強迫我們學習，並沒有快樂的元素。
為什麼我們的學校，不能給我們「快樂」呢？
]]></description>
			<content:encoded><![CDATA[<p>昨天的初試，其實只要有基礎的人都能做出來。<br />
而程式中，最精華的不外乎就是「物件導向」<br />
可惜在學習 PHP 的過程中，這個部份並不會影響學習。<br />
<span id="more-424"></span><br />
反過來，其他的語言卻很重視。<br />
也因此，我在學習 Java 時，碰上了「瓶頸」</p>
<p>在 PHP 中，提及物件導向的大多是製作成某些輔助套件。<br />
但是在 Java 中，物件導向就像是整個核心，沒有這項概念是無法建立起程式的。</p>
<p>目前我閱讀的是網路資料，主要有上、下兩部份。<br />
上的部份已經閱讀完畢，也有一個大致上的頭緒。</p>
<p>目前正在研讀下部，不過愈來愈多的新知，讓我不太能消化。<br />
雖然我並沒有打算馬上消化，但是至少要知道該項技巧「如何使用」</p>
<p>如果說學習 Java 令人興奮的地方，大概就是「製成圖形介面」這個功能了！<br />
一旦製作成圖形介面，就代表說程度能進步很多。</p>
<p>不過，我想即使我將上、下部份讀完，也學會了大部分的 Java 入門。<br />
但是我還缺少了「演算法」、「電腦圖學」、「設計模式」等相關知識。</p>
<p>在過去，我並沒有因為學習 PHP 而獲得這類的知識。<br />
但是現在我卻需要補充、補完，否則將無法繼續成長。</p>
<p>學習 Java 也許是一條艱辛的道路，不過每學會一種，就會有發自內心的快樂。<br />
學習，真的要「源自內心，付諸行動」</p>
<p>在學校，只不過是強迫我們學習，並沒有快樂的元素。<br />
為什麼我們的學校，不能給我們「快樂」呢？</p>
<div class="linkwithin_hook" id="http://blog.frost.tw/life/poston-2010-02-28/postid-424"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.frost.tw/life/poston-2010-02-28/postid-424/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
