第 1 堂|關於這門線上課程
介紹整套課程的大綱以及該如何這套課程,另外也會跟大家分享看起來不太講話(或甚至不太好溝通)的工程師,平常的生活大概是什麼樣子。
第 2 堂|開發工具
工欲善其事,必先利其器,在這堂課將跟大家介紹要開發網站會用到的工具軟體。在這門課,我將主要使用 Visual Studio Code 這套文字編輯器,它不只免費而且功能強大,並且有相當多的外掛軟體可以讓開發更快速。除了 VSCode 之外,還會介紹電影裡面看起來很像駭客的終端機指令。
- 開發工具面面觀
- Visual Studio Code
- 常用終端機指令介紹
第 3 堂|開發環境
在我們開始開發網站之前,你知道整個網站是怎麼運作的嗎?當你打開瀏覽器、輸入網址並按下 Enter 鍵的一瞬間,其實背後發生了許多事情,一旦你了解這背後運作的機制,你在開發網站的時候會更知道自己在做些什麼事。
第 4 堂|HTML
HTML 可以說是整個網站的「骨架」,負責整個頁面的結構。雖然說 HTML 好像隨便寫一寫都會動,但寫得好的結構不只對後續串接程式很有幫助,而且「語意化」的 HTML 標籤更可以讓搜尋引擎可以更精準、正確的讀懂你的頁面,進而讓頁面更容易被搜尋到。
第 5 堂|CSS
有了 HTML 建構好了「骨架」之後,接下來的「外表」也不能太難看,而 CSS 就像是網頁的化妝品一樣,能讓原本看起來很陽春頁面看起來氣色變好;如果在 Bootstrap 這樣的化妝組合包的加持下,即使沒有設計師幫你化妝,你也能照著說明書讓你的頁面一下子就變得非常專業。
- 基礎知識
- 開發者工具
- 如何正確的選到你要的元件
- Box Model
- 定位
- Flexbox 排版
- SCSS/SASS 讓你寫 CSS 更輕鬆
- Bootstrap
- 練習題
第 6 堂|JavaScript
有了 HTML 的「骨架」跟 CSS 的「外表」之後,JavaScript 就像是網頁的「表情」,頁面有了適當的互動後,可讓瀏覽者感受到活力及便利性。這個單元除了介紹最基本的 JavaScript 之外,也會介紹 jQuery 這套歷久彌堅的函式庫。
- 基礎知識
- 變數型別
- 流程控制、邏輯判斷與迴圈
- 函式
- 物件
- ES6 介紹
- jQuery
- 基礎語法
- 選擇器與 DOM 操作
- AJAX
- 方便的 jQuery 外掛
- 練習題
第 7 堂|Git
常說人生不能重來,但在電腦的世界裡,Git 就像檔案的時光機,可以保留檔案在各個時間的狀態,萬一檔案不見或是改壞了,隨時可以救回來,因此不管是哪種程式語言,Git 幾乎已經變成工程師最不可或缺的工具軟體之一。
另外,我也會透過各種工作上可能會遇到的狀況題,來跟大家介紹如何使用 Git 跟其它同事一起順利的工作(或是,當發生問題的時候該怎麼解決)。
- 基礎知識
- 環境安裝與設定
- Git 的三種模式(工作目錄、暫存區及儲存庫)
- 基本操作
- 使用分支
- 常見使用情境
- 遠端共同協作 - 使用 GitHub
- Push 上傳到 GitHub
- Pull 下載更新
- 使用 Pull Request(PR)與其它開發者進行互動
- 開發流程
- Git Flow 介紹
- GitHub Flow 介紹
- 練習題
第 8 堂|Ruby
Ruby 是一款發展已經超過 25 年的程式語言,在下個單元要介紹的 Ruby on Rails 就是用它做出來的。Ruby 簡單、易懂的語法,會讓寫的時候不太覺得自己是在寫程式碼,甚至是第一次接觸程式的人,即使不會寫,光看字面說不定都能猜得出來程式碼是在做些什麼事。
- 變數、常數、流程控制、迴圈
- 數字、字串、陣列、範圍、雜湊、符號
- 方法定義
- 程式碼區塊(Block)
- 物件導向程式設計
- 使用套件(Gem)讓開發更有效率
- 寫測試讓你更有信心
- 練習題
第 9 堂|Ruby on Rails
有了前面的 HTML 的「骨架」、CSS 的「外表」以及 JavaScript 的「表情」之後,Ruby on Rails 就可以說是整個網站的靈魂了。Ruby on Rails 是一款專門設計用來開發網站的工具組(或稱框架),讓我們可以在很短的時間就能做出有點樣子的成品。
而我們接下來的三個大單元,分別是對一些國內、外知名的網站進行「致敬」,主要也都是使用 Ruby on Rails 來復刻出這些網站的功能,進而了解背後運作的原理。
- 環境安裝及簡介
- 基礎知識
- 安裝 Rails 並建立專案
- 第一個應用程式(使用 Scaffold)
- MVC 模型與網站的關係
- CRUD 分解動作 - 簡易票選系統實作
- Layout,Render 與 View Helper
- Model 基本操作
- 寄發信件
- 背景工作及工作排程
- Rails 程式碼整理術(入門)
- 金流串接
- 網站部署(使用 Heroku)
- 進階知識
- Rails 程式碼整理術(進階)
- 網站部署(使用 Capistrano)
- 練習題
第 10 堂|資料庫
資料庫可能是整個網站架構裡最不起眼但佔有非常重要地位的角色,不管是會員資料還是商品資料、交易資料,都是存在資料庫裡。雖然使用 Ruby on Rails 這樣的開發框架可以減少開發者跟資料庫直接接觸的機會,但了解資料庫的基礎知識仍是非常重要的議題。
- 基礎知識
- Rails 裡的物件跟 SQL 語法的關係
- 練習題