SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
FREVO ON RAILS
   GRUPO DE USUÁRIOS RUBY/RAILS DE PERNAMBUCO




RUBY ON RAILS 3
 O que vem de novo por aí...
   GUILHERME CARVALHO E LAILSON BANDEIRA
FREVO ON RAILS




“No, no another Rails upgrade!”
FREVO ON RAILS




  Rails 2 + Merb
Anunciado em dezembro de 2008
FREVO ON RAILS




Versão 3.0.0.beta1
Versão 3.0.0.beta2
Versão 3.0.0.beta3
Versão 3.0.0.beta4
  Funciona em Ruby 1.8.7 e 1.9.2


 Versão 3.0.0.rc1




                                                re . N en .
                                             e- ss ldr es
                                          ris le hi ec
                                        rp or r c pi


                                                    y. t
                                                  ad o
                                      te 3 fo all
                                    en age od sm
                                     of t g ins
                                               a
                                       No nt
                                             o
                                         Co
FREVO ON RAILS




MAJOR UPGRADE
FREVO ON RAILS




Mudanças arquiteturais importantes
FREVO ON RAILS




RAILS
FREVO ON RAILS




          ACTIVE
         SUPPORT


ACTIVE              ACTION
RECORD               PACK




         RAILTIES




ACTIVE               ACTIVE
MODEL               RESOURCE


         ACTION
         MAILER
FREVO ON RAILS




COMMAND INTERFACE
FREVO ON RAILS




rails nome_da_app
FREVO ON RAILS




rails new nome_da_app
FREVO ON RAILS




script/server
FREVO ON RAILS




rails server
FREVO ON RAILS




rails s
FREVO ON RAILS




script/generate controller nome_do_controlador
FREVO ON RAILS




rails generate controller nome_do_controlador
FREVO ON RAILS




rails g controller nome_do_controlador
FREVO ON RAILS




console        runner

                          profiler
   dbconsole
                destroy

 plugin             benchmarker
FREVO ON RAILS




Gerenciamento de gems com o Bundler
FREVO ON RAILS




ROUTING
FREVO ON RAILS




Não se usa mais o map!
FREVO ON RAILS




ActionController::Routing::Routes.draw do |map|
  map.resources :posts
end
FREVO ON RAILS




ActionController::Routing::Routes.draw do |map|
  resources :posts
end
FREVO ON RAILS




Resources e singular resources não
            mudaram
FREVO ON RAILS




Namespaces e scopes
FREVO ON RAILS




map.with_options(:namespace => “admin”) do |a|
  a.resources :photos
end
FREVO ON RAILS




namespace “admin” do
  resources :photos
end
FREVO ON RAILS




Scopes foram criados para auxiliar na
           organização
FREVO ON RAILS




map.resources :photos,
  :member => {:preview => :get }
FREVO ON RAILS




resources :photos do
  get :preview, on: :member
end
FREVO ON RAILS




Sai o método connect, entra o match
FREVO ON RAILS




rake routes
FREVO ON RAILS




RESPONDERS
FREVO ON RAILS




class PostsController < ApplicationController
  def index
    @posts = Post.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml { render :xml => @posts }
    end
  end

  def show
    @post = Post.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml { render :xml => @post }
    end
  end
...
end
FREVO ON RAILS




class PostsController < ApplicationController
  respond_to :html, :xml, :json

  def index
    @posts = Post.all

    respond_with(@posts)
  end

  def show
    @post = Post.find(params[:id])

    respond_with(@post)
  end
...
end
FREVO ON RAILS




É possível também criar
   outros responders
FREVO ON RAILS




 Three reasons to love Responders
http://weblog.rubyonrails.org/2009/8/31/three-reasons-love-responder
FREVO ON RAILS




ACTION CONTROLLER
FREVO ON RAILS




 Gargalo de performance:
roteamento + renderização
FREVO ON RAILS




Separação de responsabilidades:
       Action Dispatch
FREVO ON RAILS




Hierarquia de controladores
FREVO ON RAILS




AbstractController::Base



ActionController::Metal



ActionController::Base
FREVO ON RAILS




ACTIVE RECORD
  QUERY API
FREVO ON RAILS




