--- layout: post title: "Rails Girl #7" date: 2016-08-28 --- # Rails Girl #7 有幸在第七屆的 Rails Girl 活動中擔任教練,就來寫寫感想好了 w 在當 Rails Girl 教練之前,我雖然「算是」有帶過幾位實習生,不過跟這種馬拉松式的教學完全不同,平常都不太說話的我,這兩天竟都沒怎麽停嘴,也真佩服自己了 😅 ## Day 1 - 裝機 對於這種體驗性質的活動,浪費時間在安裝開發環境就太可惜了。主辦的大大在會前教練通知信裡寄了一份 [CodeAnywhere](https://codeanywhere.com/) 網站的說明。如同名字所述,CodeAnywhere 可以讓你 **Code Anywhere**(在哪裡都能寫程式),運用 Linux Container 和 Web 技術,使用瀏覽器便能連接機器、開發網站服務。只可惜 Bug 還是挺多的,比如說: 1. 無法做到即時 Filesystem Refresh,每次新增檔案後,都要手動重新整理專案,新增的資料夾才會出現在列表 2. Terminal SSH Session 在重新整理瀏覽器後不會自動 kill,所以開啟的 Rails server 佔用 port,但 terminal tab 已經消失,需要找出 pid 後 kill 掉(`lsof -i tcp:3000`) 3. 在 Terminal 界面無法使用貼上快捷鍵(`Ctrl + v` or `CMD + v`),對於經常性 Copy & Paste 的這堂課來說十分不便呀 附上 rails 簡易裝機指令,無論是 CodeAnywhere 環境或是 Ubuntu/macOS 應該都能使用。Ubuntu 需要事先安裝好 Git,macOS 則需安裝 XCode Developer Tools。 ```bash gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash -s stable rvm reload rvm install 2.3.1 rvm use 2.3.1 --default echo 'gem: --no-ri --no-rdoc' >> ~/.gemrc # 不需要安裝 rdoc gem install bundler bundle config --global --jobs 4 echo 'source "https://rubygems.org" ruby "2.3.1" gem "rails" ' >> ~/Gemfile cd # 切換至家目錄 bundle install ``` 個人認為裝機階段實在也不需要特別解釋,說明一下 Ruby 和 Rails 的關係和豐富的套件生態系就行了~~(什麼?Rails 不是語言嗎?)~~ 作為一個信仰不夠忠貞的 Rails 信徒,自然會從廣義的 Web 開始講起。想到在行前會說明時,提到有個萬用便當遊戲[^1] 可以用,自然就偷跑進度,直接拿便當圖來講故事啦。講故事的重點就是**凡事回顧個兩三次**,並在不同時機再次連結。另外身為一個自學者,當然還是把肌肉記憶拿出來講了講,我還是覺得這挺有用的 XD ## Day 2 - 跑跑進度啦 CodeAnywhere 有分享專案和 pair programming 的功能。先對專案點右鍵,並在跳出的選單選擇 Share、並輸入對方 Email 即可;而 Pair Programming 比較麻煩,每個檔案或是 Terminal 都要分享一次。如下圖所示,按下紙飛機按鈕,並輸入對方 Email: ![Imgur](https://i.imgur.com/ky0B3yd.png) THE 紙飛機 ![Imgur](https://i.imgur.com/8XTdMEr.png) 透過 Pair Programming 的方式,即使是一次帶兩個人,也只要維護一份環境、一份專案,真是怠惰啊 😇 第二天白天,我們這組跑了 Rails Girl 的兩篇教材,分別是 [Idea Scaffold][rails-1] 還有[留言功能][rails-2],途中也不時對教練解釋的地方自我吐嘈了一番;下午就在各種~~傳教~~閒聊之中度過了,比如 [Rails 基本主義][the-rails-doctrine]啦、[編輯器之戰][editor-war]、[鄙視鏈](https://vinta.ws/blog/695)、GitHub 文化、[Stylish](https://userstyles.org/) 自訂網頁樣式表、[Coding Font with Ligature support](https://github.com/larsenwork/monoid),還有 [DjangoGirls](https://djangogirls.org) 等等(在 Rails 的場子談 Django 是不是搞錯了什麼?)。畢竟這個圈子最好玩的就是聖戰以及用不完的攻城獅哏,體驗文化也是學習不可分割的一環啊! ## After Party 據說 After Party 才是 Rails Girls 活動的精華......欸就這樣一行? ## 結語 Rails Girls 對於想接觸 Rails 或是網站入門的女性朋友來說,自然是個非常好的機會,手把手帶你寫程式還不用錢,實在是值回票價(等等!免費的活動哪來的票啊);對身心疲憊、忙於工作的工程師教練們,也是個調劑身心的好時機,讓平常沉默的宅宅有了練蕭維的舞臺。最後感謝本活動的唯一贊助商[五倍紅寶石](https://5xruby.tw),下次活動詳情就請繼續關注 [Rails Girls Taiwan][rails-girls-fb] 粉絲專頁啦! [the-rails-doctrine]: https://medium.com/@juanitofatas/ruby-on-rails-%E5%9F%BA%E6%9C%AC%E4%B8%BB%E7%BE%A9-f4cde39292a4 [rails-1]: http://railsgirls.tw/app [rails-2]: http://railsgirls.tw/commenting [editor-war]: https://yukaii.tw/blog/2016/06/22/sublime-atom-vscode-comparison-mid-2016/ [rails-girls-fb]: https://www.facebook.com/railsgirlstw/ [^1]: 參見 [Rails Girls 官方部落格](http://blog.railsgirls.com/post/20405930015/bentobox-learn-the-language-of-technology)