• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content







Total Views
Views on SlideShare
Embed Views



2 Embeds 5

http://www.techgig.com 4 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Slides Slides Presentation Transcript

    • Ruby on Rails An Introduction Mark S. Maglana, CompE, MM
    • Let's get this out of the way... » My name is Mark S. Maglana » Bachelor's Degree in Computer Engineering from the University of San Carlos, Cebu » Master in Management from the University of the Philippines in Mindanao » Computer geek since grade 5 (BASIC, QBASIC) » Suffered through C, assembly in college » Web dude since 1997, started with ASP 1.0 » ASP.Net, PHP (w/ CakePHP) » UML, VB, .Net, C#, Java, Lotus Notes/Domino
    • “I constantly remind myself that there are multiple ways and numerous technologies [for] solving a single problem, some better than others.” “By being loyal to one technology stack, I am bound to unconsciously make biased decisions, which will ultimately hinder my ability to deliver business value.” - Stephen Chu http://tinyurl.com/zz995
    • A Programming Language Ruby on Rails A Web Framework built w/ Ruby
    • Hold it right there, sparky...
    • This is an introduction, not a tutorial We wont get in-depth with Ruby and Rails (You're too intelligent to be spoon fed) I assume you're familiar with OOP
    • Ruby » Created by Yukihiro “Matz” Matsumoto in 1993 » A language designed for humans, not compilers » A true Object-Oriented language » Everything you manipulate in Ruby is an object » They all ultimately inherit from a class named Object (Surprise! Surprise!) » Because everything is an object, there's none of that primitive types vs. reference types silliness.
    • Hello World # The famous Hello World # program is trivial in # Ruby. You don't need: # # * a quot;mainquot; method # * newline escapes # * semicolons # # Here's the code: puts quot;Hello World!quot; Ruby won't force you to define a class if you don't need to. In such a case, Ruby automatically encloses your statement in an Object instance.
    • Other Examples door.close if door.is_open? 5.times { puts “Odelay!” } my_text = 'restaurant' exit unless my_text.include? 'rant' animals = ['cat', 'dog', 'fox'] animals.each {|animal| puts animal.capitalize} small_number = 1212123 really_big_number = 1412432423429340234581340234 pretty_number = 12_000_000_000
    • And here's one more... class Person attr_accessor :name, :age, :sex end person = Person.new person.name = 'Perting E. Soga' person.age = 36 person.sex = 'M' puts person.name # Perting E. Soga puts person.age # 36 puts person.sex #M
    • Ruby Conventions » Variables starting with $ are Global Variables (ex. $x, $1, $chunky_bacon) » Variables starting with @ are Instance Variables (ex. @width, @x, @y) » Variables starting with @@ are Class Variables (ex. @@brokeback_coding, @@choo_choo) » Variables without prefixes are Local Variables (ex. chicken_noodles, white_flower) » Constants are always capitalized (ex. Time, Array, LuckyPenguin)
    • Rails » Created by David Heinemeier Hansson in 2003 » A web application framework built using Ruby » Uses the Model-View-Controller (MVC) design pattern » Also uses the ActiveRecord design pattern » Some ex-Java programmers claim Rails helped them develop applications 10x faster
    • de co Show me the money!
    • How Rails Works /posts/show/1 1. 9. Web Server Internet 2. 8. show.rhtml posts_controller.rb PostsController::show() view 7. controller 6. post.rb blog_production Post::find(1) 5. 3. model database 4.
    • Recommended Set-up HTTP mod_proxy Apache 2.2+ Internet mod_proxy_balancer HTTP HTTP HTTP Mongrel Mongrel Mongrel database
    • Additional Reading » www.ruby-lang.org » www.rubyonrails.org » http://pine.fm/LearnToProgram/ » ruby-phil@googlegroups.com » Google for “OnLAMP Rolling with Rails” » #rubyonrails and #ruby-lang in IRC (freenode) » wiki.rubyonrails.org » api.rubyonrails.org » Agile Web Development book » Programming Ruby book
    • And we're done!