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
130
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
160
The least you need to know about hashing in Swift
gregheo
0
100
Shared Mutable State
gregheo
0
360
Promises, Futures, and the Shape of Your Code
gregheo
0
55
Getting Under Swift’s Skin
gregheo
0
520
Sanitizing Threads for Fun & Profit
gregheo
0
110
Sanitizing All* The Things
gregheo
0
56
Thirteen Ways of Looking at a View Controller
gregheo
0
120
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
340
Other Decks in Technology
See All in Technology
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
390
ついに出た!OpenAIの最新モデル「o1」って何がすごいの?
minorun365
PRO
3
1.2k
『GRANBLUE FANTASY Relink』キャラクターの魅力を支えるリグ・シミュレーション制作事例
cygames
0
120
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
230
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
210
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
190
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
110
Mocking in Rust Applications
taiki45
2
410
Developer Experienceを向上させる基盤づくりの取り組み事例集
coconala_engineer
0
150
AI前提のサービス運用ってなんだろう?
ryuichi1208
1
430
自作Cコンパイラ 8時間の奮闘
soukouki
0
850
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Automating Front-end Workflow
addyosmani
1365
200k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Making Projects Easy
brettharned
113
5.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.8k
Become a Pro
speakerdeck
PRO
22
4.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
How to Think Like a Performance Engineer
csswizardry
16
960
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
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! ☺