Ruby on Rails


  Gabriel Ščerbák
Ruby
●   Objektovo orientovaný jazyk založený na
    posielaní správ:
    class XML
          def method_missing(msg, *arg...
Ruby
●   Prky funkcionálneho programovania - closures
    class XML
          def method_missing(msg, *args, &block)
     ...
Ruby
●   Dynamické typovanie
●   Metaprogramovanie, otvorené triedy, symboly,...
●   Key Value Coding pomocou asociatívnyc...
Rails
●   Konvencia pred konfiguráciou, scaffolding
●   Architektúra MVC s podporou štýlu REST
    $ ruby script/generate ...
Rails
●   Množina interných doménovo špecifických
    jazykov
    # routes.rb
    map.resources :projects
    map.task_arc...
Rails
●   Vzor Active Record spolu s migráciami a rake
    db:* úlohami úplne abstrahujú od databázu
    $ruby script/gene...
Ekosystém
●   Runtime platformy: MRI, JRuby, IronRuby,
    MacRuby, MagLev, Rubinius
●   Konzultácie, tréning, konferencie...
Ruby on Rails v praxi



 Basecamp      Twitter    Shopify




Yellow pages   GitHub    Lighthouse
Ďakujem za Vašu pozornosť!
Upcoming SlideShare
Loading in …5
×

Ro r

665 views

Published on

  • Be the first to comment

  • Be the first to like this

Ro r

  1. 1. Ruby on Rails Gabriel Ščerbák
  2. 2. Ruby ● Objektovo orientovaný jazyk založený na posielaní správ: class XML def method_missing(msg, *args, &block) puts "<#{msg}>#{args[0]}</#{msg}>" end end document = XML.new document.title “New document“
  3. 3. Ruby ● Prky funkcionálneho programovania - closures class XML def method_missing(msg, *args, &block) args.each do |value| puts "<#{msg}>#{value}</#{msg}>" end end end XML.new.name “John“, “Jack“, “Joe“, “Justin“, “Julian“
  4. 4. Ruby ● Dynamické typovanie ● Metaprogramovanie, otvorené triedy, symboly,... ● Key Value Coding pomocou asociatívnych polí ● Minimalistická syntax, nepovinné zátvorky, nepovinné bodkočiarky, end na konci bloku kódu namiesto zložených zátvoriek okolo,...
  5. 5. Rails ● Konvencia pred konfiguráciou, scaffolding ● Architektúra MVC s podporou štýlu REST $ ruby script/generate scaffold Recipe title:string chef:string instructions:text ● Views pre index, show, new a edit operácie ● Layout a CSS pre Recipes ● Controller, Helper, funkčný test a presmerovanie URL adries v štýle REST pre Recipes ● Model, migrácia, unit test a testovacie dáta pre Recipe
  6. 6. Rails ● Množina interných doménovo špecifických jazykov # routes.rb map.resources :projects map.task_archive 'tasks/:year/:month', :controller => 'tasks', :action => 'archive' map.home '', :controller => 'projects', :action => 'index'
  7. 7. Rails ● Vzor Active Record spolu s migráciami a rake db:* úlohami úplne abstrahujú od databázu $ruby script/generate model Folder class Folder < ActiveRecord::Base acts_as_tree belongs_to :user has_many :messages, :class_name => "Message" end $rake db:migrate
  8. 8. Ekosystém ● Runtime platformy: MRI, JRuby, IronRuby, MacRuby, MagLev, Rubinius ● Konzultácie, tréning, konferencie, knihy, ... ● Ukladanie dát: MySQL, Oracle, MongoDB, Redis ● Možnosti nasadenia: Engine Yard, Heroku,... ● Hosting projektov: GitHub, RubyForge,... ● IDE: TextMate, Netbeans, Eclipse, Aptana RadRails,
  9. 9. Ruby on Rails v praxi Basecamp Twitter Shopify Yellow pages GitHub Lighthouse
  10. 10. Ďakujem za Vašu pozornosť!

×