my rails way

31
My Rails Way 小蟹的Ruby on Rails學習之路 1

Upload: wildjcrt

Post on 07-May-2015

2.957 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: My rails way

My Rails Way小蟹的Ruby on Rails學習之路

1

Page 2: My rails way

Who am I

• I’m 小蟹

• Master: Ruby & Ruby on Rails

• Company: PIXNET

• Site: http://belovely.tw/

• Blog: http://wildjcrt.pixnet.net/

2

Page 3: My rails way

Agenda

• Introduction Ruby on Rails

• Rails training course

3

Page 4: My rails way

Introduction Ruby on Rails

4

Page 5: My rails way

Ruby

• 松本行弘 まつもとゆきひろ,別名Matz

• 由於Perl與6月的誕生石pearl音同,因此Ruby以7月的誕生石ruby命名。

* http://www.ruby-lang.org/en/

* http://www.ruby-lang.org/zh_TW/ (中)

* http://ruby.tw/ (中)

5

Page 6: My rails way

Ruby on Rails (1)

• David Heinemeier Hanson (37signals)

• Yehuda Katz (Engine Yard)

* http://rubyonrails.org/

* http://www.rubyonrails.org.tw/ (中)

6

Page 7: My rails way

Ruby on Rails (2)

• A web framework for Ruby

• MVC architecture

• Agile software development 敏捷開發

- Don't Repeat Yourself 不要重複自己

- Convention over Configuration 慣例勝於配置

7

Page 8: My rails way

Website using Rails

• BeLovely

• Techbang

• Twitter

• Github

• Yellow Pages

• Basecamp

• ......more8

Page 10: My rails way

So...

It takes a significant investment of time to learn Rails.

10

Page 11: My rails way

In fact,

we already have a great training course to enter Rails.

11

Page 12: My rails way

Rails training course

12

Page 13: My rails way

2010 Ruby on Rails 書單 與 練習作業

• http://blog.xdite.net/?p=1754

- http://blog.xdite.net/?p=1807

- http://wildjcrt.pixnet.net/blog/post/26624950

‣ pw: cite-on-rails

*This training course designs by xdite.

Rails 2

13

Page 14: My rails way

Course purpose

• Basic knowledge

• Useful services

• Bottleneck

14

Page 15: My rails way

Course 0: Git

• Open a project in github.

• Practice git useful commands.

- pull, push, commit, branch, add, checkout, merge, status, diff, grep

* Peepcode 的 Git 與 Pro Git

* http://wildjcrt.pixnet.net/blog/post/26458848

15

Page 16: My rails way

Course 0: Editor

• vgod 的 給程式設計師的Vim入門圖解說明 全部練習一遍

- http://blog.vgod.tw/2009/12/08/vim-cheat-sheet-for-programmers/

* http://c9s.blogspot.com/2009/08/vim-hacks-coscup.html

* Oreilly 的 精通 vi 與 vim

* Pragmatic 的 TextMate: Power Editing for the Mac

16

Page 17: My rails way

Course 0: Linux CLI

• Peepcode 的 Meet the Command Line、Advanced Command Line 全部練過一遍

17

Page 18: My rails way

Reference before course

* http://rails.pixnet.net/blog/category/list/1603567

* http://wildjcrt.pixnet.net/blog/category/list/1431631

* Ruby Programming — 向 Ruby 之父學程式設計

* Ruby for Rails - Rails 開發者必備的 Ruby 學習手冊

* The Well-Grounded Rubyist

* 碼上就會:Rails敏捷開發網站

* Agile Web Development with Rails, Third Edition

* The Rails Way

* Ruby Pocket Reference

* Rails Recipes

* Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps

18

Page 19: My rails way

Course 1 (1)

• Create a new rails project.

• Setup configuration.

- database.yml

- .gitignore

• Push to github.

* http://rails.pixnet.net/blog/post/22953827

19

Page 20: My rails way

Course 1 (2)

• Complete a basic forum.

- Forum model CRUD (scaffold)

- Post model CRUD (scaffold)

- Setting routes in this format :http://example.org/forums/1/posts/2

* http://rails.pixnet.net/blog/post/22956704

* http://ihower.tw/training/rails-tutoral.html

20

Page 21: My rails way

Course 2

• User can login / logout / signup.

- Guest can view all posts.

- Post needs to login forum.

- User can only edit and destroy his own posts.

• http://github.com/technoweenie/restful-authentication plugin

DRY!

21

Page 22: My rails way

Course 3• Forum posts order and paginate.

- params, pagination

- counter_cache

- named_scope :recent

• http://github.com/mislav/will_paginate plugin

* http://railscasts.com/episodes/23-counter-cache-column

* http://railscasts.com/episodes/108-named-scope

22

Page 23: My rails way

Course 4

• Attachment files

- PostAttachment model

- form_for, multipart

• http://github.com/thoughtbot/paperclip plugin

• http://github.com/technoweenie/attachment_fu plugin

23

Page 24: My rails way

Course 5

• Forum can manage admin accounts.

• Build backstage.

- route : namespace

- before_filter :require_is_admin

* http://railstips.org/blog/archives/2007/04/28/namespaces-added-to-routes/

24

Page 26: My rails way

Course 7 (1)

• Installing Ruby on Rails environment in a pure OS (recommend Debian / Ubuntu).

- Ruby Enterprise Edition

- MySQL

- Apache / nginx

- Passenger

- Capistrano

26

Page 27: My rails way

Course 7 (2)

• Deploy the practice project.

- Setup deploy.rb.

- Create an account for deploy.

- Setup ssh.

- Setup database, run migration.

- Setup virtual host.

27

Page 28: My rails way

Course 7 (3)

* http://wildjcrt.pixnet.net/blog/post/26624950

* http://blog.xdite.net/?p=1807

* AWDR3 的 deploy 章節

* Ruby Pocket Reference 的 capistrano 章節

28

Page 29: My rails way

Another Rails Training(中)

*designed by ihower

http://ihower.tw/blog/

由淺入深學習 Ruby on Rails

Ruby on Rails 實戰手冊

http://ihower.tw/rails2/

http://ihower.tw/rails3/

29

Page 30: My rails way

Related Link• 如何入門 Ruby on Rails?(2009)

- http://rails.pixnet.net/blog/post/27997778

• 進階學習 Ruby on Rails (2009)

- http://rails.pixnet.net/blog/post/27997784

• Rails 新手禁用條例

- http://wildjcrt.pixnet.net/blog/post/26624950

• 實際動手做 Rails 最佳實踐

- http://wildjcrt.pixnet.net/blog/post/27037216

30

Page 31: My rails way

Q & A

31