PIXNET Logo登入

Deja Vu

跳到主文

C'est la vie

部落格全站分類:心情日記

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 4月 10 週五 200908:33
  • REST[轉貼]


Q: 所以,到底什麼是REST?
A: Representational State
Transfer的簡稱,中文翻譯一點都不重要,反正大家都叫他REST。簡單的說,就是將一個網站的運作模式全部利用Http的介面來做互動,並且針對
的是網站所提供的「資源」而不是「網頁服務」。所以這是一種Design Pattern,而不是某種開發技巧。
Q: 資源是啥?
A: 資源(resource)就是一個網站包含的內部資料,以一個社群網站來說,他的使用者,使用者之間的群組就是資源。
Q: 什麼叫做針對資源而不是網頁服務?
A: 首先要知道HTTP包含很多種「動詞」Verb,就是HTTP這個protocol提供的溝通介面,像是GET, POST, PUT, DELETE等。
接著我們從網址就可以很清楚的看到差異,假設有一個網站提供「搜尋某個使用者資訊」的功能,傳統的網址可能長這樣:
http://www.some_site.com/find_user?id=123
或是
http://www.some_site.com/user/find/123
傳統的方式會將要做的動作利用網址來傳達給server,可是這樣並沒有充分利用到HTTP的各種Verb,各個網站也沒有一個固定的介面,當要在許多網站之間溝通的時候,就會發生很大的麻煩。
然而,RESTful(也就是符合REST的風格) 的網址會長這樣
http://www.some_site.com/user/123 ; 並且搭配HTTP的「GET」
這樣可以解讀為 「GET」a 「user」 which id is 「123」from 「www.some_site.com」
翻譯就是「從www.some_site.com上取得(GET)一個id是123的user」

http://www.some_site.com/user/123就是一個資源(resource),這個網址就代表著id為123的user,至於是要對這個user做什麼樣的動作,就根據HTTP verb來判斷。

為甚麼要強調搭配GET?因為這就是RESTful的特色,根據不同的Verb會有不同的運作方式。同樣一個網址:
http://www.some_site.com/user/123;並搭配HTTP的「PUT」
會變成「PUT」a 「user」 data to 「www.some_site.com」which id is 「123」
也就是「更新(PUT)一個id是123的user資料到www.some_site.com上」
乍看之下,傳統方式與RESTful的網址感覺都很類似,都是利用網址來告訴server要做的動作,唯一的差別在於
「RESTful充分利用了HTTP各種的Verb」
以前我們用SQL的SELECT,  INSERT, UPDATE, DELETE對應到CRUD的find, create, update, destory
現在我們再把這個對應關係拓展到HTTP的GET,POST,PUT,DELETE,就這樣
好處在哪裡?一旦統一了RESTful的形式,假設我有一個已經建立好的使用者資訊群組網站A。今天我要做一個購物網站B,我不需要將A中的使用者
資料全部複製到B,我可以直接從B去抓取A網站中的資源(resource),A網站完全不需要做任何的修改,B網站也不需要特別寫不同的方法,只要讓B
知道有A這個資源可以利用,就可以直接在B中進行
User.find :all
之類的操作,而B完全不需要有User的Model!
總之,RESTful是一種網站的interface制定方式,所以REST是一種Design Pattern而不是開發技術。
當然更長遠的目標就是:一旦多數網站都以RESTful的方式設計, 那要基於這些已存在資料去建立新的網站(類似mashup)就變成非常容易的一件事情。
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(586)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 09 週四 200922:17
  • rails 2.0 新scaffold用法

1.jpg依照"rails敏捷開發網站"做練習
結果發現錯誤
原來版本rails 2.0做了很大更動
試了好多次錯誤終於試出來 (很多人說載什麼東西之類的 但雞仔始終還是錯...)
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(245)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 09 週四 200918:22
  • rails 建立database

無設密碼且是預設使用者root: mysqladmin -u root create first( datebase name)
有設密碼且是預設使用者root: mysqladmin -u root -p create first
配置資訊在config/database.yml中

