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
Name Your State State Your Thread (Nordic Ruby ...
Search
Andrés N. Robalino
June 08, 2013
Programming
0
33
Name Your State State Your Thread (Nordic Ruby 2013)
Andrés N. Robalino
June 08, 2013
Tweet
Share
More Decks by Andrés N. Robalino
See All by Andrés N. Robalino
La gallina que canta, pierde el huevo. (Regional Scrum Gathering México 2020)
andrasio
0
39
¿Por qué Rust?
andrasio
0
180
Deuda Técnica. Colabora y Entrega.
andrasio
0
86
Func Developeroa (VI Jornadas Tecnológicas e Industriales)
andrasio
0
77
Ruby Kryptography (RubyConf Argentina 2013)
andrasio
0
220
Of Developers and Testers and cooking together the pepino ruby recipe test (Agiles 2013)
andrasio
0
85
Comunica el código en el mismo vocabulario del dominio (Campus Party Quito 2013)
andrasio
0
69
I can't see the popups and buttons to submit on this black screen. (La Conf 2013)
andrasio
0
230
Other Decks in Programming
See All in Programming
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
170
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
290
API Platform for Laravel
dunglas
1
440
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
200
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
360
Some more adventure of Happy Eyeballs
coe401_
2
190
XStateでReactに秩序を与えたい
gizm000
0
730
メモリ最適化を究める!iOSアプリ開発における5つの重要なポイント
yhirakawa333
0
420
Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform
dwursteisen
0
120
Featured
See All Featured
Being A Developer After 40
akosma
84
590k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
158
15k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Rails Girls Zürich Keynote
gr2m
93
13k
Producing Creativity
orderedlist
PRO
340
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Adopting Sorbet at Scale
ufuk
73
8.9k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
Optimizing for Happiness
mojombo
375
69k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
Transcript
Andrés N. Robalino @androbtech 1 Saturday, December 14, 13
RoleModel.check :up Jorge Robalino @sd @jera1618 Sebastian Delmont 2 Saturday,
December 14, 13
Jorge Robalino @sd @jera1618 Sebastian Delmont Yo 3 Saturday, December
14, 13
Jorge Robalino @sd @jera1618 Sebastian Delmont Yo 4 Saturday, December
14, 13
THREADS BECAUSE WE WANT AND WILL LOVE USING THEM! BUT...
5 Saturday, December 14, 13
THERE ARE SURPRISES WE NEED TO BE AWARE OF 6
Saturday, December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ) 7 Saturday,
December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ; MANUAL SYNCHRONIZATION
) 8 Saturday, December 14, 13
‘(Race Condition Starvation Deadlock) (WHEN ‘[COORDINATION NEEDED] ; MANUAL SYNCHRONIZATION
EASY TO FORGET! ) 9 Saturday, December 14, 13
BUT THE PROBLEM IS ELSEWHERE... 10 Saturday, December 14, 13
BUT THE PROBLEM IS ELSEWHERE... SHARING MUTABILITY 11 Saturday, December
14, 13
IS MUTABILITY BAD? NOT NECESSARILY. ONLY WHEN WE MUTATE AND
SHARE 12 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE FOR PROGRAMS TO DO
USEFUL THINGS STATE MANIPULATION CANNOT BE AVOIDED. 13 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE STATE MANIPULATION DOESN’T NECESSARILY
MEAN STATE MUTATION. 14 Saturday, December 14, 13
HOW TO GET AROUND WITH STATE ‘(and I can hear
our functional programming friends telling us to think STATE TRANSFORMATION instead of state modification) 15 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 16 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 17 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 18 Saturday, December 14, 13
•Encapsulate mutability and share only immutable data. •Make everything immutable.
•Shared mutability. •Use libraries to watch over changes and warn of violations (if any) 19 Saturday, December 14, 13
Thank you. ANDRÉS N. ROBALINO @androbtech 20 Saturday, December 14,
13