Entendendo um pouco melhor o que é Ruby
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Entendendo um pouco melhor o que é Ruby

on

  • 372 views

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.

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.

Statistics

Views

Total Views
372
Views on SlideShare
372
Embed Views
0

Actions

Likes
1
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Entendendo um pouco melhor o que é Ruby Presentation Transcript

  • 1. Entendendo um pouco melhor o que é Ruby
  • 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. 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. 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. Porque programar em Ruby? Exemplo de método (fig.1) e classe (fig.2) fig.1 fig.2
  • 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. 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. 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. 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. Exemplo de um arquivo Gemfile
  • 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. Mas afinal, o que podemos fazer com Ruby?
  • 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. 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. 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. 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. That’s all Folks o/ ❖ twitter.com/patrickemuller ❖ fb.com/patrick.miiller ❖ github.com/mpatrick