<?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>DreamersLab &#187; Javascript</title>
	<atom:link href="http://dreamerslab.com/blog/category/javascript-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://dreamerslab.com/blog</link>
	<description>No Boundaries No Limitation</description>
	<lastBuildDate>Thu, 18 Sep 2014 04:36:32 +0000</lastBuildDate>
	<language>tw</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>如何在 Windows 上設定 node.js 的開發環境</title>
		<link>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-windows/</link>
		<comments>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-windows/#comments</comments>
		<pubDate>Tue, 29 May 2012 13:53:03 +0000</pubDate>
		<dc:creator>fred</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=1061</guid>
		<description><![CDATA[安裝 node.js 在 Windows 上安裝 node.js 非常容易，只要去 node.js 官網下載 Windows installer，然後執行 Windows installer 安裝 Node.js ，這樣就安裝好了。 安裝 mongoDB 去 mongoDB 官網下載相對應版本的壓縮檔，再把壓縮檔的內容解壓縮到你想要擺的位置。mongoDB 的初始設定是把資料存在 \data\db ，但是 mongoDB 不會自動產生這個資料夾，所以我們必須自己開，可以在檔案總管裡面新增，也可以在終端機底下輸入： 開好資料夾之後，點擊 your_mongodb_path\bin 底下的 mongod.exe 或是到終端機輸入以下指令啟動 mongoDB： 然後就可以雙擊 mongo.exe 或是在終端機輸入以下指令進到 administrative shell： 恭喜，你已經安裝好 node.js 跟 &#8230; <a href="http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用 Express 和 MongoDB 寫一個 todo list</title>
		<link>http://dreamerslab.com/blog/tw/write-a-todo-list-with-express-and-mongodb/</link>
		<comments>http://dreamerslab.com/blog/tw/write-a-todo-list-with-express-and-mongodb/#comments</comments>
		<pubDate>Tue, 29 May 2012 13:50:39 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[mongoose]]></category>
		<category><![CDATA[todo]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=1029</guid>
		<description><![CDATA[練習一種語言或是 framework 最快的入門方式就是寫一個 todo list 了. 他包含了基本的 C.R.U.D. ( 新增, 讀取, 更新, 刪除 ). 這篇文章將用 node.js 裡最通用的 framework Express 架構 application 和 MongoDB 來儲存資料. ＊＊更新＊＊ Express 目前為 4.x，和下面教學的 3.x 不太一樣。我更新了在 Github 上的原始碼，你可以參考比較一下。 原始檔 請見 github &#124; Download &#124; Live Demo &#8230; <a href="http://dreamerslab.com/blog/tw/write-a-todo-list-with-express-and-mongodb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/write-a-todo-list-with-express-and-mongodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>node.js events</title>
		<link>http://dreamerslab.com/blog/tw/node-js-events/</link>
		<comments>http://dreamerslab.com/blog/tw/node-js-events/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 10:15:23 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=682</guid>
		<description><![CDATA[Javascript 是一個事件驅動的語言. 這也是讓 node.js 這麼受矚目最重要的因素之一. Javascript 運作起來就像人一樣, 舉例來說下面有五件事情需要去達成, 分別是 正常人會先泡泡麵, 在等水煮開的時候去接電話和上廁所. 當泡麵主好後把他給吃了然後丟進垃圾桶. 但是非事件觸發的語言像是 PHP 要達成這個目標就比較困難一點了. 如果是用像 javascript 這種事件驅動的語言就不會是這個樣子了. 但是上面的範例還是行不通. steps.js &#124; 包含了上面需要做的動作 pee.js &#124; 尿尿的動作 phone.js &#124; 電話響了的動作 wrong.js &#124; 錯誤示範 結果 為了確保一件事在另一件事之後發生, 記得要在 callback 裡面去呼叫函式. right.js &#124; 正確示範 結果 &#8230; <a href="http://dreamerslab.com/blog/tw/node-js-events/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/node-js-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript callbacks</title>
		<link>http://dreamerslab.com/blog/tw/javascript-callbacks/</link>
		<comments>http://dreamerslab.com/blog/tw/javascript-callbacks/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 15:19:43 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=717</guid>
		<description><![CDATA[Callback 到底是什麼呢? 當一個函式執行完畢後所執行的那個函式就是所謂的 callback 函式. 聽起來滿饒舌的齁. 一般來說如果你想讓 do_b 在 do_a 之後執行程式大概會長得這個樣子 結果 但是因為 javascript 是一個事件驅動的語言. 所以如果當 do_a 所花的時間比 do_b 久的話, do_b 的結果就會比 do_a 早出來. 結果 所以我們要怎麼確定讓 do_b 出現在 do_a 之後呢? 這時候 callbacks 就派上用場了. 結果 各種不同套用 callback 的方式 結果 現在我們知道如何執行 node.js &#8230; <a href="http://dreamerslab.com/blog/tw/javascript-callbacks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/javascript-callbacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript call 以及 apply</title>
		<link>http://dreamerslab.com/blog/tw/javascript-call-and-apply/</link>
		<comments>http://dreamerslab.com/blog/tw/javascript-call-and-apply/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 10:16:55 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[apply]]></category>
		<category><![CDATA[call]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=849</guid>
		<description><![CDATA[有好一段時間我對於 call 以及 apply 總是一知半解. 不但不知道何時可以用到他也分不清楚兩者有什模差異. 基本上 call 以及 apply 都是去執行這個 function 並將這個 function 的 context 替換成第一個參數帶入的物件. 兩個主要的不同是 call 必須將 function 的參數一一帶入而用 apply 的話只要在第二個參數帶入一個陣列就可以了. 第二個參數不是必須的 一個比較趨近現實使用方式的案例 Ajax 是一個很適合拿來用 call 以及 apply 的地方. 速度 用 call 來執行的 function 稍稍微比用 apply 快一些. &#8230; <a href="http://dreamerslab.com/blog/tw/javascript-call-and-apply/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/javascript-call-and-apply/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript `this`</title>
		<link>http://dreamerslab.com/blog/tw/javascript-this/</link>
		<comments>http://dreamerslab.com/blog/tw/javascript-this/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 10:15:37 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=819</guid>
		<description><![CDATA[Javascript 的 `this` 是指什麼? 我們之前談過 scopes 和 closures. this 指的是當下這個 scope 的物件. 在瀏覽器裡最上層 scope 的物件是 window. 在 node.js 裡最上層是 global objects. Javascript 是一個很自由的語言. 你可以用 functional programming 或者是 object oriented programming 的方式來撰寫. 用 functional programming 寫法通常是變數和 callbacks 傳來傳去, 用 closure 來存資料. &#8230; <a href="http://dreamerslab.com/blog/tw/javascript-this/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/javascript-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript function scopes 和 closures</title>
		<link>http://dreamerslab.com/blog/tw/javascript-function-scopes-and-closures/</link>
		<comments>http://dreamerslab.com/blog/tw/javascript-function-scopes-and-closures/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 11:06:22 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[scope]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=726</guid>
		<description><![CDATA[Javascript 用 function 來當作一個 scope. 在 function 裡面再宣告一個 function 的話就會產生一個新的 scope. 我們來看看下面的範例吧. 結果 從上面的結果可以清楚的看到在內層 scope 沒有用 var 宣告的變數會複寫掉外層 scope 的變數. 在內層裡用 var 開頭宣告的變數會變成 local 變數並只存在這一個 scope( function ) 裡面. 這也被叫做 closure. 那我們又是在何時會用到以及如何使用 closure 呢? 在物件導向程式設計裡通常是用 class attributes 來儲存資料. 在 Javascript &#8230; <a href="http://dreamerslab.com/blog/tw/javascript-function-scopes-and-closures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/javascript-function-scopes-and-closures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>npm 基本指令</title>
		<link>http://dreamerslab.com/blog/tw/npm-basic-commands/</link>
		<comments>http://dreamerslab.com/blog/tw/npm-basic-commands/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 12:41:05 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=667</guid>
		<description><![CDATA[一些常用的 npm 指令 當你設定好 node.js 的開發環境後, 是時候來把下面這些常用的 npm 指令給摸熟了. 將套件於全域安裝. 全域安裝的套件通常只是為了執行檔而已. 將套件安裝在專案裡. 套件在每一個不同的專案裡都要重裝一次不然會 require 不到. 移除全域套件. 移除專案裡的套件. 搜尋套件. 列出全域套件. 列出全域套件詳細資訊. 列出專案裡的套件. 列出專案裡的套件詳細資訊. 更新全域套件. 更新案裡的套件. 用 `package.json` 來管理專案裡的套件 只要將 package.json 這個檔案放在專案的根目錄裡, 就不需要一個個的手動安裝套件. 原本應該是要 有了 package.json 在專案的根目錄就只要 package.json 然後在 terminal 裡輸入下面的指令就全部安裝完成了. 更完整的說明文件請見這裡. &#8230; <a href="http://dreamerslab.com/blog/tw/npm-basic-commands/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/npm-basic-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>node.js 基本教學</title>
		<link>http://dreamerslab.com/blog/tw/node-js-basics/</link>
		<comments>http://dreamerslab.com/blog/tw/node-js-basics/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 09:48:45 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=621</guid>
		<description><![CDATA[學習基本的 javascript 和 node.js 安裝完 node.js 開發環境並且也知道了常用的 npm 指令之後, 接下來來看一些 javascript 以及 node.js 的基礎. 俗話說萬丈高樓平地起, 這些基本概念沒學好之後可是很難精進的. Examples and source 範例檔案請見 github 執行 javascript 檔案 我們來寫一個可以在 terminal 列出 Hey you 的 javascript 程式. 打開你的文字編輯器然後輸入 console.log( 'Hey you' ); 並另存新檔成 hey.js 到桌面. &#8230; <a href="http://dreamerslab.com/blog/tw/node-js-basics/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/node-js-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何在 Ubuntu 11.04 上設定 node.js 的開發環境</title>
		<link>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-ubuntu-11-04/</link>
		<comments>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-ubuntu-11-04/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 08:50:07 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://dreamerslab.com/blog/?p=520</guid>
		<description><![CDATA[用 apt-get 安裝最新的 node.js 要在 Ubuntu 上建立一個 node.js 的開發環境有很多方法. 你可以直接下載原始碼自己編譯, 或者是用套件管理系統來幫你解決這些瑣碎的問題. 因為 node.js 還是一個很年輕的專案, 常常會有版本的更新. 手動安裝及更新實在是非常的累人. 若是使用 apt-get 來幫你處理這些問題可以讓你把時間花在寫程式而不是設定環境上面. 如果你是使用 Mac 的話可以參考這一篇文章. Edit 2011/12/18 我發現用 nvm( node version management ) 來安裝 node 簡單多了, 他是一個像是 ruby rvm 的東西. 可以讓你切換 node 的版本以利在開發時切換版本. &#8230; <a href="http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-ubuntu-11-04/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://dreamerslab.com/blog/tw/how-to-setup-a-node-js-development-environment-on-ubuntu-11-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
