7. Ruby on Rails (2)
• A web framework for Ruby
• MVC architecture
• Agile software development
- Don't Repeat Yourself.
- Convention over Configuration.
7
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
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. 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. Course 0: Linux CLI
• Peepcode Meet the Command Line
Advanced Command Line
17
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. 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. 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. 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. 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
32. Usual work
• Development
- Ex: note on your photos, trying products,
SSO, ...etc.
• Maintaining
- Ex: crontab, daily backup, search
index, ...etc.
32
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. 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. You maybe need to
• write model method and helper methods.
• write jQuery.
• add your backstage services.
35
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. Finally
• Deploy branch to staging.
• Test and feedback for adjustment.
• Repeat until service online.
• Merge master and deploy to production.
37