Nova API de consulta
  Active Relation
FREVO ON RAILS




@posts = Post.find(:all,
! :conditions => ['created_at > ?', date])
FREVO ON RAILS




@posts = Post.where(['created_at > ?', date])
FREVO ON RAILS




Lazy loading
FREVO ON RAILS




@posts = Post.where(['created_at > ?', date])

if only_published?
! @posts = @posts.where(:published => true)
end
FREVO ON RAILS




# @posts.all
@posts.each do |p|
! ...
end
FREVO ON RAILS




                    group
        from                   joins


order          where
                            having

                includes
  limit                       select
           offset
FREVO ON RAILS




minimum
                           maximum
first
                  all
                                 sum
         last
                        count

        average
                          calculate
FREVO ON RAILS




Active Record Query Interface 3
 http://m.onkey.org/2010/1/22/active-record-query-interface
FREVO ON RAILS




Escopos também foram simplificados
FREVO ON RAILS




class Post < ActiveRecord::Base
  named_scope :published, :conditions => {:published => true}
  named_scope :unpublished, :conditions => {:published => false}
end
FREVO ON RAILS




class Post < ActiveRecord::Base
  scope :published, where(:published => true)
  scope :unpublished, where(:published => false)
end
FREVO ON RAILS




VALIDAÇÕES SEM
   MODELOS
FREVO ON RAILS




Consequência da modularização
        Active Model
FREVO ON RAILS




class Person
  include ActiveModel::Validations

  validates_presence_of :first_name, :last_name

  attr_accessor :first_name, :last_name
end
FREVO ON RAILS




person = Person.new
person.valid? # false
person.errors # {:first_name=>["can't be bl...
p.first_name = 'John'
p.last_name = 'Travolta'
p.valid? # true
FREVO ON RAILS




Make Any Ruby Object Feel Like AR
  http://yehudakatz.com/2010/01/10/activemodel-make-any-
              ruby-object-feel-like-activerecord/
FREVO ON RAILS




 VALIDADORES
CUSTOMIZADOS
FREVO ON RAILS




Agora é possível criar validadores
    que podem ser reusados
FREVO ON RAILS




Mais um resultado do desacoplamento
FREVO ON RAILS




module ActiveModel
  module Validations
    class CepValidator < EachValidator
      FORMATO_CEP = /d{5}-d{3}/

      def initialize(options)
        super(options)
      end

      def validate_each(record, attribute, value)
        unless valid?(value)
          record.errors[attribute] = 'não é válido'
        end
      end

      def valid?(value)
        FORMATO_CEP =~ value
      end
    end
  end
end
FREVO ON RAILS




require "#{Rails.root}/lib/validadores/cep_validator"

class Person < ActiveRecord::Base
  validates :cep, cep: true
end
FREVO ON RAILS




ACTION MAILER
FREVO ON RAILS




Sai TMail, entra Mail
FREVO ON RAILS




Uma nova casa para os mailers
./app/mailers/nome_do_mailer
FREVO ON RAILS




Criação de defaults para diminuir duplicação
                 de código
FREVO ON RAILS




class UserMailer < ActionMailer::Base
! def welcome(user)
! ! recipients user.email
! ! from “email@example.com”
! ! subject “Welcome to my site”
! ! body { :user => user }
! end
end
FREVO ON RAILS




class UserMailer < ActionMailer::Base
! default from: “email@example.com”

!   def welcome(user)
!   ! @user = user

! ! mail(to: user.email,
! ! ! subject: “Welcome to my site”)
! end
end
FREVO ON RAILS




Anexos muito mais fáceis
FREVO ON RAILS




class UserMailer < ActionMailer::Base
! default from: “email@example.com”

!   def welcome(user)
!   ! @user = user
!   ! attachments[“hello.gif”] = File.read(‘...’)

! ! mail(to: user.email,
! ! ! subject: “Welcome to my site”)
! end
end
FREVO ON RAILS




class UserMailer < ActionMailer::Base
! default from: “email@example.com”

!   def welcome(user)
!   ! @user = user
!   ! attachments.inline[“logo.png”] =
!   ! ! File.read(...)

