Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rails Stack Overview

Damir
September 18, 2014

Rails Stack Overview

A short overview of Rails frameworks and gems upon which those frameworks are built

Damir

September 18, 2014
Tweet

More Decks by Damir

Other Decks in Programming

Transcript

  1. ActiveJob Definiše interface za asinhrono izvršavanje zadataka u pozadini Izvršavanje

    dugotrajnih zadataka Odgođeno slanje mailova Novi framework u Rails 4.2
  2. Railties … to bring them all and in the darkness

    bind them
 In the Land of Mordor where the Shadows lie Povezuje sve osnovne frameworke zajedno Rails command-line interface (rails komanda)
  3. source 'https://rubygems.org' source 'https://rails-assets.org' ruby '2.1.1' ! gem 'rails', '4.1.1'

    gem 'pg' gem 'haml-rails' gem 'slim-rails' gem 'draper' gem 'simple_form' gem 'reform' gem 'sanitize' gem 'html_truncator', '~> 0.2' gem 'database_cleaner' gem 'dalli', '~> 2.7' gem 'dotenv-rails', '~> 0.11' gem 'cloudinary', '~> 1.0' gem 'attachinary', '~> 1.3' gem 'rack-cache', '~> 1.2' gem 'rack-timeout' gem 'meta-tags', '~> 2.0'
  4. Rack Ruby Webserver Interface Suština ActionPack-a Interface potreban da Ruby

    kôd reaguje na HTTP zahtjeve Kako napraviti Ruby web aplikaciju bez Railsa?
  5. {"SERVER_SOFTWARE" => "thin 1.6.0 codename Greek Yogurt", "SERVER_NAME" => "localhost",

    "rack.input" => #<Rack::Lint::InputWrapper:0x007fa1952c54c8 @input=#<StringIO:0x007fa1952cd588>>, "rack.version" => [1, 0], "rack.errors" => #<Rack::Lint::ErrorWrapper:0x007fa1952c5450 @error=#<IO:<STDERR>>>, "rack.multithread" => false, "rack.multiprocess" => false, "rack.run_once" => false, "REQUEST_METHOD" => "GET", "REQUEST_PATH" => "/favicon.ico", "PATH_INFO" => "/favicon.ico", "REQUEST_URI" => "/favicon.ico", "HTTP_VERSION" => "HTTP/1.1", "HTTP_HOST" => "localhost:9292", "HTTP_CONNECTION" => "keep-alive", "HTTP_ACCEPT" => "*/*", "HTTP_USER_AGENT" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36", "HTTP_ACCEPT_ENCODING" => "gzip,deflate,sdch", "HTTP_ACCEPT_LANGUAGE" => "en-US,en;q=0.8,de;q=0.6,hr;q=0.4,ru;q=0.2", "HTTP_COOKIE" => "", "GATEWAY_INTERFACE" => "CGI/1.2", "SERVER_PORT" => "9292", "QUERY_STRING" => "", "SERVER_PROTOCOL" => "HTTP/1.1", "rack.url_scheme" => "http", "SCRIPT_NAME" => "", "REMOTE_ADDR" => "127.0.0.1", "async.callback" => #<Method: Thin::Connection#post_process>, "async.close" => #<EventMachine::DefaultDeferrable:0x007fa1952ccf20>}
  6. Thor Olakšava kreiranje CLI programa Railties koristi Thor da implementira

    rails naredbu Parsiranje parametara Automatski ispis informacija o korištenju
  7. Rake Ruby Make Razne komponente Rails-a dolaze s vlastitim taskovima

    Alat za pisanje taskova u Ruby-ju Jednostavno kombinovati taskove određujući zavisnosti
  8. Thor vs Rake Pisanje CLI aplikacija Lagano parsiranje argumenata !

    ! Pisanje zadataka Lagano kombinovati zadatke