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
48
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CW 31: Ruby - Filipe Giusti
hackthursday
August 02, 2012
More Decks by hackthursday
See All by hackthursday
CW 36: Joomla! for dummies - Jerônimo Medina Madruga
hackthursday
1
67
CW 35: Node.JS - Guilherme Quental
hackthursday
1
52
CW 34: Bus1.me - Rafael Silva
hackthursday
2
62
CW 33: Pathfinding - Vinicius Maciel
hackthursday
1
42
CW 26: Computação Gráfica - Lucas Texeira
hackthursday
1
59
CW 25: Object Calisthenics - Vinícius Krolow
hackthursday
1
110
Other Decks in Programming
See All in Programming
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
230
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
270
My Marp Sample
sinoue0108
0
130
リアルな遅延を測る仕様
kota_yata
1
130
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
260
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
550
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
450
typoなんかねぇよ
raspython3
0
620
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.9k
業務時間外もAIに働いてもらう話
colorful12
2
9.1k
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
400
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Speed Design
sergeychernyshev
33
2k
Embracing the Ebb and Flow
colly
88
5.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
750
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
GraphQLとの向き合い方2022年版
quramy
50
15k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
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