first:
  adapter: mysql   (使用何種資料庫)
  database: first    (資料庫名稱)
  username: root  (使用者名稱)
  password:           (使用者密碼)
  host: localhost    (資料庫在何種機器上,預設為localhost (自己主機) )
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: first
  username: root
  password:
  host: localhost
production:
  adapter: mysql
  database: first
  username: root
  password:
  host: localhost
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(134)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 09 週四 200900:00
  • rails 第3步 (建造View)

2.jpg當建立完controller
依照MVC架構
應該讓view來顯示出介面才對
來創建view吧
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(53)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 08 週三 200922:50
  • rails 第2步 (建立Controller)

1.jpgstep1: 建立Controller ( 使用rails的生成器 generator )
ruby script/generate controller Testing
step2: 執行Controller
http://localhost:3000/greeting
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(65)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 06 週一 200920:21
  • rails第1步 (建立rails專案)

先建立一個rails專案
step1 安裝: gem install rails --include-dependencies
step2 建立專案: rails first (project name)
step3 啟動伺服器: script/server (windows下 前面加ruby關鍵字) (需在專案資料夾路徑下)
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(31)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 05 週日 200909:32
  • Ruby目錄樹

ruby生成目錄中所擺置的東西:
app: 應用程式元件
components: self-contained應用程式
config: 組態碼
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(29)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 05 週日 200909:04
  • MVC

MVC1.jpgMVC為一種軟體架構
直接用圖說明 (畫得很醜 XD)
 
詳細介紹是這樣滴
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(469)

  • 個人分類:欣賞Ruby寶石
▲top
  • 4月 04 週六 200920:34
  • 認識Rails

Rails 特色:
Metaprogramming: 程式寫程式
Active Record: 找到資料庫 Schema中的欄位,並使用Metaprogramming自動指派domain object (也就是自動命名啦)
Scaffolding: 臨時性Code 幫助迅速建立應用程式
(繼續閱讀...)
文章標籤

flyinsky76 發表在 痞客邦 留言(0) 人氣(22)

  • 個人分類:欣賞Ruby寶石
▲top
1

白花油盃樂樂球賽

愛的持久賽

2010痞客邦生日慶

大學生了沒-要你的大絕招

大學生了沒-要你的大絕招

LUCKY GO!貼紙

熱門文章

  • (61)開放雲端宣言
  • (42,299)表情文字符號(轉貼)
  • (5,843)深海尋寶2

文章分類

  • 享受生活 (13)
  • 我愛看漫畫書 (2)
  • 大家一起WII (1)
  • XML (3)
  • 有恐龍的OS (1)
  • 科技新新聞 (6)
  • 演算法耶 (5)
  • 資訊要安全 (1)
  • 公仔世界 (12)
  • 樂高一樣的物件導向 (5)
  • UML愛畫圖 (12)
  • 國文小老師 (8)
  • 就是愛音樂 (16)
  • 專案管理經理 (2)
  • JSP好會動 (3)
  • 烏邦託的世界 (13)
  • 金錢滾滾來 (10)
  • 軟體也是工程 (1)
  • 神奇C++ (21)
  • 好圖分享 (11)
  • 網路無限大 (6)
  • 網頁愛漂亮 (5)
  • 駭客好厲害 (1)
  • 認識計算機 (7)
  • 資料庫真酷 (4)
  • 資料結構真好玩 (19)
  • 好書值得一讀在讀 (5)
  • 電影亂評論 (19)
  • 快樂學日文 (4)
  • 快樂學英文 (6)
  • 欣賞Ruby寶石 (9)
  • 喝JAVA咖啡 (16)
  • 未分類文章 (1)

最新文章

  • 痞客邦 T-shirt讀心術 - 一件衣服找到 SOUL MATE
  • 久石讓
  • Google PageRank
  • Danziamo
  • 朱學恆 創意與熱情
  • 大野狼 VS 小豬
  • mysql 中文顯示問題
  • 機車 VS 汽車
  • Atomic Kitten Eternal Flame
  • changeling(陌生的孩子)

誰來我家

GoogleSearch

站内Search

參觀人氣

  • 本日人氣:
  • 累積人氣:

Google廣告

杭州旅遊圓夢徵文活動

中小網大蜂學習

NBA