Intro to Ruby on Rails

745 views

Published on

Talk given to introduce the concepts behind rails. Be sure to checkout the sample application that goes with it at: https://github.com/rschmukler/sample_rails

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
745
On SlideShare
0
From Embeds
0
Number of Embeds
51
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Intro to Ruby on Rails

    1. 1. Ruby on RailsRapid Prototyping of Web Applications
    2. 2. Speaker.new(:name => "Ryan Schmukler", :jobs => ["Student", "Developer"], :email => "ryan@dreamcloudstudios.com")
    3. 3. Today...• Introduction to Ruby• Introduction to Rails• Sample Application• Going Forward...
    4. 4. Introducing: Ruby• Written my Matz in mid 90s• Dynamically Typed• Focus on the programmer• Interpreted
    5. 5. Interactive Ruby (IRB)• Command line app for running ruby code• Let’s you play with code.
    6. 6. Hello... Worlddef hello_world puts "Hello World" # or puts("Hello World");endhello_world # or hello_world();
    7. 7. Some More Code#Argsdef say_hello_to(name) puts "Hello #{name}"endsay_hello_to "The Hub!"#Blocks3.times do puts "Hello again!"end["Billy", "Bobby", "Joey"].each do |name| puts "#{name} go to bed!"enda=5b = 10sum = a + bputs sum
    8. 8. Classesclass Person @@default_age = 22 attr_accessable :name, :age def initialize @age = @@default_age end def favorite_color @favorite_color end def favorite_color=(color) @favorite_color = color end def say_hello puts "Hello my name is #{@name}" endend
    9. 9. Gems• Gems are Ruby’s name for libraries.• Gem command serves as a package manager. (eg. gem install rails)• https://www.ruby-toolbox.com/
    10. 10. Ruby on Rails• One bad ass gem (actually, lots of gems)• Full stack web application framework• Convention over configuration (CoC)• Don’t Repeat Yourself (DRY)• Built by 37Signals
    11. 11. MVC
    12. 12. Models• Usually map to Database (ActiveRecord)• Hold the “business logic”• Represent the Information of the application
    13. 13. Views• User interface• Usually HTML with embedded Ruby
    14. 14. Controllers• “Glue” between Models and Views• Get data out of the request• Forward data to proper models and views
    15. 15. MVC (again, with Rails!)
    16. 16. Make Good Cake...
    17. 17. Rails is RESTful• Coined by Roy T. Fielding in his PhD Thesis• Read the paper. I over simplify. A LOT.• REpresentational State Transfer (REST) • Give Everything IDs • Standardize • Stateless communication
    18. 18. Rails is Opinionated• CoffeeScript - “the little language that compiles into Javascript”• SASS - CSS, if it didn’t suck.
    19. 19. Lets get Coding!• https://github.com/rschmukler/sample_rails
    20. 20. A few shameless plugs...• GoodMate - got bad roommates? We can help.• DreamCloudStudios - Consider hiring me! Or shoot me an email if you ever need something!• Badger Innovations - Student Run Web Dev Shop. Apply for a job if you like this stuff!• Know Design? Email me! I will buy you beer.
    21. 21. Don’t forget to Vote• Go vote for a talk you’d like to see. http:// voterapp.herokuapp.com/.You get 2 votes!• Got an idea for one? Email me and we will see what we can do.• I’m here next semester so say Hi

    ×