Link Search Menu Expand Document

Ruby on Rails 實戰聖經

關於本書

我是 ihower,本書介紹 Ruby on Rails 這套開放原始碼的網站開發框架。

內容涵蓋了 Ruby on Rails 大部分的常用功能以及介紹,本書拆分成數個部分:

  • Part 1 為入門導覽,實作一個活動管理系統。這部分有二十六集的教學系列影片 (Youtube)涵蓋 Part1 的所有內容。影片是我在 ALPHA Camp 時期拍攝的(當時的 Rails 版本是 4.2)。

  • Part 2: 是我在北京全棧營時期製作的教材(當時的 Rails 版本是 5.0),現已免費開放(感謝 xdite)。當初是針對中國大陸的學生寫的簡體版本,這裡重新編排和更新內容。

  • Part 3: 為深度剖析各種元件和高階議題

  • Git 版本控制: 現代軟體開發必備工具

  • 應用程式開發基礎: 給初學者的基礎電腦科學知識

由於本書寫作時間跨越 Rails 3.2 至 Rails 6,因此有些截圖可能和最新版本不同,也不保證所有步驟能夠相容於最新版本。但絕大部分應該沒問題,若有已知差異會特別補充說明。

歡迎訂閱本書最新消息,勘誤請來信 ihower@gmail.com

關於作者

張文鈿,網路上的代號為 ihower,曾擔任日本 RubyKaigi、中國 RubyConf China、台灣 RubyConf TaiwanCOSCUP 歷屆講者。2006年開始接觸 Rails,從此愛上 Ruby 這個極具豐富樂趣及高生產力的程式語言,並於2018年成立愛好資訊科技有限公司

歡迎追蹤 Twitter 帳號 @ihower 和部落格 https://ihower.tw

筆者公司也有開 Junior Developer 職缺,請前往 CakeResume 瀏覽內容。

Telegram 社群

歡迎加入愛好 Rails 公開群,分享討論 Ruby on Rails 相關技術。

贊助支持

若覺得本書的內容對您有幫助,歡迎透過以下方式贊助支持:

目標讀者

本書的目標讀者為網站開發工程師(Web Application Developer),比較不適合完全沒有網頁開發經驗的朋友,在學習 Rails 前,最好對以下知識有基本認識:

  • 基本的程式設計能力,了解什麼是變數、控制流程、迴圈、函式、陣列等等
  • HTML/CSS 網頁設計
  • 對網路通訊協定 HTTP 有基礎認識
  • 對 RDBMS 關聯式資料庫和 SQL 語法有基本了解
  • 基本的指令列操作 (CLI: Command line interface),Unix-like 作業系統為佳

如果您有 PHP/MySQL、Node.js、ASP、JSP 等網頁應用程式開發經驗,相信這些對您應該不陌生。 若您沒有這些經驗知識,可以先參考本書的應用程式開發基礎章節。

本書想要涵蓋的重要新功能,但還沒空寫

本書不涵蓋的功能

筆者認為用不到或不好用的功能:

  • Encrypted Credentials
  • Active Record 的 has_secure_token
  • Active Record 的 enums
  • Action Mailbox
  • Rails 內建的 Testing (本書改用 RSpec)
  • Routing Concern, Shallow 用法
  • ActionController 的 Live Streaming
  • Action Mailer Previews (本書用 letter_opener gem)
  • Rails API-only 模式
  • Multiple database support

致謝

本書起初的材料來源,來自於準備中研院自由軟體鑄造場 OSSF 自 2008 年起主辦的Ruby on Rails工作坊課程,感謝OSSF對於開源軟體和開源社群的支持。本書在撰寫過程也收到非常多台灣和中國大陸讀者來信勘誤指教,對這本書產生了良性回饋,在此感謝:hSATAC、timloo0710、seekcalm、ETBlue、Michael Wang、liukai、inepalon、Ya-yu Huang、aiasfina、David Chuang、Yu-Yao Chang、yang thomas、inepalon、guan-ting chen、Eric.Xiong、pptpb.tw、saitoTK、le jerry、jeffchen1453、EvenWu、Jasper CAI、dreamy0909、JmeHsieh、逍遥、Mark GK、LiChun、tonytonyjan、Kang-Yu Li、曾小黑、Pomin Chen、jzg、ayaya、Juanito Fatas、紅音也、Vincentzh、idarfan、lixing、jerrycheng、maxz、TaopaiC、Fukuball、klobo、liyq205、EIA ANG、caiguo、良葛格、Lam、Daniel Tsai、Hillman Yang、sdjcw13、Jingqiang、foxzool、danix、Yang Weiqi、周裕波、David Chang、张杰、Sgar Wang、zw963、feynixs、Youhua Wang、韩冰、Silver Chen、Kerby Wang、贵超、everyx Lo、shch、David Huang、士揚、Dars、小強、Daniel Yuen、Kevin Shen、floydsoft、Yuan-Hong Zeng、纪东、浩翔、Cray Kao、Theresa、奕辰、WM、Po-Yu、ZhaoZijie、Sean Chen、克彥、庆冲、Gary Cruise、Lester、yousheng、詩凱、Wei-Luan、Zen David、beta shepherd、佳和、凤祥、odin、ChengYu、Bill Chang、Yuting、家倫、Hwang Acer、Losepacific、yellowstar520、lcc、Phoebe Chang、 Akii、illusion、冠雄、Meng-Ying、Su Billy、nico zhang、聖明、Kai Yang、竑昕、Singhigh、Ya Ian、Lance Lin、David Liu

感謝 gogojimmy雨蒼Juanito Fatas 協助撰寫了部分內容和潤稿。

感謝 ALPHA Camp 網站開發工程師實戰營、新生大学全栈营(北京)讓我獲得寶貴的教學相長經驗。學員們強烈的求知慾,也不斷推進本書的進度。

最後感謝愛好資訊科技的同事 Nacho、Gene、Wells 在工作之餘幫忙勘誤。

線上參考資源(英文)


Copyright © 2010-2021 Wen-Tien Chang All Rights Reserved.