0
Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>A...
Who use ROR <ul><li>Twitter  http://twitter.com </li></ul><ul><li>Github  http://github.com </li></ul><ul><li>Groupon  htt...
Newest Tiobe Order Of Ruby <ul><li>Tiobe programing language ordered listing </li></ul>
IDEs <ul><li>Textmate (Mac os) </li></ul><ul><li>Vim </li></ul><ul><li>Emacs </li></ul><ul><li>RadRails,Eclipse+RDT </li><...
Platform Independence <ul><li>OS – Mac,Linux,Windows </li></ul><ul><li>Web server – Apache,Lighttpd,Nginx </li></ul><ul><l...
Scaling <ul><li>Share Nothing Architecture  </li></ul><ul><ul><li>Muliti application server cluster  </li></ul></ul><ul><u...
Hosting <ul><li>Heroku </li></ul><ul><li>Linode VPS </li></ul><ul><li>... </li></ul>
Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>A...
Model-View-Controller <ul><li>Model </li></ul><ul><ul><li>data access and business logic </li></ul></ul><ul><ul><li>indepe...
Database Persistence <ul><li>OR mapping – active record pattern </li></ul><ul><li>Migrations – incremental schema manageme...
Full Stack Framework <ul><li>MVC suite </li></ul><ul><li>Embed webserver </li></ul><ul><li>Default db adapter (sqlite3) </...
Convention Over Configuration <ul><li>Typical directory structure </li></ul><ul><ul><li>Everything has its place source fi...
Keep DRY – Don't Repeat Yourself   <ul><li>Reusing code </li></ul><ul><ul><li>e.g. layout/filter... </li></ul></ul><ul><li...
Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>A...
Rapid Development <ul><li>Build-in webserver </li></ul><ul><li>Generators </li></ul><ul><li>Scaffold </li></ul><ul><li>Plu...
Debugging <ul><li>Ruby-debug gem </li></ul><ul><li>Tag breakpoint – debugger </li></ul><ul><li>Vbose log output </li></ul>
Testing <ul><li>Unit tests – test form models </li></ul><ul><li>Functional test – test for controllers </li></ul><ul><li>I...
Agile Continuous Integration <ul><li>Test code coverage </li></ul><ul><ul><li>Rcov/metrical gem </li></ul></ul><ul><li>Con...
Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>A...
Books <ul><li>Agile web development with rails 4th edition </li></ul><ul><li>Everyday Scripting With Ruby </li></ul><ul><l...
Links <ul><li>The Pragmatic Bookshelf </li></ul><ul><li>Ruby on Rails Guides </li></ul><ul><li>Ruby on Rails Screencasts –...
Bye <ul><li>Q&A </li></ul>
Upcoming SlideShare
Loading in...5
×

Intro ror

937

Published on

ROR introduction ppt

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

  • Be the first to like this

