SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Introducing Ruby
Por que Ruby?
Meados de 90's por Yukihiro Matsumoto ("Matz")
Perl, Smalltalk, Python, Lisp, ...
Linux Windows Mac (nativo)
Java (JRuby) .NET (IronRuby)
TextMate, Vim Sublime,VS, Eclipse  NetBeans, RubyMine, ...
1.8.7 1.9.2
Orientada a Objetos
Dinâmica
Funcional
Interpretada
Garbage Collector
Duck Typing
Módulos
Mixins
Hashes
Symbols
Interpolação de Strings
Default arguments
Classes abertas
mas ...
Ruby não escala!
 
Ruby não escala?
http://storecrowd.com/blog/top-50-ruby-on-rails-websites/
Escalabilidade é um problema de arquitetura ...
... escolher a tecnologia correta, também.
Performance
 
http://en.wikipedia.org/wiki/Gotcha_(programming)
Gems (rubygems.org) Gerenciador de pacotes gem install <package_id> eg.: gem install rails
Travis CI (travis-ci.org) Sistema distribuído de Integração Contínua. Ruby , Clojure, Erlang, Node.js Utiliza o Github.
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
Kata
rspec
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.
 
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.
 
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

gaussian.erros
gaussian.errosgaussian.erros
gaussian.erros
 
Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]Imergindo jvm[Apresentação ]
Imergindo jvm[Apresentação ]
 
Imergindo na JVM
Imergindo na JVMImergindo na JVM
Imergindo na JVM
 
Open ldap criando e explorando um overlay
Open ldap   criando e explorando um overlayOpen ldap   criando e explorando um overlay
Open ldap criando e explorando um overlay
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
 
OpenMP Day 3
OpenMP Day 3OpenMP Day 3
OpenMP Day 3
 
Tag Libraries e JSTL
Tag Libraries e JSTLTag Libraries e JSTL
Tag Libraries e JSTL
 

Andere mochten auch

이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...
이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...
이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...Jang Ji
 
Muuramen kirkon sisävärit
Muuramen kirkon sisäväritMuuramen kirkon sisävärit
Muuramen kirkon sisäväritSimo Lampela
 
Voorlichting wonnink notitie 8 11-11
Voorlichting wonnink notitie 8 11-11Voorlichting wonnink notitie 8 11-11
Voorlichting wonnink notitie 8 11-11All Text Power
 
5課6課(同じ漢字)
5課6課(同じ漢字)5課6課(同じ漢字)
5課6課(同じ漢字)kenji sakuma
 
Colegio josé ingenieros modulo 6
Colegio josé ingenieros modulo 6Colegio josé ingenieros modulo 6
Colegio josé ingenieros modulo 6Jenny Azahar
 
Krizni menadžment za trenere
Krizni menadžment za trenereKrizni menadžment za trenere
Krizni menadžment za trenereLSVNS
 
Prezentace Edolo s.r.o.
Prezentace Edolo s.r.o.Prezentace Edolo s.r.o.
Prezentace Edolo s.r.o.Edolo s.r.o.
 
أسرار القلب, بين العلم و الإيمان
أسرار القلب, بين العلم و الإيمانأسرار القلب, بين العلم و الإيمان
أسرار القلب, بين العلم و الإيمانHashem Rüzgar
 
Тренинги компании ОМТ
Тренинги компании ОМТТренинги компании ОМТ
Тренинги компании ОМТcentertomalogy
 
Sns와 인간적인 삶 백운선대표 2011.11.07
Sns와 인간적인 삶 백운선대표 2011.11.07Sns와 인간적인 삶 백운선대표 2011.11.07
Sns와 인간적인 삶 백운선대표 2011.11.07천식 김
 
Presentazione 2011 10 02
Presentazione 2011 10 02Presentazione 2011 10 02
Presentazione 2011 10 02Ecofficina
 
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...Edilson A. Souza
 
Пробное тестирование 2012
Пробное тестирование 2012Пробное тестирование 2012
Пробное тестирование 2012crusi2007
 

Andere mochten auch (20)

이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...
이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...
이벤트 상상 Recipe 장혜지_한국관광대_201113033, 조정윤_한국관광대_201113039,이동주_한국관광대_200711027,이채...
 
Muuramen kirkon sisävärit
Muuramen kirkon sisäväritMuuramen kirkon sisävärit
Muuramen kirkon sisävärit
 
Sharks
SharksSharks
Sharks
 
Voorlichting wonnink notitie 8 11-11
Voorlichting wonnink notitie 8 11-11Voorlichting wonnink notitie 8 11-11
Voorlichting wonnink notitie 8 11-11
 
5課6課(同じ漢字)
5課6課(同じ漢字)5課6課(同じ漢字)
5課6課(同じ漢字)
 
Colegio josé ingenieros modulo 6
Colegio josé ingenieros modulo 6Colegio josé ingenieros modulo 6
Colegio josé ingenieros modulo 6
 
HENRIM1
HENRIM1HENRIM1
HENRIM1
 