! ! mail(to: user.email,
! ! ! subject: “Welcome to my site”)
! end
end
FREVO ON RAILS
FREVO ON RAILS




DEMO TIME
FREVO ON RAILS




RECURSOS
FREVO ON RAILS




Rails Dispatch
http://railsdispatch.com/
FREVO ON RAILS




Rails Guides Edge
   http://guides.rails.info/
FREVO ON RAILS




Engine Yard Blog
http://www.engineyard.com/blog
FREVO ON RAILS




Dive into Rails 3 Screencasts
    http://rubyonrails.org/screencasts/rails3
FREVO ON RAILS




Railscasts
http://railscasts.com/
FREVO ON RAILS




Agile Web Development with Rails                               (4th      ed.)
    http://pragprog.com/titles/rails4/agile-web-development-with-rails
FREVO ON RAILS




        The Rails 3 Way
http://my.safaribooksonline.com/9780132480345
FREVO ON RAILS




FREVO ON RAILS
GRUPO DE USUÁRIOS RUBY DE PERNAMBUCO

Contenu connexe

Tendances

Chef on Python and MongoDB
Chef on Python and MongoDBChef on Python and MongoDB
Chef on Python and MongoDBRick Copeland
 
What to do when things go wrong
What to do when things go wrongWhat to do when things go wrong
What to do when things go wrongDorneles Treméa
 
Introdução Ruby On Rails
Introdução Ruby On RailsIntrodução Ruby On Rails
Introdução Ruby On RailsLukas Alexandre
 
Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Sumy PHP User Grpoup
 
Getting Into FLOW3 (DPC12)
Getting Into FLOW3 (DPC12)Getting Into FLOW3 (DPC12)
Getting Into FLOW3 (DPC12)Robert Lemke
 
RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!Gautam Rege
 
IPCSE12: Getting into FLOW3
IPCSE12: Getting into FLOW3IPCSE12: Getting into FLOW3
IPCSE12: Getting into FLOW3Robert Lemke
 
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - Wisembly
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - WisemblySymfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - Wisembly
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - WisemblyGuillaume POTIER
 
Rails for PHP Developers
Rails for PHP DevelopersRails for PHP Developers
Rails for PHP DevelopersRobert Dempsey
 
Rails vs Web2py
Rails vs Web2pyRails vs Web2py
Rails vs Web2pyjonromero
 
A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends旻琦 潘
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Railsdosire
 
Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3Clinton Dreisbach
 
Custom post-framworks
Custom post-framworksCustom post-framworks
Custom post-framworksKiera Howe
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails IntroductionThomas Fuchs
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction PresentationNerd Tzanetopoulos
 
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyLaunchAny
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Componentsguest0de7c2
 

Tendances (20)

Chef on Python and MongoDB
Chef on Python and MongoDBChef on Python and MongoDB
Chef on Python and MongoDB
 
What to do when things go wrong
What to do when things go wrongWhat to do when things go wrong
What to do when things go wrong
 
Introdução Ruby On Rails
Introdução Ruby On RailsIntrodução Ruby On Rails
Introdução Ruby On Rails
 
Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2Service approach for development REST API in Symfony2
Service approach for development REST API in Symfony2
 
Getting Into FLOW3 (DPC12)
Getting Into FLOW3 (DPC12)Getting Into FLOW3 (DPC12)
Getting Into FLOW3 (DPC12)
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!RubyConf Portugal 2014 - Why ruby must go!
RubyConf Portugal 2014 - Why ruby must go!
 
IPCSE12: Getting into FLOW3
IPCSE12: Getting into FLOW3IPCSE12: Getting into FLOW3
IPCSE12: Getting into FLOW3
 
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - Wisembly
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - WisemblySymfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - Wisembly
Symfony2, Backbone.js &amp; socket.io - SfLive Paris 2k13 - Wisembly
 
Rails for PHP Developers
Rails for PHP DevelopersRails for PHP Developers
Rails for PHP Developers
 
Rails vs Web2py
Rails vs Web2pyRails vs Web2py
Rails vs Web2py
 
A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Rails
 
Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3
 
Custom post-framworks
Custom post-framworksCustom post-framworks
Custom post-framworks
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
Symfony ORM
Symfony ORMSymfony ORM
Symfony ORM
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
 
