Introducing Ruby

41
Introducing Ruby

description

Apresentação realizada

Transcript of Introducing Ruby

Page 1: Introducing Ruby

Introducing Ruby

Page 2: Introducing Ruby

Por que Ruby?

Page 3: Introducing Ruby

Meados de 90's por Yukihiro

Matsumoto ("Matz")

Page 4: Introducing Ruby

Perl, Smalltalk, Python, Lisp, ...

Page 5: Introducing Ruby

LinuxWindows

Mac (nativo)

Page 6: Introducing Ruby

Java (JRuby) .NET (IronRuby)

Page 7: Introducing Ruby

TextMate, VimSublime,VS, Eclips

e  NetBeans, RubyMine, ...

Page 8: Introducing Ruby

1.8.71.9.2

Page 9: Introducing Ruby

Orientada a Objetos

Page 10: Introducing Ruby

Dinâmica

Page 11: Introducing Ruby

Funcional

Page 12: Introducing Ruby

Interpretada

Page 13: Introducing Ruby

Garbage Collector

Page 14: Introducing Ruby

Duck Typing

Page 15: Introducing Ruby

Módulos

Page 16: Introducing Ruby

Mixins

Page 17: Introducing Ruby

Hashes

Page 18: Introducing Ruby

Symbols

Page 19: Introducing Ruby

Interpolação de Strings

Page 20: Introducing Ruby

Default arguments

Page 21: Introducing Ruby

Classes abertas

Page 22: Introducing Ruby

mas ...

Page 23: Introducing Ruby

Ruby não escala!

Page 24: Introducing Ruby
Page 25: Introducing Ruby

Ruby não escala?

Page 26: Introducing Ruby

http://storecrowd.com/blog/top-50-ruby-on-rails-websites/

Page 27: Introducing Ruby

Escalabilidade é um problema

de arquitetura ...

Page 28: Introducing Ruby

... escolher a tecnologia

correta, também.

Page 29: Introducing Ruby

Performance

Page 30: Introducing Ruby
Page 31: Introducing Ruby

http://en.wikipedia.org/wiki/Gotcha_(programming)

Page 32: Introducing Ruby

Gems (rubygems.org)

Gerenciador de pacotes

gem install <package_id>

eg.: gem install rails

Page 33: Introducing Ruby

Travis CI (travis-ci.org)

Sistema distribuído de Integração Contínua.

Ruby, Clojure, Erlang, Node.js

Utiliza o Github.

Page 34: Introducing Ruby

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

Page 35: Introducing Ruby

Kata

Page 36: Introducing Ruby

rspec

Page 37: Introducing Ruby

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.

Page 38: Introducing Ruby
Page 39: Introducing Ruby

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.

Page 40: Introducing Ruby
Page 41: Introducing Ruby

Referências

http://www.ruby-lang.orghttp://www.ruby-lang.org/en/documentation/ruby-from-other-languages/http://en.wikipedia.org/wiki/Ruby_(programming_language)http://tryruby.orghttp://rubygems.org/http://git-scm.com/http://git-scm.com/documentationhttps://github.com/http://help.github.com/http://travis-ci.org/http://www.heroku.com/http://devcenter.heroku.com/articles/githttp://talk-2011-lyon.heroku.com/#1http://svenfuchs.com/2011/2/5/travis-a-distributed-build-server-tool-for-the-ruby-communityhttp://www.randomhacks.net/articles/2007/01/20/13-ways-of-looking-at-a-ruby-symbol