Liz's Blog

2016/05 Rails 商務網站x即戰力心得

| Comments

其實一年前我就想要學Ruby on rails,興沖沖地買了一本書,翻了五頁後就放進書櫃長灰塵,從此之後,學Ruby on rails就成了我嘴上但卻不在心上的心願。是今年剛好工作需要完成一個線上課程的案子,才重新燃起想要真正獲取這項技能的動力,但我個人由於完全沒有程式背景,所以以下我來分享一下我如何學習這門課還算小認真的一些過程,讓想要入門的人參考參考。(對於要不要參加這個課或者上完這個課可不可以找到工作,這就是你和老師之間的拉扯啦XD)

了解自己學習的優缺點

先來解釋一下沒有程式背景這件事,我大學和研究所唸的是生醫相關科系,待過好幾個不同的產業(藥品、投資、期刊資料庫代理、保健食品等),做過不同領域產品企劃及行銷工作。雖然沒有程式背景,但我還算是個了解自己學習盲點及優點的人,像是:

  1. 我只有關鍵字及事件般的記憶(像是價格、數據、八卦等),但對於字詞和字詞連接及順序我幾乎是爛透了。(像是指令git push heroku store-v1:master,每個字我可能都記得,但順序我會亂湊之類的),所以在學習時,我不會逼自己要去背東西,不然我一定會學的很不開心!
  2. 我雖然沒有程式背景,但我搜尋和追蹤能力還算不錯(可能是跟我之前在賣資料庫公司上班的時候被逼到的),所以在學習時,我會整理自己的筆記,追蹤自己不會和會的。
  3. 不會害怕被打掉重練學新的東西,但很需要階段性的成就感,所以在學習時,我會去平衡挫折和成就感。

(由於理解力好不好實在太抽象,我只能說我不是神人,所以我就不放在上面討論。)

課前準備期:沒有程式背景Rails101就不只要做三遍了

報了五月的課程後,我就有至少留兩個禮拜的時間要做初探Rails和Rails101,而且也會一直收到提醒信,提醒課前要先將Rails101做三遍以上,超可怕的啦!每次收到都覺得想要逼死誰啊!

因為如果沒有程式背景,每一個字元即使都看得懂,也都會像火星文般OOXX,所以需要填補的知識就會非常多。初探Rails還算親民,會有一點成就感,反正有鷹架咻咻咻就完成,比較像是在解說專案內有什麼被建立了、被啟動、被跑起來了lol。Rails101就會有比較大的鴻溝,除了要輸入的指令比較多,概念也比較複雜,要被補起來的洞也會更大了。

所以針對這兩個課程,我基本上是分成兩個部分執行:

  1. 初期(前三次):code全部用貼的,搭配sourcetree做commit,一來我發現我手超殘,debug讓我超靠北,二來我這樣也比較知道整體運作,而且比較會有成就感。後期(第三次以後):開始用手打,一樣搭配sourcetree。
  2. 把code全部複製到google doc上,不想實作的時候,就去把code裡面不懂的部分查資料用comment附註上去,懂了就關起來,一樣會有成就感,另一方面會知道哪些還不清楚。(任何資料都放,整理是比較後來的事情)

不過正式上課前,我對Rails整個概念都還在一片霧茫茫中,有些概念我好像開始懂了,但我還是很多東西不懂,但至少對於學習Rails還沒放棄希望。

上課期間:上課專心聽下課要寫作業

基本上,即戰力算是Rails101的課程延伸,大多數的概念Rails101都有提到(所以如果沒有先練習Rails101,就真的上課會比較辛苦啦),只是比較簡單的例子。畢竟購物網站會比留言板設計邏輯再進階一點,另外再加上更多的gem會進來大亂鬥,以及整合好幾個外部服務,像是mailgun寄信、智付寶金流及Amazon S3等。

上課期間可以做的事情是:

  1. 專心聽,雖然會靈魂會飄走,但要努力抓住它。
  2. 實作有問題,搶助教,確保有追上進度,每一點差距都變成與課程進度越來越遠的一根稻草。

下課期間可以做的事情是:

  1. 配合sourcetree把上課進度及作業重貼一次,遇到問題在slack或去週二meetup、週四新手村問助教。沒問題後,可以再貼一次之後,再試著自己用手打。(了解會發生什麼事情→知道會發生什麼事情→慢慢自己建立會發生什麼事情)
  2. 要確保蒐集問題、把大問題拆成小問題,並紀錄答案的過程。
  3. 把code全部複製到google doc上,和rails101做法類似。(自己整理的好處是如果課程有小幅改版,你也可以比較好掌握)
  4. 實作完後,記得還要寫上課筆記心得,裡面會是整堂課的重點回顧。我自己的作法是會把找到的資料先塞進去,先完成再說,整理是之後的事情,因為一個禮拜一下就過完了。(可能是我有點強迫症,雖然我個人沒有行事曆,但對於要做的事情沒做完,我會非常非常焦慮)

結論

  1. 其實我上面講的,很多是課前或是報名前,你就會看到是Xdite說過的內容,我只是補上一些我的實際做法。
  2. 如果完全沒背景的話,建議自主學習力比較高的人來報名,如果能建立自己的學習追蹤過程的話,你其實可以知道一個月內你如何大躍進,會鼓勵你繼續學下去。
  3. 上課的這一個月,務必要空下很多很多很多很多很多很多時間,除非你的目標並不是取得這項技能。
  4. 這堂課不是Rails學習的終點,它雖然讓你減少許多摸索時間,但還有許多未完待續......

Comments

comments powered by Disqus