我是這樣學會 Ruby on Rails:12 個星期打造 12 個網頁 APP

Mackenzie Child 是一名設計師、工程師、也是一名 Youtuber 兼 Blogger,Mackenzie 認為世界上需要更多的「獨角獸」—— 精通 UI / UX 設計,還能同時進行前端和後端開發的厲害角色。於是專精前端的他,決定學習後端開發的 Ruby on Rails,並且完成一項艱鉅的挑戰:連續 12 個星期,每個星期用 Rails 做出一個不同的網頁應用程式。Mackenzie 將這項挑戰稱作「12 in 12 Challenge」。
評論
評論

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

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

身為一名前端工程師,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,在這之前我也曾經「玩過」Rails ,只是總是遇到瓶頸就半途而廢,或是找到更「有趣」的事情而無疾而終。

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

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

所以啦,我決定開始好好學習 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

《延伸閱讀》

Ruby on Rails 發明人的告白:賣掉股票、變身百萬富翁的那天,我得到了什麼呢?

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

科技賦能創新突圍——愛酷智能科技舉辦 MarTech Salon,為企業創造數據驅動新價值

自 2018 年成立以來,愛酷智能科技深耕 AI 與 MarTech 領域,在行銷科技應用上擁有專業並豐富的實務經驗。MarTech Salon 系列活動旨在創造一個行銷科技交流平台,透過各領域講師及產業先行者的分享,協助企業掌握 MarTech 新趨勢,在數位新浪潮中搶得先機。
評論
圖片來源:愛酷智能科技
評論

愛酷智能科技於 9/29 (三) 舉辦今年第一場 MarTech Salon「用聊天機器人,輕鬆培養忠誠用戶!」,吸引數百位參與者共襄盛舉,包含中小企業主、品牌行銷人、行銷代理商等經理人。活動分享最新 ChatBot 對話式商務趨勢、顧客數據整合技術、會員標籤應用,並解析 AI 與 MarTech 的策略性思維。

圖片來源:愛酷智能科技

行銷 5.0 時代,One ID 科技賦能

行銷 5.0 的時代注重「技術」與「人性」融合的全方位戰略,打造更完善的顧客體驗 (CX, Customer Experience),加上面對資訊的爆炸,企業的痛點在於多渠道破碎資料整合的困難。

透過 One ID 整合消費者與品牌的互動歷程,企業能夠將匿名資料,即網路上的任何瀏覽行為,納入行銷決策的參考依據。愛酷商務解決方案暨夥伴關係經理 Perry Wang 在分享中提到:「One ID 技術追蹤本我、自我、超我外的第四個我,也就是『匿名我』。」

Perry Wang 舉房仲產業應用做進一步解釋,房仲市場成交的關鍵,在於業務服務的精準度,仔細發掘顧客真正的需求,推薦適合的物件。然而,過往消費者經常心口不一,難以取得真正的需求,透過愛酷 One ID 追蹤技術,能將顧客在網頁瀏覽的物件類型、地段、價格數據一次收整,隨著預約賞屋的名單,派送到業務手中,洞察顧客的行為,進而做到房產智慧推薦,提升成交機會。

運用聊天機器人,打造多元運用情境

「對話式商務」之所以能成為現今極具潛力與商機的行銷模式,原因在於品牌透過通訊軟體主動出擊,能創造與消費者間更多元的接觸點及對話機會。愛酷顧客成功經理 Wayne Chen 在講座中分享使用聊天機器人的六大目的:「聰明運用 ChatBot,將能夠提升行銷溝通效率,滿足『會員募集』、『增加品牌知名度』、『協助客服』、『搜集顧客意見』、『推播再行銷』、『引導購物』。」

活動中,來賓針對聊天機器人服務也萌生許多問題,包含如何評估 ChatBot 需求、需做哪些前置準備等。Wayne Chen 建議企業首先應思考創建聊天機器人的目的,例如:提高來客率、會員系統服務建置、業務轉型等;接著分析企業想搜集的資訊、提供給顧客的服務、用科技解決的行銷問題,進而透過創意活動培養忠誠用戶。

會員精準貼標,創造有效互動

投資對話式商務工具、透過創意增粉操作與用戶互動後,分群分眾與需求深度挖掘則是企業下一步應掌握的重點。愛酷行銷經理 Eason Huang 說明:「透過標籤系統,能逐層剖析顧客的行為輪廓,提升溝通內容的精準性。」愛酷智能科技協助顧客從命名規則著手,將標籤分成靜態、動態類型,並加入標籤層級的關係架構,以達到在對的時間,與對的人,溝通對的內容。

Eason Huang 進一步建議,企業在運用標籤系統與用戶互動時,應至少都包含「完善用戶輪廓」、「探勘用戶興趣」、「引導用戶行為」其一目的,「提升營收」僅是結果。不論是透過靜動標籤調查用戶喜好、推進用戶成為會員或是為了下一次的活動佈局,企業都應制定明確的目標以創造真正有效的互動。

從數據整合技術、聊天機器人應用到標籤深度規劃,愛酷智能科技分享 MarTech 最新趨勢,也透過成功案例說明企業如何在疫情下逆勢成長,培養忠誠會員,並達到會員導流,帶動營業額提升。

未來,愛酷智能科技將持續舉辦 MarTech Salon 系列活動,協助企業掌握 AI 與 MarTech 最新趨勢與應用。歡迎追蹤以下渠道,掌握最新資訊:

本文章內容由「愛酷智能科技」提供,經關鍵評論網媒體集團廣編企劃編審。