Ruby, Rails e Diversão (Campus Party Brasil 2009)

100 %
0 %
Information about Ruby, Rails e Diversão (Campus Party Brasil 2009)
Education

Published on January 22, 2009

Author: jmonteiro

Source: slideshare.net

Description

Palestra ministrada dia 23 de janeiro de 2009 (2009-01-23) na Campus Party Brasil 2009, na área de Desenvolvimento, em São Paulo/SP.

Ruby, Rails e Diversão Júlio Monteiro <julio@monteiro.eti.br> 23 de Janeiro de 2009 - Campus Party Brasil 2009

@jmonteiro /jmonteiro www.monteiro.eti.br Júlio Monteiro

http://www.akitaonrails.com/2009/1/20/palestra-na-campus-party

Linguagem de Script

Interpretada* * Dependendo do ambiente de execução.

Orientada a Objeto

Programação:

General* Purpose * General como em non-specific, ao invés de universal

Tarefas Rápidas

Influências

Linguagem Prática

Orientação a Objetos

Metaprogramação

Sintaxe

Tratamento de Exceções (similar, não baseado)

Características

Não existem “procedimentos” nem “funções”

Tudo é um objeto

Métodos são mensagens

1

1

1 Fixnum

1.class

1.class => “Fixnum”

1.send(“class”)

1.send(“class”) => “Fixnum”

Até operadores matemáticos são métodos

“Beleza leva a felicidade. Felicidade leva a produtividade. Logo, beleza leva a produtividade.” (David Heinemeier Hansson)

“Você pode reconhecer a verdade por sua beleza e simplicidade.” (Richard Feynman)

Observações • Ruby não é perfeita • Ruby não é a única linguagem linda • Gosto varia com frequência

Blocos

Blocos • Closures - Funções anônimas - Lambdas • Sintaxe concisa (similar a Smalltalk) • Duas sintaxes do |a, b| # código com a, b end {|a, b| # código com a, b }

Blocos do |a, b| # código com a, b end {|a, b| # código com a, b }

Blocos obj.each do |e| e.save! end (quot;aquot;..quot;zquot;).each do |char| puts char end array.group_by {|a| a.type}

Blocos File.open(quot;config.txtquot;) do |in| in.each_line do |line| process_config_line(line) end end (0..100).collect {|n| User.find(n).destroy }

Sintaxe para Servir

Código simples: ;

Código complexo: ;

Ruby suporta: ; ;

Parênteses opcionais ( )

Classes são abertas

Classes são abertas • Toda classe pode ser alterada • Liberdade total • Flexibilidade no código • “Ruby Way”

Exemplos class NilClass class String def blank? def blank? true self == quot;quot; end end end end

Qual a utilidade disso tudo?

Código simples

Pouco código

É mais fácil achar e corrigir um bug em: a) 100 LOC b) 10.000 LOC c) 10^42 LOC

Facilidade de correção

Facilidade para extensão

Menos tempo de desenvolvimento

Menos tempo para entregar um produto

Direto ao ponto:

No Rails, você se preocupa mais com a “Lógica de Negócio”

No Rails, você se preocupa mais com a “Lógica de Negócio”

Classe Livro: Pertence a um Autor Tem várias Tags Tem um Upload O título tem no máximo 300 caracteres Tem uma máquina de estados

class Book < ActiveRecord::Base # Relacionamentos belongs_to :author has_and_belongs_to_many :tags has_one :upload # Validação validates_length_of :subtitle, :maximum => 300

acts_as_state_machine :initial => :registred state :passive state :registred state :waiting_processing state :in_processing state :preview state :published state :unpublished event :register do transitions :from => :passive, :to => :registred end # ... end

Hey, mas o framework ______ também faz isso!

Rails usa Ruby :)

Ruby não é melhor que _______, mas tem muita coisa interessante!

10 anos 12 funcionários muito sucesso (e alguns milhões)

12 meses 20+ projetos entregues todos de sucesso

E muitas outras empresas!

Observações:

Ruby é difícil

Ruby é difícil porque é diferente.

Ruby on Rails é difícil

Ruby on Rails é difícil porque é um framework

Ruby on Rails é difícil porque é um framework e usa Ruby.

Mas vale apena :)

www.rubyonrails.com.br

www.rubyonrails.pro.br

Perguntas? Júlio Monteiro <julio@monteiro.eti.br> @jmonteiro /jmonteiro www.monteiro.eti.br

Obrigado! Júlio Monteiro <julio@monteiro.eti.br> @jmonteiro /jmonteiro www.monteiro.eti.br

Add a comment

Related presentations

Related pages

Julio Monteiro

I am Julio Monteiro ... 28 Jan 2010 » pt Segurança & Ruby on Rails (Campus Party Brasil '10) ... 23 Jan 2009 » pt Ruby, Rails e Diversão (Campus Party ...
Read more

Twitter+Redis+Bitcoins+Ruby+Nuvem para aprendizado e ...

... //www.eventials.com/locaweb/twitter-redis-bitcoins-ruby-nuvem-para-aprendizado-e-diversao ... Campus Party Brasil ... Ruby On Rails ...
Read more

CPBR3 - Ecossistema. Cultura e ruby on rails (2/2) - YouTube

... autor do primeiro livro sobre Ruby on Rails escrito em português ... se tornando cada vez mais popular no Brasil. ... by Campus Party ...
Read more

Improve the security and performance of DB2 Ruby on Rails ...

With the increasing interest in Ruby on Rails from ... With the latest release of DB2 on Rails, parameterized queries are ... 2009 ): Read this free ...
Read more

Eventos do Segundo Semestre de 2009 | AkitaOnRails.com

Desde o Campus Party no começo ... e de promover o Rails Summit Latin America 2009, ... nomes internacionais de Ruby e Rails estarão ...
Read more

minicursos(2): Java, php, .net, ruby, python | Codando

O responsável pelo projeto aqui no Brasil é o ... Ruby e Rails. Learning Ruby ... Rails para sua Diversão e Lucro – O tutorial de Rails em português ...
Read more