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
Shared, Exclusive, Mutable, Immutable
Search
Greg Heo
May 10, 2018
Technology
0
150
Shared, Exclusive, Mutable, Immutable
NSBudapest, May 2018
Greg Heo
May 10, 2018
Tweet
Share
More Decks by Greg Heo
See All by Greg Heo
Concurrency From the Ground Up
gregheo
0
220
The least you need to know about hashing in Swift
gregheo
0
160
Shared Mutable State
gregheo
0
500
Promises, Futures, and the Shape of Your Code
gregheo
0
66
Getting Under Swift’s Skin
gregheo
0
540
Sanitizing Threads for Fun & Profit
gregheo
0
140
Sanitizing All* The Things
gregheo
0
62
Thirteen Ways of Looking at a View Controller
gregheo
0
130
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
410
Other Decks in Technology
See All in Technology
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
100
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
2
420
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.1k
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
370
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
6
460
ググるより、AIに聞こう - Don’t Google it, ask AI
oikon48
0
900
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
710
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
130
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
370
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
53
17k
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
3
900
LINEヤフー バックエンド組織・体制の紹介
lycorptech_jp
PRO
0
510
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Typedesign – Prime Four
hannesfritz
42
2.9k
Rails Girls Zürich Keynote
gr2m
95
14k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Writing Fast Ruby
sferik
630
62k
BBQ
matthewcrist
89
9.9k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Designing for humans not robots
tammielis
254
26k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
We Have a Design System, Now What?
morganepeng
54
7.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8k
Transcript
@gregheo ! NSBudapest, May 2018 Shared Exclusive Mutable Immutable
@gregheo ! NSBudapest, May 2018 Data "
@gregheo ! NSBudapest, May 2018 Code Example #
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable private let
Screen size / scale Mutable private var private queue $
@gregheo ! NSBudapest, May 2018 Fewer entry points
@gregheo ! NSBudapest, May 2018 Private queues
@gregheo ! NSBudapest, May 2018 Queue Callback
@gregheo ! NSBudapest, May 2018 // call from anywhere!
public func something() { privateQueue.sync { … } }
@gregheo ! NSBudapest, May 2018 // always call on
the main queue! public func something()
@gregheo ! NSBudapest, May 2018 // always call on
the main queue! public func something() { dispatchPrecondition(condition: .onQueue(.main)) }
@gregheo ! NSBudapest, May 2018 Make it difficult to get
wrong
@gregheo ! NSBudapest, May 2018 köszönöm! ☺