SlideShare a Scribd company logo
1 of 43
Download to read offline
Fundação PTI 
Brasil
Parque Tecnológico ITAIPU - PTI
ITAIPU: Gerar energia elétrica de qualidade, com 
responsabilidade social e ambiental, impulsionando o 
desenvolvimento econômico, turístico e tecnológico, 
sustentável, no Brasil e no Paraguai. 
PTI: Promover o desenvolvimento territorial sustentável por 
meio da educação, ciência, tecnologia, inovação, cultura e 
empreendedorismo. 
Missão
Desde a sua criação, em 2003, o PTI busca nas tecnologias 
abertas soluções inovadoras para disseminar o conhecimento, 
promover a inclusão social e digital e impulsionar o 
desenvolvimento territorial. 
Além da utilização do software livre em ambiente corporativo, 
o PTI atua no seu desenvolvimento, por meio de centros de P&D, e 
na sua disseminação.
ruby 
COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO
Objetivo 
Apresentar esta poderosa ferramenta, sua 
expressividade e seus conceitos. O que podemos 
fazer com ela e sua contribuição para a 
comunidade.
LatinoWare e ruby ?! 
Como assim?
Vamos instalar o ruby?
Apt-get?
Compilando 
https://www.ruby-lang.org/en/downloads/ 
$ tar xfv ruby-2.1.3.tar.gz
Ruby Version Manager 
RVM é uma ferramenta de linha de comando 
que permite instalar, gerenciar e trabalhar com 
multiplas versões de ruby e diversos conjuntos 
de gems.
rvm.io 
$ curl -sSL https://get.rvm.io | bash -s stable
“Ruby está projetado para fazer os programadores 
felizes.” - Yukihiro “Matz” Matsumoto - Criado do Ruby
Ruby 
● Totalmente Orientada a Objetos 
● Dinâmica 
● Fortemente Tipada 
● Gramática complexa, mas expressiva 
● Uma $ RICA $ Core API 
● Inspirada em Smalltalk, Lisp e Perl 
● Programação Funcional 
● Metaprogramação
Em ruby, tudo é objeto, sem exceções!
Types
Duck Typing 
“Se anda como um pato e faz barulho como um pato, 
então de deve ser um pato. E o interpretador ficará feliz 
em fazer com que o objeto seja tratado como um pato. Na 
prática, isso significa que em vez de fazer verificações de 
tipo de um objeto, você deve se preocupar se este objeto 
é capaz de executar o método que você precisa.” - Nano 
Vieira
Duck Typing
Duck Typing
Strings
Números
Números
Hash
Symbols
Expressões 
regulares
Modulos
Classes
Herança 
Obs: ‘Não existe herança múltipla em ruby’
Mixins
Blocos 
Blocos não são objetos!
E o que mais? 
● Condicionais (if, else, elseif, unless, ?) 
● Seletores (Case) 
● Estruturas de repetição(for...in, while..until, loop) 
● Iteradores (Enumerator, Iterator) 
● Procs e Lambdas 
● Self 
● Singleton Class 
● Variáveis (Classe, instancia) 
● Constantes 
● CallBacks 
● Monkey Patching e Refinements
Como continuar?
Try ruby! 
tryruby.org/
Como continuar? 
www.codeschool.com/paths/ruby
Ferramentas 
github.com/Sdogruyol/awesome-ruby
Style guide 
github.com/bbatsov/ruby-style-guide
Considerações finais
Códigos dos exemplos estão disponíveis em: 
github.com/gnomex/ruby-at-latinoware2014
kenner.ak@pti.org.br 
github.com/gnomex 
@KennerKliemann

More Related Content

Similar to PTI promove desenvolvimento com Ruby

Ux conf2018 workshop_prototipacao_cesar.pptx (3)
Ux conf2018 workshop_prototipacao_cesar.pptx (3)Ux conf2018 workshop_prototipacao_cesar.pptx (3)
Ux conf2018 workshop_prototipacao_cesar.pptx (3)GIselle Rossi
 
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...CESAR
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014Marcio Marchini
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoNãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoOsvaldo Santana Neto
 
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laBruno Rocha
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyRelsi Maron
 
Yes We Can do I.T. - Pyladies Recife
Yes We Can do I.T. - Pyladies RecifeYes We Can do I.T. - Pyladies Recife
Yes We Can do I.T. - Pyladies RecifeAndreza Leite
 
O canivete suiço de Python
O canivete suiço de PythonO canivete suiço de Python
O canivete suiço de PythonVitor Casadei
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MALucas Souto
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCETiago Freire
 
E o que danado é o PUG-PE?
E o que danado é o PUG-PE?E o que danado é o PUG-PE?
E o que danado é o PUG-PE?pugpe
 
Manualdoprojeocaper
ManualdoprojeocaperManualdoprojeocaper
ManualdoprojeocaperRui Raposo
 
Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Thiago Rondon
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 

Similar to PTI promove desenvolvimento com Ruby (20)

Ux conf2018 workshop_prototipacao_cesar.pptx (3)
Ux conf2018 workshop_prototipacao_cesar.pptx (3)Ux conf2018 workshop_prototipacao_cesar.pptx (3)
Ux conf2018 workshop_prototipacao_cesar.pptx (3)
 
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...
Workshop "Prototipação com Propósito: técnicas para acertar rápido" - UXConf ...
 
Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
NãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até PensamentoNãNãNã Nã - Python Refresca até Pensamento
NãNãNã Nã - Python Refresca até Pensamento
 
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2py
 
Yes We Can do I.T. - Pyladies Recife
Yes We Can do I.T. - Pyladies RecifeYes We Can do I.T. - Pyladies Recife
Yes We Can do I.T. - Pyladies Recife
 
O canivete suiço de Python
O canivete suiço de PythonO canivete suiço de Python
O canivete suiço de Python
 
Ambiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MAAmbiente de desenvolvimento em Python - PUG-MA
Ambiente de desenvolvimento em Python - PUG-MA
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Por Que Python - #PUGCE
Por Que Python - #PUGCEPor Que Python - #PUGCE
Por Que Python - #PUGCE
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
E o que danado é o PUG-PE?
E o que danado é o PUG-PE?E o que danado é o PUG-PE?
E o que danado é o PUG-PE?
 
Manualdoprojeocaper
ManualdoprojeocaperManualdoprojeocaper
Manualdoprojeocaper
 
Apresentação Campus Party Recife
Apresentação Campus Party RecifeApresentação Campus Party Recife
Apresentação Campus Party Recife
 
Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?Para onde foi o meu dinheiro ?
Para onde foi o meu dinheiro ?
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 

PTI promove desenvolvimento com Ruby