0
Rails  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/...
Agenda• Introduction Ruby on Rails• Rails basic training course• Working experience• Example                   3
IntroductionRuby on Rails     4
Ruby•                                     Matz•      Perl 6             pearl     Ruby 7              ruby* http://www.rub...
Ruby on Rails (1)• David Heinemeier Hanson (37signals)• Yehuda Katz (Engine Yard)* http://rubyonrails.org/* http://www.rub...
Ruby on Rails (2)• A web framework for Ruby• MVC architecture• Agile software development - Dont Repeat Yourself. - Conven...
Website using Rails• BeLovely• Techbang• Twitter• Github•• Basecamp• ......more   8
In general,it takes a significantinvestment of time tolearn Rails.           9
Regular learning roadmap                http://techiferous.com/2010/07/                roadmap-for-learning-rails/        ...
But,we now have another way inthe beginning.            11
Rails basictraining course      12
2010 Ruby on Rails                                        Rails 2• http://blog.xdite.net/?p=1754 - http://blog.xdite.net/?...
Course purpose• Basic knowledge  - git, editor, linux cli• Useful services  - CRUD, authentication, pagination,    attachm...
Course 0: Git• Open a project in github.• Practice git useful commands. - pull, push, commit, branch, add, checkout,    me...
Course 0: Editor•   vgod                         Vim    -   http://blog.vgod.tw/2009/12/08/vim-cheat-        sheet-for-pro...
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/...
Course 1 (1)• Create a new rails project.• Setup configuration. - database.yml - .gitignore• Push to github.* http://rails....
Course 1 (2)• Complete a basic forum.  - Forum model CRUD (scaffold)  - Post model CRUD (scaffold)  - Setting routes in th...
Course 2• User can login / logout / signup. - Guest can view all posts. - Post needs to login forum. - User can only edit ...
Course 3•   Forum posts order and paginate.    -   params, pagination    -   counter_cache    -   named_scope :recent•   P...
Course 4• Attachment files - PostAttachment model - form_for, multipart• Plugin: http://github.com/thoughtbot/paperclip• Pl...
Course 5• Forum can manage admin accounts.• Build backstage. - route : namespace - before_filter :require_is_admin* http://...
Course 6•   Rake    -   create seed data    -   create fake data•   Plugin: http://github.com/ryanb/populator*   http://ra...
Course 7 (1)• Installing Ruby on Rails environment in a  pure OS (recommend Debian / Ubuntu).  -   Ruby Enterprise Edition...
Course 7 (2)• Deploy the practice project. - Setup deploy.rb. - Create an account for deploy. - Setup ssh. - Setup databas...
Course 7 (3)* http://wildjcrt.pixnet.net/blog/post/  26624950* http://blog.xdite.net/?p=1807* AWDR3 deploy* Ruby Pocket Re...
Another Rails Training( )                           Ruby on Rails Ruby on Rails http://ihower.tw/        http://ihower.tw/...
Related Link•              Ruby on Rails? 2009    -   http://rails.pixnet.net/blog/post/27997778•              Ruby on Rai...
Workingexperience    31
Usual work• Development - Ex: note on your photos, trying products,    SSO, ...etc.• Maintaining - Ex: crontab, daily back...
Development new        services• Planning features in the service.• Photoshop layout by art.   - layout to HTML by art.   ...
When tech get    photoshop layout,• Divided to many functional blocks. (tickets)• Design models and schema by  blocks. (pa...
You maybe need to• write model method and helper methods.• write jQuery.• add your backstage services.                   35
When tech get       HTML layout• Ex: http://show.channel.pixnet/index.html• Divided into Rails layout.• Combined your func...
Finally• Deploy branch to staging.• Test and feedback for adjustment.• Repeat until service online.• Merge master and depl...
Example   38
Plan - Main     39
Plan - List     40
Plan - Sticker      41
Photoshop - Main       42
Photoshop - List       43
Photoshop - Sticker         44
Tech - List (1)       45
Tech - List (2)       46
Tech - List (3)       47
Tech - Sticker (1)        48
Tech - Sticker (2)        49
Tech - Sticker (3)        50
Combination - Layout         51
Combination - List (1)          52
Combination - List (2)          53
http://belovely.tw/event/perfect               54
Q &A 55
Upcoming SlideShare
Loading in...5
×

Rails入門與新人實戰經驗分享

7,461

Published on

Rails 入門與新人實戰經驗分享 by 小蟹

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,461
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
70
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "Rails入門與新人實戰經驗分享"

  1. 1. Rails Ruby on Rails 1
  2. 2. Who am I• I’m• Master: Ruby & Ruby on Rails• Company: PIXNET• Site: http://belovely.tw/• Blog: http://wildjcrt.pixnet.net/ 2
  3. 3. Agenda• Introduction Ruby on Rails• Rails basic training course• Working experience• Example 3
  4. 4. IntroductionRuby on Rails 4
  5. 5. 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
  6. 6. Ruby on Rails (1)• David Heinemeier Hanson (37signals)• Yehuda Katz (Engine Yard)* http://rubyonrails.org/* http://www.rubyonrails.org.tw/ ( ) 6
  7. 7. Ruby on Rails (2)• A web framework for Ruby• MVC architecture• Agile software development - Dont Repeat Yourself. - Convention over Configuration. 7
  8. 8. Website using Rails• BeLovely• Techbang• Twitter• Github•• Basecamp• ......more 8
  9. 9. In general,it takes a significantinvestment of time tolearn Rails. 9
  10. 10. Regular learning roadmap http://techiferous.com/2010/07/ roadmap-for-learning-rails/ 10
  11. 11. But,we now have another way inthe beginning. 11
  12. 12. Rails basictraining course 12
  13. 13. 2010 Ruby on Rails Rails 2• http://blog.xdite.net/?p=1754 - http://blog.xdite.net/?p=1807 - http://wildjcrt.pixnet.net/blog/post/ 26624950* This course is designed by xdite. 13
  14. 14. Course purpose• Basic knowledge - git, editor, linux cli• Useful services - CRUD, authentication, pagination, attachment files, admin backstage• Bottleneck - rack, environment setting 14
  15. 15. 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
  16. 16. 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
  17. 17. Course 0: Linux CLI• Peepcode Meet the Command Line Advanced Command Line 17
  18. 18. 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
  19. 19. Course 1 (1)• Create a new rails project.• Setup configuration. - database.yml - .gitignore• Push to github.* http://rails.pixnet.net/blog/post/22953827 19
  20. 20. 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
  21. 21. 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.• Plugin: http://github.com/technoweenie/ restful-authentication DRY! 21
  22. 22. Course 3• Forum posts order and paginate. - params, pagination - counter_cache - named_scope :recent• Plugin: http://github.com/mislav/will_paginate* http://railscasts.com/episodes/23-counter-cache- column* http://railscasts.com/episodes/108-named-scope 22
  23. 23. Course 4• Attachment files - PostAttachment model - form_for, multipart• Plugin: http://github.com/thoughtbot/paperclip• Plugin: http://github.com/technoweenie/ attachment_fu 23
  24. 24. 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
  25. 25. Course 6• Rake - create seed data - create fake data• Plugin: http://github.com/ryanb/populator* http://railsenvy.com/2007/6/11/ruby-on-rails-rake- tutorial* http://ryandaigle.com/articles/2009/5/13/what-s- new-in-edge-rails-database-seeding 25
  26. 26. Course 7 (1)• Installing Ruby on Rails environment in a pure OS (recommend Debian / Ubuntu). - Ruby Enterprise Edition - MySQL - Apache / nginx - Passenger - Capistrano 26
  27. 27. 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
  28. 28. Course 7 (3)* http://wildjcrt.pixnet.net/blog/post/ 26624950* http://blog.xdite.net/?p=1807* AWDR3 deploy* Ruby Pocket Reference capistrano 28
  29. 29. Another Rails Training( ) Ruby on Rails Ruby on Rails http://ihower.tw/ http://ihower.tw/ rails2/ rails3/ Rails3 *designed by ihower http://ihower.tw/blog/ 29
  30. 30. 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• Rails from T - https://gist.github.com/758319 30
  31. 31. Workingexperience 31
  32. 32. Usual work• Development - Ex: note on your photos, trying products, SSO, ...etc.• Maintaining - Ex: crontab, daily backup, search index, ...etc. 32
  33. 33. Development new services• Planning features in the service.• Photoshop layout by art. - layout to HTML by art. - layout to Ralis by tech. 33
  34. 34. When tech get photoshop layout,• Divided to many functional blocks. (tickets)• Design models and schema by blocks. (paper and pen)• Create new branch in git.• Create Models and migrations.• Apply to controllers and views. 34
  35. 35. You maybe need to• write model method and helper methods.• write jQuery.• add your backstage services. 35
  36. 36. When tech get HTML layout• Ex: http://show.channel.pixnet/index.html• Divided into Rails layout.• Combined your functional blocks with HTML and CSS. 36
  37. 37. Finally• Deploy branch to staging.• Test and feedback for adjustment.• Repeat until service online.• Merge master and deploy to production. 37
  38. 38. Example 38
  39. 39. Plan - Main 39
  40. 40. Plan - List 40
  41. 41. Plan - Sticker 41
  42. 42. Photoshop - Main 42
  43. 43. Photoshop - List 43
  44. 44. Photoshop - Sticker 44
  45. 45. Tech - List (1) 45
  46. 46. Tech - List (2) 46
  47. 47. Tech - List (3) 47
  48. 48. Tech - Sticker (1) 48
  49. 49. Tech - Sticker (2) 49
  50. 50. Tech - Sticker (3) 50
  51. 51. Combination - Layout 51
  52. 52. Combination - List (1) 52
  53. 53. Combination - List (2) 53
  54. 54. http://belovely.tw/event/perfect 54
  55. 55. Q &A 55
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×