my rails way

Post on 07-May-2015

2.955 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

1

Who am I

• I’m 小蟹

• Master: Ruby & Ruby on Rails

• Company: PIXNET

• Site: http://belovely.tw/

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

2

Agenda

• Introduction Ruby on Rails

• Rails training course

3

Introduction Ruby on Rails

4

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

Ruby on Rails (1)

• David Heinemeier Hanson (37signals)

• Yehuda Katz (Engine Yard)

* http://rubyonrails.org/

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

6

Ruby on Rails (2)

• A web framework for Ruby

• MVC architecture

• Agile software development 敏捷開發

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

- Convention over Configuration 慣例勝於配置

7

Website using Rails

• BeLovely

• Techbang

• Twitter

• Github

• Yellow Pages

• Basecamp

• ......more8

So...

It takes a significant investment of time to learn Rails.

10

In fact,

we already have a great training course to enter Rails.

11

Rails training course

12

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

Course purpose

• Basic knowledge

• Useful services

• Bottleneck

14

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

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

Course 0: Linux CLI

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

17

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

Course 1 (1)

• Create a new rails project.

• Setup configuration.

- database.yml

- .gitignore

• Push to github.

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

19

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

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

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

Course 4

• Attachment files

- PostAttachment model

- form_for, multipart

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

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

23

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

Course 7 (1)

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

- Ruby Enterprise Edition

- MySQL

- Apache / nginx

- Passenger

- Capistrano

26

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

Course 7 (3)

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

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

* AWDR3 的 deploy 章節

* Ruby Pocket Reference 的 capistrano 章節

28

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

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

Q & A

31

top related