Upload
rodrigo-martins
View
892
Download
0
Embed Size (px)
DESCRIPTION
Palestra de Ruby, Simples e Expressivo. Aplicada no FLISOL, em Vitória-ES.
Citation preview
Quem sou?
Rodrigo Martins
@rr_martins
www.rrmartins.com → rrmartins.github.com
Já Trabalhei com:
→ Zim
→ PHP
→ Clipper
→ Java
O que faço hoje:
→ Ruby
→ Rails
→ Python
→ PHP (pouco)
→ Estudando sempre novas tecnologias... :D
https://github.com/rrmartins/
Contribuições Comunidades
Rails-br
Android Brasil – Projetos
Android Developers Brasil
Comunidade Tux-ES :D
Ruby on Rails: Talk
Ruby!?
Que jóia Linda... Eu quero!!! :D
O que é Ruby?
O que é Ruby?
Interpretada multiparadigmas;
O que é Ruby?
Interpretada multiparadigmas; Tipagem dinâmica e forte;
O que é Ruby?
Interpretada multiparadigmas; Tipagem dinâmica e forte; Gerenciamento de memória automático;
O que é Ruby?
Interpretada multiparadigmas; Tipagem dinâmica e forte; Gerenciamento de memória automático; Suporta programação funcional;
O que é Ruby?
Interpretada multiparadigmas; Tipagem dinâmica e forte; Gerenciamento de memória automático; Suporta programação funcional; Orientada a objetos, OO;
Ruby disponivel para:
Microsoft Windows
Ruby disponivel para:
Microsoft Windows
Ruby disponivel para:
Linux
Ruby disponivel para:
Mac OS X
Ruby disponivel para:
Ruby + Java = JRuby
Ideais do Matz
→ “...tentar tornar o Ruby natural, não é simples...”
http://www.ruby-lang.org/en/about/
Ideais do Matz
→ “...tentar tornar o Ruby natural, não é simples...”
→ “Ruby é simples na aparência, mas é muito complexo no interior, assim como nosso corpo humano.”
http://www.ruby-lang.org/en/about/
Conversando com o Codigo
Java
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Model Rails
DSL - Metaprogramação
→ Difinição: “Programe sua Programação!” || “Codigo Fazendo Codigo!”
→ Difinição: “Programe sua Programação!” || “Codigo Fazendo Codigo!”
→ Faça-lhe uma linguagem específica de domínio.
DSL - Metaprogramação
→ Difinição: “Programe sua Programação!” || “Codigo Fazendo Codigo!”
→ Faça-lhe uma linguagem específica de domínio.
→ Programa em uma linguagem desenhada para o problema que você está resolvendo.
DSL - Metaprogramação
→ Rails aproveita metaprogramação pesadamente.
DSL - Metaprogramação
→ Rails aproveita metaprogramação pesadamente.
→ Para efeito ótimo!
DSL - Metaprogramação
→ Rails aproveita metaprogramação pesadamente.
→ Para efeito ótimo!
→ Ruby é uma natural para metaprogramação.
DSL - Metaprogramação
→ XML
→ XML
→ JSON
→ XML
→ JSON
→ Rspec (Gem)
→ XML
→ JSON
→ Rspec (Gem)
→ XML
→ JSON
→ Rspec (Gem)
→ Cocumber (Gem)
http://www.slideshare.net/fnando/testando-rails-apps-com-rspec
Desenvolvendo uma linguagem com RubyO Poder das DSL
com Metaprogramação!
Começando com a Class
Inicializando a Classe
http://apidock.com/ruby/Object/instance_eval
Criando os metodos da Linguagem
Imprimindo o resultado final
Executando
Saída
Ruby, Simples e Expressivo!
http://blog.caelum.com.br/codigo-conciso-claro-e-breve/
Muito Obrigado!
Rodrigo Martins
@rr_martins
www.rrmartins.com → rrmartins.github.com