No Downloads
Views
Total Views
937
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Intro ror"

  1. 1. Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>Agile Development </li></ul><ul><li>Community and resources </li></ul>
  2. 2. Who use ROR <ul><li>Twitter http://twitter.com </li></ul><ul><li>Github http://github.com </li></ul><ul><li>Groupon http://www.groupon.com </li></ul><ul><li>Yellow Pages </li></ul><ul><li>Iteye </li></ul><ul><li>... </li></ul>
  3. 3. Newest Tiobe Order Of Ruby <ul><li>Tiobe programing language ordered listing </li></ul>
  4. 4. IDEs <ul><li>Textmate (Mac os) </li></ul><ul><li>Vim </li></ul><ul><li>Emacs </li></ul><ul><li>RadRails,Eclipse+RDT </li></ul><ul><li>Plugin in for NetBeans </li></ul><ul><li>... </li></ul>
  5. 5. Platform Independence <ul><li>OS – Mac,Linux,Windows </li></ul><ul><li>Web server – Apache,Lighttpd,Nginx </li></ul><ul><li>Manage gems – use gem package manager </li></ul>
  6. 6. Scaling <ul><li>Share Nothing Architecture </li></ul><ul><ul><li>Muliti application server cluster </li></ul></ul><ul><ul><ul><li>shared sessions store in db </li></ul></ul></ul><ul><ul><ul><li>Shared files use third party storage </li></ul></ul></ul><ul><li>View caching </li></ul><ul><ul><li>page caching </li></ul></ul><ul><ul><li>action caching </li></ul></ul><ul><ul><li>fragment caching </li></ul></ul><ul><li>Sql caching – memcached </li></ul>
  7. 7. Hosting <ul><li>Heroku </li></ul><ul><li>Linode VPS </li></ul><ul><li>... </li></ul>
  8. 8. Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>Agile Development </li></ul><ul><li>Community and resources </li></ul>
  9. 9. Model-View-Controller <ul><li>Model </li></ul><ul><ul><li>data access and business logic </li></ul></ul><ul><ul><li>independ the view and controller </li></ul></ul><ul><li>View </li></ul><ul><ul><li>data presentation and user interaction </li></ul></ul><ul><ul><li>read-only access to model </li></ul></ul><ul><li>Controller </li></ul><ul><ul><li>handling events and operating on model/view </li></ul></ul>
  10. 10. Database Persistence <ul><li>OR mapping – active record pattern </li></ul><ul><li>Migrations – incremental schema management </li></ul><ul><li>Support mulitiple database </li></ul><ul><ul><li>Mysql/Oracle/MongoDB etc.. </li></ul></ul>
  11. 11. Full Stack Framework <ul><li>MVC suite </li></ul><ul><li>Embed webserver </li></ul><ul><li>Default db adapter (sqlite3) </li></ul><ul><li>Integrated with logger </li></ul><ul><li>Integrated with Ajax, webservice,email </li></ul><ul><li>Test framework </li></ul><ul><li>plugins </li></ul>
  12. 12. Convention Over Configuration <ul><li>Typical directory structure </li></ul><ul><ul><li>Everything has its place source files/libs/docs/db </li></ul></ul><ul><li>File naming conventions </li></ul><ul><ul><li>e.g. Cotrollers/helpers... </li></ul></ul><ul><li>Database naming conventions </li></ul><ul><ul><li>Table name/primary&foreign key </li></ul></ul><ul><li>Standard config files </li></ul><ul><ul><li>e.g. Db config /enviroment setting definitions </li></ul></ul>
  13. 13. Keep DRY – Don't Repeat Yourself <ul><li>Reusing code </li></ul><ul><ul><li>e.g. layout/filter... </li></ul></ul><ul><li>Reusing data </li></ul><ul><ul><li>Not need to declear table field, read from db directly </li></ul></ul><ul><li>Metaprogramming </li></ul><ul><ul><li>Dynamically create method </li></ul></ul>
  14. 14. Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>Agile Development </li></ul><ul><li>Community and resources </li></ul>
  15. 15. Rapid Development <ul><li>Build-in webserver </li></ul><ul><li>Generators </li></ul><ul><li>Scaffold </li></ul><ul><li>Plugins,libraries,lots of contributed gems </li></ul>
  16. 16. Debugging <ul><li>Ruby-debug gem </li></ul><ul><li>Tag breakpoint – debugger </li></ul><ul><li>Vbose log output </li></ul>
  17. 17. Testing <ul><li>Unit tests – test form models </li></ul><ul><li>Functional test – test for controllers </li></ul><ul><li>Integration – tests for workflow </li></ul><ul><li>Use Rspec gem to testing </li></ul>
  18. 18. Agile Continuous Integration <ul><li>Test code coverage </li></ul><ul><ul><li>Rcov/metrical gem </li></ul></ul><ul><li>Continuous Integration </li></ul><ul><ul><li>Cruisecontrol.rb/Integrate </li></ul></ul><ul><li>Db schema control </li></ul><ul><ul><li>Migrations </li></ul></ul><ul><li>Automated deployment </li></ul><ul><ul><li>Capistrano </li></ul></ul>
  19. 19. Introduction To Ruby On Rails <ul><li>Usabilty and success stories </li></ul><ul><li>Design principles </li></ul><ul><li>Agile Development </li></ul><ul><li>Community and resources </li></ul>
  20. 20. Books <ul><li>Agile web development with rails 4th edition </li></ul><ul><li>Everyday Scripting With Ruby </li></ul><ul><li>Design Patterns in Ruby </li></ul><ul><li>Rails Recipes </li></ul><ul><li>Visit http://everyday-cn/ibooks_list to download. </li></ul>
  21. 21. Links <ul><li>The Pragmatic Bookshelf </li></ul><ul><li>Ruby on Rails Guides </li></ul><ul><li>Ruby on Rails Screencasts – RailsCasts </li></ul><ul><li>Stack Overflow </li></ul>
  22. 22. Bye <ul><li>Q&A </li></ul>
  1. A particular slide catching your eye?

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

×