COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
-
Upload
kenner-kliemann -
Category
Presentations & Public Speaking
-
view
162 -
download
4
description
Transcript of COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014
![Page 1: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/1.jpg)
Fundação PTIBrasil
![Page 2: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/2.jpg)
Parque Tecnológico ITAIPU - PTI
![Page 3: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/3.jpg)
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
![Page 4: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/4.jpg)
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.
![Page 5: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/5.jpg)
rubyCOMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO
![Page 6: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/6.jpg)
Objetivo
Apresentar esta poderosa ferramenta, sua expressividade e seus conceitos. O que podemos fazer com ela e sua contribuição para a comunidade.
![Page 7: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/7.jpg)
LatinoWare e ruby ?!
Como assim?
![Page 8: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/8.jpg)
![Page 9: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/9.jpg)
Vamos instalar o ruby?
![Page 10: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/10.jpg)
Apt-get?
![Page 11: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/11.jpg)
Compilando
https://www.ruby-lang.org/en/downloads/
$ tar xfv ruby-2.1.3.tar.gz
![Page 12: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/12.jpg)
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.
![Page 13: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/13.jpg)
rvm.io
$ \curl -sSL https://get.rvm.io | bash -s stable
![Page 14: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/14.jpg)
![Page 15: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/15.jpg)
![Page 16: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/16.jpg)
![Page 17: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/17.jpg)
“Ruby está projetado para fazer os programadores felizes.” - Yukihiro “Matz” Matsumoto - Criado do Ruby
![Page 18: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/18.jpg)
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
![Page 19: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/19.jpg)
Em ruby, tudo é objeto, sem exceções!
![Page 20: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/20.jpg)
Types
![Page 21: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/21.jpg)
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
![Page 22: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/22.jpg)
Duck Typing
![Page 23: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/23.jpg)
Duck Typing
![Page 24: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/24.jpg)
Strings
![Page 25: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/25.jpg)
Números
![Page 26: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/26.jpg)
Números
![Page 27: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/27.jpg)
Hash
![Page 28: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/28.jpg)
Symbols
![Page 29: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/29.jpg)
Expressões regulares
![Page 30: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/30.jpg)
Modulos
![Page 31: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/31.jpg)
Classes
![Page 32: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/32.jpg)
Herança
Obs: ‘Não existe herança múltipla em ruby’
![Page 33: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/33.jpg)
Mixins
![Page 34: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/34.jpg)
Blocos
Blocos não são objetos!
![Page 35: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/35.jpg)
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
![Page 36: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/36.jpg)
Como continuar?
![Page 37: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/37.jpg)
Try ruby!
tryruby.org/
![Page 38: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/38.jpg)
Como continuar?www.codeschool.com/paths/ruby
![Page 39: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/39.jpg)
Ferramentasgithub.com/Sdogruyol/awesome-ruby
![Page 40: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/40.jpg)
Style guidegithub.com/bbatsov/ruby-style-guide
![Page 41: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/41.jpg)
Considerações finais
![Page 42: COMEÇANDO COM RUBY, DOS CONCEITOS AO PRIMEIRO CÓDIGO - Latinoware2014](https://reader033.fdocuments.net/reader033/viewer/2022052900/5563907ad8b42ad2128b5219/html5/thumbnails/42.jpg)
Códigos dos exemplos estão disponíveis em:
github.com/gnomex/ruby-at-latinoware2014