转载

[译] 我是这样学会 Rails:12 个星期打造 12 个网页 APP

Mackenzie Child 是一名設計師、工程師、也是一名 Youtuber 兼 Blogger,白天在 Precision Nutrition 擔任前端工程師,晚上則一邊自修程式設計、一邊螢幕錄影(Screencast),把學到的東西用 Youtube 分享給大家。

同時 Mackenzie 也會在他的 部落格 mackenziechild.me 上紀錄一些想法、設計作品、工作點滴。Mackenzie 在 Medium 、 Instagram 、 Twitter 、 Dribbble 、 Github 等平台上都十分活躍。

[译] 我是这样学会 Rails:12 个星期打造 12 个网页 APP

身為一名前端工程師,Mackenzie 認為世界上需要更多的「獨角獸(Unicorn)」,Mackenzie 口中所謂的「獨角獸」,是程式開發界傳說中的生物,不但精通 UI / UX 設計,還能同時進行前端和後端開發的厲害角色。「獨角獸」稀有的原因不難明白,畢竟要能成為同時精通前端設計和後端開發的工程師並不簡單,就像找一名文科理科都爆強的學生不容易一樣。

想成為獨角獸,左腦右腦都要可以靈活使用,要擁有敏銳的設計天份,還要有厲害的邏輯思維。Mackenzie 相信,如果進行後台開發的工程師能有一點設計美感,進行前端設計的設計師能會一點程式開發,如果世界上有更多這樣的「獨角獸」,那生活將會更美好 1

I believe the world could be a better place if more designers learned how to code and more developers learned how to design. –– Mackenzie Child

於是去年底,Mackenzie Child 在部落格上分享了一個特別的經歷,專精前端設計的他,決定開始學習後端開發的 Ruby on Rails,並且完成一項艱鉅的挑戰:連續 12 個星期,每個星期用 Rails 做出一個不同的網頁應用程式。Mackenzie 將這項挑戰稱作「12 in 12 Challenge」。

在這裡將 Mackenzie Child 完成「12 in 12 Challenge」所記錄下的文章 「How I finally learned to build stuff with Rails」 分享給大家,本文並非逐字翻譯,有興趣請閱讀原文。

How I finally learned to build stuff with Rails

Hint: I built 12 different web apps in 12 weeks

[译] 我是这样学会 Rails:12 个星期打造 12 个网页 APP

幾個月前我決定開始學 Rails,在這之前我也曾經「玩過」 Rails ,只是總是遇到瓶頸就半途而廢,或是找到更「有趣」的事情而無疾而終。

你知道,我是一名圖像設計師兼前端開發人員,16 歲時開始進行圖像設計(Graphic Design),到了 20 歲時主要致力於網頁前端設計,在這段時間裡,我一直有源源不絕的點子想完成,卻沒有多餘的錢聘請專業的網頁開發者(Web Developer),也沒有自己學著開發製作。

一直以來我都很想將一個點子,從頭到尾、從前端到後端,全都自己開發完成,成為開發界的「 獨角獸 」––  一個精通 UI / UX 設計,還能同時進行前端和後端開發的厲害角色。

[译] 我是这样学会 Rails:12 个星期打造 12 个网页 APP

所以啦,我決定開始好好學習 Rails!

之前我學 Rails 都是跟著線上的教學,但一牽扯到教學裡沒提到的部分就完蛋了,當然更多時候,光是線上教學的內容我就搞不定了。看教學固然重要,但是要真正的瞭解 Rails,最重要的是「動手打造」!於是我決定挑戰我自已:

挑戰自己用 Rails 連續 12 個星期,每個星期製作一個截然不同的網頁應用程式,我將這項挑戰稱作:「12 in 12 Challenge」。

不只如此,我讀了一篇文章在講「教別人會讓自己學得更好(You learn better by teaching)」的道理,相信大家都曾聽過這個說法,因為在教別人之前,必須將所學的東西吸收、消化,再整理出來,要解釋得讓別人聽得懂,那又是另一個境界的理解!所以除了動手做 Web 應用程式以外,我還將製作的過程錄成了教學影片,也在部落格裡將步驟一步步記錄下來。

我得非常誠實的告訴你們,這項挑戰...... 還真他x的難啊!

對我而言這麼困難的主要原因,也是因為在進行這項挑戰的過程中,我還得同時兼顧白天的全職工作。這 12 個星期裡,好幾次我都想放棄、想辭職,也氣自己傻!為什麼不選個「4 in 4」就好,偏偏選個「12 in 12」。

每個星期我都在掙扎中度過:動手寫程式、遇上困難、出了找不到原因的 Bug,接著花上好幾個小時 Google 如何解決問題( 要能夠打出對的關鍵字去 Google 出答案,這又是另一門非常高深的學問了... ),通常我能在 Stack overflow 上找到我要的答案而順利解決,有時候則無意間在某某不知名開發者的部落格裡抓到一點頭緒,一知半解、硬著頭皮繼續寫下去。

但就在我死撐、硬撐過每個星期的同時,奇妙的事情發生了。

這些挑戰變得一個星期比一個星期簡單!大概在第五個星期時,我對我打造的 應用程式基礎架構已經很有自信,開始接著理解 MVC 模型(Model/View/Controller)概念!寫程式時 Debug 速度變得越來越快,對於未知錯誤的恐懼也慢慢消失了。

在完成這項挑戰後,我可以很自信地告訴你們,每個迸到我腦中的點子我都有把握能寫出 MVC! 更重要的是,任何沒寫過的應用程式,我現在都有自信,我絕對能把它們搞懂,想辦法把它們生出來。

不過別誤會我的意思,我不是因此變成了「高高手」,在開發 Rails 這個領域裡,這項挑戰只是一個很棒的「開始」,我還有太多需要學習、太多不同的主題需要嘗試,這些都是我未來需要做足功課、計劃周詳的。

廢話不多說,就來看看我 12 個星期裡完成的 12 個應用程式吧!以下是我在「12 in 12 Challenge」裡完成的作品跟教學影片,所有的程式碼都放在 Github 上免費提供給你們。

學習任何程式語言都是一個障礙重重的挑戰,我希望我製作的這些教學步驟、影片,能夠在 Rails 新手們學習的過程中提供一點幫助。

Week 1

如何用 Rails 製作一個 Reddit

部落格 步驟詳解 、Github Repo

Week 2

如何用 Rails 製作一個部落格

部落格 步驟詳解 、Github Repo

Week 3

如何用 Rails 製作一個食譜 APP

部落格 步驟詳解 、Github Repo

Week 4

如何用 Rails 製作一個 Pinterest

部落格 步驟詳解 、Github Repo

Week 5

如何用 Rails 製作一個電影評價 APP

部落格 步驟詳解 、Github Repo

Week 6

如何用 Rails 製作一個 Todo 待辦事項 APP

部落格 步驟詳解 、Github Repo

Week 7

如何用 Rails 製作一個求才職缺版

部落格 步驟詳解 、Github Repo

Week 8

如何用 Rails 製作一個健身紀錄 LOG

部落格 步驟詳解 、Github Repo

Week 9

如何用 Rails 製作一個維基百科

部落格 步驟詳解 、Github Repo

Week 10

如何用 Rails 製作一個論壇

部落格 步驟詳解 、Github Repo

Week 11

如何用 Rails 製作一個記事本 APP

部落格 步驟詳解 、Github Repo

Week 12

如何用 Rails 製作一個類似 Dribbbe 的 APP

部落格 步驟詳解 、Github Repo

正文到此结束
Loading...