Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
58
CW 35: Node.JS - Guilherme Quental
hackthursday
1
48
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
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
130
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.1k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
370
TestingOsaka6_Ozono
o3
0
170
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
530
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
500
これならできる!個人開発のすゝめ
tinykitten
PRO
0
120
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
260
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
400
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
60
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Ruling the World: When Life Gets Gamed
codingconduct
0
92
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
400
The SEO Collaboration Effect
kristinabergwall1
0
300
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
110
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
16
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Utilizing Notion as your number one productivity tool
mfonobong
2
180
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