Symfony Components
Symfony ComponentsSymfony Components
Symfony Components
 

En vedette

What is-google-adwords
What is-google-adwordsWhat is-google-adwords
What is-google-adwordsAnthony Greene
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on RailsJuan Maiz
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Railsousli07
 
Dando os primeiros passos com rails
Dando os primeiros passos com railsDando os primeiros passos com rails
Dando os primeiros passos com railsMarcos Sousa
 

En vedette (6)

What is-google-adwords
What is-google-adwordsWhat is-google-adwords
What is-google-adwords
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
RubyonRails
RubyonRailsRubyonRails
RubyonRails
 
Dando os primeiros passos com rails
Dando os primeiros passos com railsDando os primeiros passos com rails
Dando os primeiros passos com rails
 
Creating Android apps
Creating Android appsCreating Android apps
Creating Android apps
 

Similaire à O que vem por aí com Rails 3

Introduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman OrtegaIntroduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman Ortegaarman o
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on RailsDelphiCon
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyNick Sieger
 
RoR 101: Session 1
RoR 101: Session 1RoR 101: Session 1
RoR 101: Session 1Rory Gianni
 
Introduction to service discovery and self-organizing cluster orchestration. ...
Introduction to service discovery and self-organizing cluster orchestration. ...Introduction to service discovery and self-organizing cluster orchestration. ...
Introduction to service discovery and self-organizing cluster orchestration. ...Pivorak MeetUp
 
Isomorphic App Development with Ruby and Volt - Rubyconf2014
Isomorphic App Development with Ruby and Volt - Rubyconf2014Isomorphic App Development with Ruby and Volt - Rubyconf2014
Isomorphic App Development with Ruby and Volt - Rubyconf2014ryanstout
 
20120121 rbc rails_routing
20120121 rbc rails_routing20120121 rbc rails_routing
20120121 rbc rails_routingTakeshi AKIMA
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...Matt Gauger
 
PTW Rails Bootcamp
PTW Rails BootcampPTW Rails Bootcamp
PTW Rails BootcampMat Schaffer
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Racksickill
 
Phoenix for Rails Devs
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails DevsDiacode
 
RoR 101: Session 3
RoR 101: Session 3RoR 101: Session 3
RoR 101: Session 3Rory Gianni
 
wwc start-launched
wwc start-launchedwwc start-launched
wwc start-launchedMat Schaffer
 
Les nouveautés de Rails 3
Les nouveautés de Rails 3Les nouveautés de Rails 3
Les nouveautés de Rails 3LINAGORA
 
Be happy with Ruby on Rails - CEUNSP Itu
Be happy with Ruby on Rails - CEUNSP ItuBe happy with Ruby on Rails - CEUNSP Itu
Be happy with Ruby on Rails - CEUNSP ItuLucas Renan
 
Rails 3 Beautiful Code
Rails 3 Beautiful CodeRails 3 Beautiful Code
Rails 3 Beautiful CodeGreggPollack
 
Torquebox OSCON Java 2011
Torquebox OSCON Java 2011Torquebox OSCON Java 2011
Torquebox OSCON Java 2011tobiascrawley
 

Similaire à O que vem por aí com Rails 3 (20)

Introduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman OrtegaIntroduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman Ortega
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
 
RoR 101: Session 1
RoR 101: Session 1RoR 101: Session 1
RoR 101: Session 1
 
Introduction to service discovery and self-organizing cluster orchestration. ...
Introduction to service discovery and self-organizing cluster orchestration. ...Introduction to service discovery and self-organizing cluster orchestration. ...
Introduction to service discovery and self-organizing cluster orchestration. ...
 
Isomorphic App Development with Ruby and Volt - Rubyconf2014
Isomorphic App Development with Ruby and Volt - Rubyconf2014Isomorphic App Development with Ruby and Volt - Rubyconf2014
Isomorphic App Development with Ruby and Volt - Rubyconf2014
 
20120121 rbc rails_routing
20120121 rbc rails_routing20120121 rbc rails_routing
20120121 rbc rails_routing
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
 
Curso rails
Curso railsCurso rails
Curso rails
 
