Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CW 31: Ruby - Filipe Giusti
Search
hackthursday
August 02, 2012
Programming
1
42
CW 31: Ruby - Filipe Giusti
hackthursday
August 02, 2012
Tweet
Share
More Decks by hackthursday
See All by hackthursday
CW 36: Joomla! for dummies - Jerônimo Medina Madruga
hackthursday
1
59
CW 35: Node.JS - Guilherme Quental
hackthursday
1
49
CW 34: Bus1.me - Rafael Silva
hackthursday
2
56
CW 33: Pathfinding - Vinicius Maciel
hackthursday
1
36
CW 26: Computação Gráfica - Lucas Texeira
hackthursday
1
51
CW 25: Object Calisthenics - Vinícius Krolow
hackthursday
1
100
Other Decks in Programming
See All in Programming
CSC307 Lecture 09
javiergs
PRO
1
840
AtCoder Conference 2025
shindannin
0
1.1k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
710
Patterns of Patterns
denyspoltorak
0
1.4k
SourceGeneratorのススメ
htkym
0
200
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.2k
Implementation Patterns
denyspoltorak
0
290
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
Fragmented Architectures
denyspoltorak
0
160
高速開発のためのコード整理術
sutetotanuki
1
400
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
93
We Are The Robots
honzajavorek
0
160
Docker and Python
trallard
47
3.7k
The Language of Interfaces
destraynor
162
26k
Prompt Engineering for Job Search
mfonobong
0
160
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
WCS-LA-2024
lcolladotor
0
450
Transcript
Ruby Elegância e expressividade
Ruby • Tipo de linguagem • Interpretadores • Sintaxe •
Objetos & Mensagens • Features • Tools • Rack • Rails • Sinatra
Ruby - Interpretadores • MRI - Matz's Ruby Interpreter •
YARV - Yet Another Ruby VirtualMachine • Jruby - JVM • Rubinius – Ruby em Ruby • IronRuby - .NET • MacRuby – Objective C
Ruby – Tipo de linguagem • Tipagem Dinâmica • OO
• Fortemente tipada • Garbage collection
Ruby - Sintaxe • Constante • ::EscopoGlobal • variavel_local •
@variavel_de_objeto • @@variavel_de_class • 2 • 2.3 • “string #{interpolada}”
Ruby - Sintaxe • :symbol • [1, 2] • {
:ola => 'voce' } ou { ola: 'voce' } • raise HelpError unless world.is_safe? • drink while ! beer.nil? • for nerd in @dj_house; nerd.eat(meat); end • case; when; default; end • 3.times { puts 'Hurra!' }
Ruby - Sintaxe • 3.times do; puts 'Hurra!'; end •
1..10 • Imprimir ímpares de 1 a 20 em ordem inversa
Ruby – Objetos e Mensagens • (Quase) Tudo são objetos.
• (Quase) Todas as interações são feitas com troca de mensagens • 1 + 1 • 1.+(1) • 1.send('+', 1)
Ruby – Objetos e Mensagens
Ruby - features • Suporte a introspecção (respond_to) • Redefinição
de métodos • Classes abertas • method_missing • Sem overload de métodos • Herança múltipla com mixins • const_missing
Ruby - Tools • Gems • bundle • Webservers •
Thin • Passenger • Unicorn • JVM • RVM e rbenv
Ruby - Rack • Ruby Webserver Interface • API minimalista
para os frameworks web • config.ru
Ruby - Rails • MVC • Routing • Middleware •
Migrations • Helpers
Ruby - Sinatra • DSL para aplicações web • Views
• haml :index • Helpers • enable :sessions