Trabalho pac iv reciclagem
Trabalho pac iv   reciclagemTrabalho pac iv   reciclagem
Trabalho pac iv reciclagem
 
Krizni menadžment za trenere
Krizni menadžment za trenereKrizni menadžment za trenere
Krizni menadžment za trenere
 
Prezentace Edolo s.r.o.
Prezentace Edolo s.r.o.Prezentace Edolo s.r.o.
Prezentace Edolo s.r.o.
 
Naufragé volontaire
Naufragé volontaireNaufragé volontaire
Naufragé volontaire
 
أسرار القلب, بين العلم و الإيمان
أسرار القلب, بين العلم و الإيمانأسرار القلب, بين العلم و الإيمان
أسرار القلب, بين العلم و الإيمان
 
Тренинги компании ОМТ
Тренинги компании ОМТТренинги компании ОМТ
Тренинги компании ОМТ
 
Sns와 인간적인 삶 백운선대표 2011.11.07
Sns와 인간적인 삶 백운선대표 2011.11.07Sns와 인간적인 삶 백운선대표 2011.11.07
Sns와 인간적인 삶 백운선대표 2011.11.07
 
Presentazione 2011 10 02
Presentazione 2011 10 02Presentazione 2011 10 02
Presentazione 2011 10 02
 
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...
A CAPES E A GREVE: QUEM SANCIONARÁ OS PROGRAMAS DE PÓS-GRADUAÇÃO QUE SUSPENDE...
 
Mascitelli: innovare!
Mascitelli: innovare!Mascitelli: innovare!
Mascitelli: innovare!
 
Sprog og budskaber
Sprog og budskaberSprog og budskaber
Sprog og budskaber
 
Julian 110325093518-phpapp02
Julian 110325093518-phpapp02Julian 110325093518-phpapp02
Julian 110325093518-phpapp02
 
Пробное тестирование 2012
Пробное тестирование 2012Пробное тестирование 2012
Пробное тестирование 2012
 

Ähnlich wie Introducing Ruby

Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On RailsAlberto Leal
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a rubyWende Mendes
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsWakeUpSystems
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Joao Lucas Santana
 
Rails - EXATEC2009
Rails - EXATEC2009Rails - EXATEC2009
Rails - EXATEC2009Caue Guerra
 
Ruby, Rails e Diversão
Ruby, Rails e DiversãoRuby, Rails e Diversão
Ruby, Rails e DiversãoJulio Monteiro
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformMilfont Consulting
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Douglas Roeder
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsLucas Caton
 
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)Ricardo Valeriano
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Railsoverduka
 
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Marcio Sfalsin
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsVinicius Reis
 

Ähnlich wie Introducing Ruby (20)

Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On Rails
 
Introdução a ruby
Introdução a rubyIntrodução a ruby
Introdução a ruby
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up Systems
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)Desenvolvimento web com Ruby on Rails (parte 1)
Desenvolvimento web com Ruby on Rails (parte 1)
 
Rails - EXATEC2009
Rails - EXATEC2009Rails - EXATEC2009
Rails - EXATEC2009
 
Introdução ao java
Introdução ao javaIntrodução ao java
Introdução ao java
 
Ruby, Rails e Diversão
Ruby, Rails e DiversãoRuby, Rails e Diversão
Ruby, Rails e Diversão
 
Palestra Ruby
Palestra RubyPalestra Ruby
Palestra Ruby
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)
Sexy Specs on XCode with MacRuby and Rspec (Lightning Talk)
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Rails
 
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
Jruby, o melhor de 2 mundos (MacGyver + ChuckNorris)
 
Java 01
Java 01Java 01
Java 01
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 

Introducing Ruby

Hinweis der Redaktion

  1. Quem nunca ouviu falar em ruby? Quem já leu sobre ruby? Quem já fez algum tutorial? Quem já programa em ruby?
  2. 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
  3. Objetivo de criar uma linguagem que proporcionasse diversão e prazer em programar
  4. Tudo é um objeto.
  5. Closure Passagem de funções por argumento Funções anônimas Avaliação postergada
  6. As versões para Java e .NET possuem compiladores
  7. Problema de performance. Problema no algoritmo. Problema no tamanho do heap. 
  8. Estilo de tipagem dinâmica. O tipo é determinado por seu conjunto de métodos e propriedades.
  9. Forma de agrupar métodos, classes, etc. Detrminam um namespace para um código. Parecidos com interfaces ou classes abstratas.
  10. 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.
  11. Arrays associativos. Chave-Valor. Utliza símbolos para indexação.
  12. 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.
  13. 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#
  14. Garbage Collector. Manutenção.
  15. Twitter utilizou Ruby + Rails com tunning no GC Ruby escala como Java ou .NET Ruby + Rails + Passenger + Gem == Node.js
  16. Ruby é interpretado Não confunda Ruby com Rails
  17. Originário do Perl Depois surgiram similares para .NET, Node.js, Scala e Python
  18. Começou com ruby Quem não conhece Git? Quem não conhece o Github?
  19. Influenciou o surgimento em outras plataformas
  20. BDD? Biblioteca para BDD specJ, Nspec, specs