PTW Rails Bootcamp
PTW Rails BootcampPTW Rails Bootcamp
PTW Rails Bootcamp
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Phoenix for Rails Devs
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails Devs
 
RoR 101: Session 3
RoR 101: Session 3RoR 101: Session 3
RoR 101: Session 3
 
wwc start-launched
wwc start-launchedwwc start-launched
wwc start-launched
 
Les nouveautés de Rails 3
Les nouveautés de Rails 3Les nouveautés de Rails 3
Les nouveautés de Rails 3
 
Be happy with Ruby on Rails - CEUNSP Itu
Be happy with Ruby on Rails - CEUNSP ItuBe happy with Ruby on Rails - CEUNSP Itu
Be happy with Ruby on Rails - CEUNSP Itu
 
Rails 3 Beautiful Code
Rails 3 Beautiful CodeRails 3 Beautiful Code
Rails 3 Beautiful Code
 
Torquebox OSCON Java 2011
Torquebox OSCON Java 2011Torquebox OSCON Java 2011
Torquebox OSCON Java 2011
 
Profiling Ruby
Profiling RubyProfiling Ruby
Profiling Ruby
 

Plus de Frevo on Rails

Ruby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosRuby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosFrevo on Rails
 
As aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceAs aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceFrevo on Rails
 
Introducao a Ruby on Rails
Introducao a Ruby on RailsIntroducao a Ruby on Rails
Introducao a Ruby on RailsFrevo on Rails
 
Apresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsApresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsFrevo on Rails
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRubyFrevo on Rails
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com SinatraFrevo on Rails
 
The elements of User Experience
The elements of User ExperienceThe elements of User Experience
The elements of User ExperienceFrevo on Rails
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & RailsFrevo on Rails
 
jcheck: validações client-side sem dores
jcheck: validações client-side sem doresjcheck: validações client-side sem dores
jcheck: validações client-side sem doresFrevo on Rails
 
Ruby (nem tão) Básico
Ruby (nem tão) BásicoRuby (nem tão) Básico
Ruby (nem tão) BásicoFrevo on Rails
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerFrevo on Rails
 

Plus de Frevo on Rails (16)

Ruby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos UnicórniosRuby e o Mundo Mágico dos Unicórnios
Ruby e o Mundo Mágico dos Unicórnios
 
As aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open sourceAs aventuras psicodélicas de Guilherme no mundo open source
As aventuras psicodélicas de Guilherme no mundo open source
 
Introducao a Ruby on Rails
Introducao a Ruby on RailsIntroducao a Ruby on Rails
Introducao a Ruby on Rails
 
Event machine
Event machineEvent machine
Event machine
 
Apresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on RailsApresentacao institucional Frevo on Rails
Apresentacao institucional Frevo on Rails
 
Programação GUI com jRuby
Programação GUI com jRubyProgramação GUI com jRuby
Programação GUI com jRuby
 
awesome_nested_fields
awesome_nested_fieldsawesome_nested_fields
awesome_nested_fields
 
WebApps minimalistas com Sinatra
WebApps minimalistas com SinatraWebApps minimalistas com Sinatra
WebApps minimalistas com Sinatra
 
The elements of User Experience
The elements of User ExperienceThe elements of User Experience
The elements of User Experience
 
Crash Course Ruby & Rails
Crash Course Ruby & RailsCrash Course Ruby & Rails
Crash Course Ruby & Rails
 
jcheck: validações client-side sem dores
jcheck: validações client-side sem doresjcheck: validações client-side sem dores
jcheck: validações client-side sem dores
 
Ruby (nem tão) Básico
Ruby (nem tão) BásicoRuby (nem tão) Básico
Ruby (nem tão) Básico
 
Perfil da Comunidade
Perfil da ComunidadePerfil da Comunidade
Perfil da Comunidade
 
Resolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o BundlerResolvendo problemas de dependências com o Bundler
Resolvendo problemas de dependências com o Bundler
 
Introdução a Ruby
Introdução a RubyIntrodução a Ruby
Introdução a Ruby
 
Regras do Coding Dojo
Regras do Coding DojoRegras do Coding Dojo
Regras do Coding Dojo
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

O que vem por aí com Rails 3