Entendendo um
pouco melhor o que
é Ruby
Antes de tudo….Por que aprender a
programar?
❖

Salários altos comparado a outras áreas (mas baixos em
comparação a outros...
O que é Ruby?
❖

Criada por Yukihiro Matsumoto

❖

Ideia concebida em 24 de fevereiro de 1993

❖

Versão 1.0 lançada em 25...
Porque programar em Ruby?
❖

A simplicidade da linguagem afeta diretamente a produtividade diária do
desenvolvedor

❖

Lin...
Porque programar em Ruby?
Exemplo de método (fig.1) e classe
(fig.2)
fig.1

fig.2
Interesting Ruby
❖

Em Ruby você não precisa declarar o tipo de variável
explicitamente

❖

O uso de Meta-programação é fá...
Interesting Ruby
Eu não preciso criar setter e getters manualmente, pois o Ruby já tem
métodos prontos no core da linguage...
Interesting Ruby
Caso eu precise de um método que faz a mesma coisa, só que com nomes
diferentes, existem meta-métodos que...
GEMs
❖

Abstraem funcionalidades básicas da aplicação para pedaços
separados, podendo assim serem usados em qualquer novo ...
Exemplo de um arquivo
Gemfile
Mas afinal, o que podemos fazer
com Ruby?
❖

Cálculos complexos

❖

Scripts de teste

❖

Importação de dados para Bancos d...
Mas afinal, o que podemos fazer
com Ruby?
Convenções e Boas Práticas
❖

Existe uma série de guias de como escrever código Ruby e de
como organizá-lo para que outras...
Testes? Ein?
❖

Todo o código Ruby pode ser escrito acompanhado de testes, para
que mesmo que você modifique o código no f...
Testes? Ein?
Exemplo de um arquivo de "spec" para um Modelo do Framework Ruby on Rails
usando-se o RSpec como DSL de teste...
O que diferencia um bom Rubysta de um mal
Rubysta?

❖

Não fazer testes

❖

Não usar boas práticas

❖

Não ajudar a comuni...
That’s all Folks o/

❖

twitter.com/patrickemuller

❖

fb.com/patrick.miiller

❖

github.com/mpatrick
Upcoming SlideShare
Loading in …5
×

Entendendo um pouco melhor o que é Ruby

297
-1

Published on

Talk apresentada por Patrick Müller no encontro do GURU-RS de novembro de 2013, falando um pouco sobre o que é a linguagem de programação Ruby para quem ainda é iniciante.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
297
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Entendendo um pouco melhor o que é Ruby

  1. 1. Entendendo um pouco melhor o que é Ruby
  2. 2. Antes de tudo….Por que aprender a programar? ❖ Salários altos comparado a outras áreas (mas baixos em comparação a outros países) ❖ É mais fácil conseguir empregos remotos ❖ Aprendizagem constante ❖ Desafios diários ❖ Divertido
  3. 3. O que é Ruby? ❖ Criada por Yukihiro Matsumoto ❖ Ideia concebida em 24 de fevereiro de 1993 ❖ Versão 1.0 lançada em 25 de dezembro de 1996 ❖ Última versão estável (até 29/11/2013) é a 2.0.0-p353 ❖ Orientada a objeto ❖ Inspirada no Perl e Python ❖ Open-Source
  4. 4. Porque programar em Ruby? ❖ A simplicidade da linguagem afeta diretamente a produtividade diária do desenvolvedor ❖ Linguagem de fácil leitura ❖ Tudo é um objeto ❖ Interactive Shell. Os comandos podem ser testados direto em terminal, sem necessidade de escrever e “compilar" código para ver se deu certo ❖ Comunidade tem o instinto de ajuda, e é fácil conseguir soluções bem elaboradas ❖ Na versão 1.9+ o Ruby ganhou uma máquina virtual chamada YARV (Yet Another Ruby Virtual Machine) que proporcionou grande aumento de performance
  5. 5. Porque programar em Ruby? Exemplo de método (fig.1) e classe (fig.2) fig.1 fig.2
  6. 6. Interesting Ruby ❖ Em Ruby você não precisa declarar o tipo de variável explicitamente ❖ O uso de Meta-programação é fácil e faz parte da proposta da linguagem ❖ Sobre-escrever métodos é fácil ❖ Sem getter e setters escritos manualmente ❖ Parêntese é opcional ❖ Monkey Patch é de fácil implementação
  7. 7. Interesting Ruby Eu não preciso criar setter e getters manualmente, pois o Ruby já tem métodos prontos no core da linguagem que fazem toda essa parte, bastante apenas eu passar um “Symbol”, que seria o “:velocity” e ele cria um getter e um setter para o meu atributo “velocity”, bastante apenas depois eu colocar “Car.velocity = 10”, no caso do setter, e “Car.velocity #=> 10” no caso do getter para ele exibir o valor que eu ordenei.
  8. 8. Interesting Ruby Caso eu precise de um método que faz a mesma coisa, só que com nomes diferentes, existem meta-métodos que servem exatamente para a escrita de meta-programação, e que auxiliam isso por padrão. Um exemplo é o método “define_method”, que como o próprio nome já diz “defina_método”.
  9. 9. GEMs ❖ Abstraem funcionalidades básicas da aplicação para pedaços separados, podendo assim serem usados em qualquer novo projeto sem ter que duplicar código manualmente ❖ Ajudam a comunidade proporcionando funcionalidades que são úteis a mais de uma pessoa ❖ Criar GEMs ajudam no entendimento de como Ruby funciona e como implementar meta-programação ❖ São em geral GRATUITAS, apenas sendo pagas em casos muito específicos relacionadas a regras de negócio de um cliente, por exemplo
  10. 10. Exemplo de um arquivo Gemfile
  11. 11. Mas afinal, o que podemos fazer com Ruby? ❖ Cálculos complexos ❖ Scripts de teste ❖ Importação de dados para Bancos de Dados ❖ Automatização de tarefas ❖ Outras linguagens (Frameworks, assim como o Rails) ❖ APIs ❖ Parser de logs ❖ Trabalhar com protocolos diversos ❖ Ler e escrever arquivos em diversos formatos
  12. 12. Mas afinal, o que podemos fazer com Ruby?
  13. 13. Convenções e Boas Práticas ❖ Existe uma série de guias de como escrever código Ruby e de como organizá-lo para que outras pessoas entendam o que você quis dizer com aquilo. ❖ Como saber se estou Guidelines Plataformatec ❖ Sou obrigado a seguir um guia? Não, você não é, mas isso implica seriamente em qualidade de código e com a comunidade, pois uma GEM mal escrita ou código mal escrito afeta a produtividade de outra pessoa ou até mesmo da comunidade inteira usando boas práticas?
  14. 14. Testes? Ein? ❖ Todo o código Ruby pode ser escrito acompanhado de testes, para que mesmo que você modifique o código no futuro, você saiba se ele ainda serve para o propósito o qual ele foi escrito, garantindo assim que seu projeto não sofra por falhas ❖ Existem diversas DSLs (Domain specific language) que são usadas para isso. No caso do Ruby on Rails o mais usado é o RSpec ❖ Existe boas práticas para testes? Sim, existem, para o RSpec em sí existe isso aqui >> Better Spec (For RSpec). Cada DSL pode ter seu próprio padrão de projeto e dai cabe a cada comunidade desenvolver suas próprias boas práticas
  15. 15. Testes? Ein? Exemplo de um arquivo de "spec" para um Modelo do Framework Ruby on Rails usando-se o RSpec como DSL de teste. No caso abaixo está sendo validada a presença obrigatória dos atributos “user_id, video_id e note”. Logo mais abaixo, nas linhas 11 e 12 ele confere se existe uma relação entre a “avaliação (Avaliation)” e os modelos de “usuário(user)” e "video"
  16. 16. O que diferencia um bom Rubysta de um mal Rubysta? ❖ Não fazer testes ❖ Não usar boas práticas ❖ Não ajudar a comunidade ❖ Criar GEMs fechadas
  17. 17. That’s all Folks o/ ❖ twitter.com/patrickemuller ❖ fb.com/patrick.miiller ❖ github.com/mpatrick
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×