Introducing Ruby

560 views

Published on

Apresentação realizada

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
560
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Quem nunca ouviu falar em ruby? Quem já leu sobre ruby? Quem já fez algum tutorial? Quem já programa em ruby?
  • Quem programa em ... Java? C#? Python? Perl? C++? PHP? Quem programa em mais do que uma linguagem? Ruby é fácil e rápido de aprender Ruby é muito produtivo Comunidade Ruby Infraestrutura para o Ruby Influência do Ruby Ruby é bonito
  • Objetivo de criar uma linguagem que proporcionasse diversão e prazer em programar
  • Tudo é um objeto.
  • Closure Passagem de funções por argumento Funções anônimas Avaliação postergada
  • As versões para Java e .NET possuem compiladores
  • Problema de performance. Problema no algoritmo. Problema no tamanho do heap. 
  • Estilo de tipagem dinâmica. O tipo é determinado por seu conjunto de métodos e propriedades.
  • Forma de agrupar métodos, classes, etc. Detrminam um namespace para um código. Parecidos com interfaces ou classes abstratas.
  • Possibilita a mistura entre um módulo e uma classe. include mistura métodos à nível de instância. extend mistura métodos a nível de classes.
  • Arrays associativos. Chave-Valor. Utliza símbolos para indexação.
  • Uma coisa que pode ser representada como um número ou uma string. O nome de uma coisa. A chave para associação com um argumento. Um label para um enumerador. Uma constante única. Um objeto. Muito utilizado com hashes. Muito utilizado no Rails. Muito utilizado em Ruby.
  • Toda e qualquer classe pode ser modificada. Pode-se adicionar métodos e propriedades. Semelhante aos métodos de extensão ou classes parciais do C#
  • Garbage Collector. Manutenção.
  • Twitter utilizou Ruby + Rails com tunning no GC Ruby escala como Java ou .NET Ruby + Rails + Passenger + Gem == Node.js
  • Ruby é interpretado Não confunda Ruby com Rails
  • Originário do Perl Depois surgiram similares para .NET, Node.js, Scala e Python
  • Começou com ruby Quem não conhece Git? Quem não conhece o Github?
  • Influenciou o surgimento em outras plataformas
  • BDD? Biblioteca para BDD specJ, Nspec, specs
  • Introducing Ruby

    1. 1. Introducing Ruby
    2. 2. Por que Ruby?
    3. 3. Meados de 90's por Yukihiro Matsumoto ("Matz")
    4. 4. Perl, Smalltalk, Python, Lisp, ...
    5. 5. Linux Windows Mac (nativo)
    6. 6. Java (JRuby) .NET (IronRuby)
    7. 7. TextMate, Vim Sublime,VS, Eclipse  NetBeans, RubyMine, ...
    8. 8. 1.8.7 1.9.2
    9. 9. Orientada a Objetos
    10. 10. Dinâmica
    11. 11. Funcional
    12. 12. Interpretada
    13. 13. Garbage Collector
    14. 14. Duck Typing
    15. 15. Módulos
    16. 16. Mixins
    17. 17. Hashes
    18. 18. Symbols
    19. 19. Interpolação de Strings
    20. 20. Default arguments
    21. 21. Classes abertas
    22. 22. mas ...
    23. 23. Ruby não escala!
    24. 25. Ruby não escala?
    25. 26. http://storecrowd.com/blog/top-50-ruby-on-rails-websites/
    26. 27. Escalabilidade é um problema de arquitetura ...
    27. 28. ... escolher a tecnologia correta, também.
    28. 29. Performance
    29. 31. http://en.wikipedia.org/wiki/Gotcha_(programming)
    30. 32. Gems (rubygems.org) Gerenciador de pacotes gem install <package_id> eg.: gem install rails
    31. 33. Travis CI (travis-ci.org) Sistema distribuído de Integração Contínua. Ruby , Clojure, Erlang, Node.js Utiliza o Github.
    32. 34. Heroku (heroku.com) PaaS (Platform as a Service) Inicialmente para Ruby . Hoje aceita Ruby , Node.js, Clojure, Java, Python e Scala Utiliza a Amazon Diversos addons
    33. 35. Kata
    34. 36. rspec
    35. 37. Radar Simular um radar capaz de localizar inimigos em um determinado raio e informar as distâncias de seu centro até cada inimigo. obs.: utilize uma matriz para simular a área do radar. Esta matriz deve ser composta de 0's e 1's (bitmap) onde o valor 1 representa um inimigo.
    36. 39. Agora, você deve localizar e destruir seus inimigos. Para destruir um inimigo você deve ter algumas bombas, carregar seu canhão e disparar na direção correta.
    37. 41. Referências http://www.ruby-lang.org http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/ http://en.wikipedia.org/wiki/Ruby_(programming_language) http://tryruby.org http://rubygems.org/ http://git-scm.com/ http://git-scm.com/documentation https://github.com/ http://help.github.com/ http://travis-ci.org/ http://www.heroku.com/ http://devcenter.heroku.com/articles/git http://talk-2011-lyon.heroku.com/#1 http://svenfuchs.com/2011/2/5/travis-a-distributed-build-server-tool-for-the-ruby-community http://www.randomhacks.net/articles/2007/01/20/13-ways-of-looking-at-a-ruby-symbol

    ×