Upload
frevo-on-rails
View
362
Download
2
Embed Size (px)
Citation preview
RUBYe����������� ������������������ o����������� ������������������ mundo
magico����������� ������������������ dos
unicornios
Lailson BandeiraBacharel em Ciência da Computação pelo CIn
Mestrando em Aprendizagem de Máquina no CInMembro do grupo de pesquisa VIISAR
Co-fundador do Frevo on RailsSun Certified Java Programmer (SCJP)
quem
sou����������� ������������������ eu
?
Lailson BandeiraGuilherme Carvalho Lucas Marinho
quem
somos����������� ������������������
nozes?
Consultoria e desenvolvimentode aplicações web e móveisprimariamente usando Ruby
agile
html css
mongodb
javascript ajax
json
railsgit
mysql
uxcloud
heroku
postgres
sinatra
padrinoamazon
websockets
s3
apisui
amazi
ng
clients
yeah,����������� ������������������ they����������� ������������������ rock
[email protected]/guavasoftwareRua Alfredo Coutinho, 74 – Casa Forte
Quer����������� ������������������ u
ma����������� ������������������
aplica
cao����������� ������������������ jo
inha����������� ������������������
tambem
?
Ruby����������� ������������������ e����������� ������������������ o����������� ������������������ mundomagico����������� ������������������ dos����������� ������������������ Unicornios����������� ������������������
Ruby onRails
linguagem
����������� ������������������ de����������� ������������������
programa
cao
framework����������� ������������������ web
11fatos aleatóriossobre Ruby
RUBYRAND
OMFACT
RUBYRAND
OMFACT
fridayhug.com1
RUBYRAND
OMFACT
fridayhug.com1
RUBYRAND
OMFACT
fridayhug.com1
RUBYRAND
OMFACT
fridayhug.com1
Japão, 1995
まつもとゆきひろ
Yukihiro Matsumoto
“Matz”
“Ruby is designed to make programmers happy.”
— Matz
SmalltalkLispPerl
EUA, 2001
“The Pickaxe Book”
Dinamarca, 2005
David Heinemeier Hansson
DHH
Rails 1.0
RUBYRAND
OMFACT
Ruby Heroes Award2
RUBYRAND
OMFACT
Ruby Heroes Award2
ORIENTADA A OBJETOS
DINÂMICA
INTERPRETADA
MULTIPLATAFORMA
TIPAGEM FORTEM
ULT
IPA
RA
DIG
MA
SINTAXE FLEXÍVEL
FUNCIONALREFLEXIVA
SOF
TW
AR
E L
IVR
E
EX
TE
NSÍV
EL
IMPERATIVA
Tudo é objeto
ruby> 'frevo'.length=> 5
ruby> -1.abs=> 1
Tudo é objeto
1.upto 5 do |i| puts iend
(Quase) tudo é expressão
if sexo == :masc saudacao = 'Sr.'elsif sexo == :fem saudacao = 'Sra.'end
(Quase) tudo é expressão
saudacao = if sexo == :masc 'Sr.'elsif sexo == :fem 'Sra.'end
(Quase) tudo é expressão
saudacao = case sexo when :masc then 'Sr.' when :fem then 'Sra.'end
Classe mais estranha ever3
class Aಠ_ಠ
end
Aಠ_ಠ.new
RUBYRAND
OMFACT
Construções funcionais
numeros = [1,2,3,4]
numeros.map do |num| num**2end=> [1, 4, 9, 16]
Construções funcionais
numeros = [1,2,3,4]
numeros.select do |num| (num % 2) == 0end=> [2, 4]
Construções funcionais
numeros = [1,2,3,4]
numeros.select do |num| num.even?end=> [2, 4]
Construções funcionais
numeros = [1,2,3,4]
numeros.reduce do |memo, num| memo + numend=> 10
Construções funcionais
numeros = [1,2,3,4]
numeros.reduce(&:+)=> 10
Why's (Poignant) Guide to Ruby4
RUBYRAND
OMFACT
Why's (Poignant) Guide to Ruby4
RUBYRAND
OMFACT
Extensível
require ‘active_support’
Date.today - 2.days=> Wed, 21 Nov 2012
3.days.ago=> 2012-11-21 10:00:00 -0300
Extensível
class Adder def sum(array) array.reduce(&:+) endend
Extensívelrequire 'rspec'
describe Adder do it 'should sum an array of numbers' do array = [1,2,3] adder = Adder.new adder.sum(array).should == 6 endend
Extensível
$ rspec adder_spec.rb
Adder should sum an array of numbers
Finished in 0.00069 seconds1 example, 0 failures
TDD
Teste depois do
desenvolvimento
Test-driven
development
Behavior-driven
development
RUBYRAND
OMFACT
RubyConf Argentina 20125
RUBYRAND
OMFACT
RubyConf Argentina 20125
RUBYRAND
OMFACT
RubyConf Argentina 20125
Bibliotecas são gems
$ gem install crack$ gem install cocaine$ gem install cannabis$ gem install valium
Rake pra fazer o trabalho sujo
$ rake db:create$ rake db:migrate$ rake db:drop$ rake deploy
Rails
MVCarquitetura
model-view-controller
RUBYRAND
OMFACT
Rails Girls6
RUBYRAND
OMFACT
Rails Girls6
Revolução no desenvolvimento
para web
Princípios
DRYDon’t����������� ������������������ repeat����������� ������������������ yourself
CoCConvention����������� ������������������ over����������� ������������������ configuration
KISSKeep����������� ������������������ it����������� ������������������ stupdly����������� ������������������ simple
YAGNI
NIHS
TATFT
you����������� ������������������ ain’t����������� ������������������ gonna����������� ������������������ need����������� ������������������ it
not����������� ������������������ invented����������� ������������������ here����������� ������������������ syndrome
test����������� ������������������ all����������� ������������������ the����������� ������������������ fucking����������� ������������������ time
Linha de comando
Editores simples
RUBYRAND
OMFACT
Octocat
Octodex7
RUBYRAND
OMFACT
http://octodex.github.com/
Octodex7
Conferências
Oxente Rails 2010
RailsConf 2011
RubyConf Brasil 2011
RubyConf Argentina 2011
RubyConf Brasil 2012
RubyConf Argentina 2012
RubyConf 2012
RubyConf 2012
Brinde mais estranho ever8
RUBYRAND
OMFACT
Brinde mais estranho ever8
RUBYRAND
OMFACT
Quem usa?
rubydramas.com9
RUBYRAND
OMFACT
E no Brasil?
Falando em Recife…
XI Encontro FoR
XII Encontro FoR
Abril Pro Ruby
XV Encontro FoR
tem����������� ������������������
coffee
����������� ������������������
break!
XVI Encontro FoR1 de dezembro, às 14h
Auditório do ITBC
frevoonrails.com.brfacebook.com/frevoonrails
de����������� ������������������ graca!
Ruby LipDub Clip10
RUBYRAND
OMFACT
RUBYRAND
OMFACT
Ruby LipDub Clip10
GURU
GURU-SPCeara����������� ������������������ on����������� ������������������ Rails
railspi
railsmgGURU-RS ruby+web
GURU-BA
Como aprender?
RR-71Desenvolvimento Ágil para Web
2.0 com Ruby on Rails
Desenvolvimento Ágil para Web 2.0Caelum
The Ruby Programming LanguageDavid Flanagan
the����������� ������������������ hummingbird����������� ������������������ book
Programming RubyDave Thomas
the����������� ������������������ pickaxe����������� ������������������ book
Agile Web Development with RailsSam Ruby
guides.rubyonrails.org
ruby.railstutorial.org
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Ke$ha e unicórnios11
RUBYRAND
OMFACT
Unicorn server12
RUBYRAND
OMFACT
That’s all, folks!16º ENCONTRO DO FREVO ON RAILS
Apresentação realizada por Lailson Bandeira em 01/12/2012 no 16º Encontro do Frevo on Rails, disponível em https://speakerdeck.com/lailsonbm. Slides criados no Keynote com as fontes
Bernino Sans, American Typewriter e Nanum Pen Script. Todos os direitos reservados.
PRINCIPAIS LINKShttp://facebook.com/guavasoftwarehttp://facebook.com/frevoonrailshttp://ruby.railstutorial.org/