|
Ruby on Rails 自習手冊:邁向鐵道工人之路
|
|
|
|
|
|
|
|
|
ISBN |
9789862019948 |
定价 |
NT300 |
售价 |
RM46.90 |
优惠价 |
RM41.74 *
|
作者 |
簡煒航
|
出版社 |
博碩
|
出版日期 |
2015-03-02 |
装订 |
平裝. 單色印刷. 224 页. 23. |
库存量 |
海外库存 抱歉!此书没有开放空运服务,只能船运,需时约30个工作天。如需空运请洽客服。 |
|
有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
鐵道工招募條件:
◎熟悉指令介面操作
◎具程式設計知識:Ruby、Rake
◎具網頁前端知識:HTML、CSS、JavaScript
◎具資料庫知識:RMDBS、SQL
若符合以上應徵條件,恭喜您歡迎進入簡單、易用又好學的Rails世界。
工作指南:
開發環境
你可以選擇 RadRails 或 RubyMine,如果你個人偏好使用 IDE,也有其他輕量級編輯器選擇:TextMate、Sublime Text、[Vim]
終端機
Unix-like 作業系統可以跳過此部分,如果你用的是 OS X 推薦使用 iTerm2 ,Windows 上建議安裝 Rails Installer預設環境,或者使用虛擬機如 VMWare 或 Virtual Box模擬 Unix-like。
瀏覽器
Chrome、Firefox、Safari、IE都有提供內建的開發者工具值得學習使用,例如模擬手機瀏覽、JavaScript 中斷點、程式碼優化與分析、所見即所得 CSS 修改等。
新手鐵道工Q&A:
Ruby 就是 Rails嗎?
Ruby 與 Rails 是兩樣東西,且它們除了定位截然不同、作者也不同(國籍差很多),Ruby 是程式語言,Rails 則是由 Ruby 撰寫的網站開發框架。
rbenv 與 RVM 哪個好?
他們兩者都是為了解決特定的問題,用了不同的方法而生的不同的工具。如果你想要簡潔的解決方案,使用 rbenv,如果你想要更多功能,用 RVM 也不錯。
Production 環境適合安裝 rbenv 或 RVM 一類的 Ruby 版本控制工具嗎?
不建議這麼做,版本控制主要是為了讓我們在 staging 環境或本地開發時,可以方便切換版本以利進行各種測試,除非你真的清楚自己在做什麼。
鐵道工的工作哲學:
◎不要重複你自己(Don't Repeat Yourself)
旨在軟體開發中,減少重複的信息與程式碼。這可以幫助你的專案更易於維護與擴展,人說樹大必有枯枝,程式多就易孳生臭蟲,可以少就不要多。
◎慣例優先於設定(Convention Over Configuration)
用一些簡單的常規與慣例(convention)來取代繁瑣的設定(configuration),白話解釋是「養好習慣,省下麻煩」,簡化開發的流程與減輕開發者的痛苦。
一位資深鐵道工的經驗談:]
這四年來,筆者從 Movimpact 微電影平台(已停止運作)、腦袋有動工作室(brainana.com)一路到五倍紅寶石股份有限公司(5xruby.tw)的創辦,有趣的是這些單位的名字湊巧都是筆者命名的,偶爾筆者也懷疑到底是隊友寬宏大量,抑或筆者說不定是個命名的天才?
五倍紅寶石是由幾位台灣 Ruby 社群的朋友共同成立的一家公司,希望透過教育訓練、企業培訓等講座,將 Ruby 推廣到校園、企業、開發者。提供的服務包括:程式教育訓練、企業技術培訓與諮詢、活動場地租借與專案委托製作。
筆者自五倍紅寶石開業以來主力於 Ruby on Rails 的教材編寫、課程設計,並且在校園、公司企業中開設培訓課程。同樣的主題(Ruby on Rails),也因不同的教授對象而特別設計教材,範圍從高中剛畢業的大一新鮮人,到企業中的工程師。本書也是在這樣的環境下撰寫而成。
從 Java 到 Ruby
至於筆者最後為什麼選擇了 Ruby ?其實那時寫了 Java 快 4 年的時間,曾經陷入其可跨平台、有豐富函示庫與應用的迷湯之中,認為自己可以用 Java超越任何事物,然後看到一本書就叫「超越 Java:探討程式語言的未來」。如果你對這本書有印象,他的書名掛名 Java,實則偷塞 Ruby,筆者就這樣上當了。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目錄
CHAPTER 01 前言
1-1 對網頁的了解
1-2 對 SQL 的了解
1-3 對 Ruby 的了解
CHAPTER 02 行前準備
2-1 IDE
2-2 編輯器
2-3 終端機
2-4 瀏覽器
2-5 安裝 Ruby、Rails
2-5-1 Mac 或 UNIX-like
2-5-2 Windows
CHAPTER 03 啟程
3-1 上網大學問
3-1-1 瀏覽器 = 排版引擎 + 下載器
3-1-2 HTTP 的請求與回應
3-2 第一個 Rails 專案
3-2-1 rails new APP_PATH [options]
3-2-2 rails server
3-2-3 localhost 與 127.0.0.1
3-2-4 閘道(Port)
3-3 MVC(Model、View、Controller)
3-4 檔案結構
3-5 網址路由(URL Routing)與控制器(Controller)
3-5-1 rake routes
3-5-2 render
3-5-3 慣例優於設定
3-5-4 rails generate controller NAME [action ]
3-6 靜態檔案
3-7 指令彙整
CHAPTER 04 前端之旅
4-1 ERB
4-1-1 流程控制與 block
4-1-2 變數傳遞
4-1-3 HTTP 變數傳遞
4-1-4 版型(Layout)
4-2 局部樣板(Partial)
4-2-1 局部樣板的變數傳遞
4-3 View Helper
4-3-1 URL Helper
4-3-2 Tag Helper
4-3-3 自訂 Helper
4-3-4 helper 與局部樣板
4-3-5 Form Helper
4-4 Assets Pipeline
4-4-1 sprockets
4-4-2 turbolinks
4-4-3 傳統寫法
4-4-4 使用 Assets Pipeline
4-4-5 require、require_tree 與 require_self
4-4-6 assets 規劃
4-4-7 預編 assets 資源
4-4-8 stylesheet_link_tag 用法整理
4-4-9 javascript_include_tag 用法整理
4-5 指令彙
CHAPTER 05 資料庫之旅
5-1 物件關聯對映(ORM)
5-2 Active Record
5-2-1 命名慣例
5-2-2 rails dbconsole
5-2-3 rails console
5-2-4 CRUD 25操作
5-2-5 設定資料庫
5-3 資料庫遷移
5-3-1 新增遷移檔
5-3-2 版本回滾
5-3-3 遷移指令
5-3-4 change、up 與 down
5-3-5 Model 產生器
5-4 資料驗證 - Validation
5-4-1 使用 validates
5-4-2 取得錯誤訊息
5-4-3 內建的驗證方法
5-4-4 自訂驗證方法
5-4-5 中文錯誤訊息
5-5 回呼 - Callback
5-6 資料關聯 - Association
5-6-1 一對多
5-6-2 多對多
5-6-3 突破慣例
5-7 指令彙整
CHAPTER 06 後端之旅
6-1 網站的規劃
6-2 REST 風格
6-2-1 過猶不及
6-3 Rails 與 REST
6-4 部落格功能
6-4-1 檢視(Read)
6-4-2 新增
6-4-3 更新
6-4-4 刪除
6-5 鷹架(scaffold
6-5-1 快閃訊息 Flash Message
6-5-2 jbuilder
6-6 在表單建立關聯
6-7 使用者驗證
6-8 權限控制
6-9 指令彙整
CHAPTER 07 部屬之旅
7-1 IaaS 與 PaaS
7-2 Passenger(或稱 mod_rails)
7-3 負載平衡
7-4 Capistrano(自動化部屬)
7-5 實際操作
7-5-1 rails server
7-5-2 Heroku
7-5-3 Passenger
7-6 Rails 4.2
7-6-1 Active Job
7-6-2 Asynchronous Mails
7-6-3 Adequate Record
7-6-4 Web Console
7-6-5 外鍵(Foreign Keys)
CHAPTER 08 附錄
8-1 指令
8-1-1 rails 指令名稱 [參數]
8-1-2 Rake 指令
8-2 路由
8-2-1 resources
8-2-2 resource
8-2-3 巢狀資源
8-2-4 名稱空間
8-2-5 限制資源路由
8-2-6 限制參數
8-2-7 集合與成員
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
作者簡介
簡煒航
大兜,本名簡煒航,網路代號 tonytonyjan,身份複雜的七年八班工程師,喜歡 Ruby 與 C,愛好寫程式,以此為樂,並以此維生。
- 五倍紅寶石股份有限公司創辦人
- 腦袋有動工作室負責人
- TJDict Chrome 擴充套件作者
- Rails Girls Taipei 教練
- 2013 Yahoo 黑客松冠軍
|
|
|
|
|
|
|
|
|
|
|
|