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
addObserver: から考える API インタフェース
Search
KAMEDAkyosuke
December 18, 2017
Programming
480
1
Share
addObserver: から考える API インタフェース
NSNotificationCenter の addObserver が iOS9 から removeObserver しなくて良くなったので API の対称性から外れてしまったお話です
KAMEDAkyosuke
December 18, 2017
Other Decks in Programming
See All in Programming
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
150
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
150
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
340
第3木曜LT会 #28
tinykitten
PRO
0
110
Programming with a DJ Controller — not vibe coding
m_seki
3
140
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
1.9k
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
220
Swift Concurrency Type System
inamiy
1
540
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
570
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
ハーネスエンジニアリングとは?
kinopeee
12
6k
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
310
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Navigating Weather and Climate Data
rabernat
0
170
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Building AI with AI
inesmontani
PRO
1
910
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
300
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
280
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
Transcript
BEE0CTFSWFS͔Βߟ͑ Δ"1*ΠϯλϑΣʔε ,":"$ٕज़෦ ُాژհ
ࣗݾհ w ,".&%"LZPTVLF w UXJUUFS!(FNNCV w UXJUDI!,".&%"LZPTVLF w J04"OESPJE&OHJOFFS w
ࠇຐज़ಘҙ
J04͔Β/4/PUJpDBUJPO$FOUFSͷ SFNPWF0CTFSWFS͠ͳͯ͘ྑ͘ͳͬ ͨͬͯฉ͍ͨ͜ͱ͋Γ·͢ΑͶʁ BOESPJEͷํ#SPBEDBTUͷSFHJTUFS3FDFJWFSͨ͠ޙʹVOSFHJTUFS3FDFJWFS͠ͳͯ͘ྑ ͘ͳͬͨͱࢥ͍͚ͬͯͨͩΕେৎͰ͢ɻ
υΩϡϝϯτ BEE0CTFSWFSTFMFDUPSOBNFPCKFDU %JTDVTTJPO *GZPVSBQQUBSHFUTJ04BOEMBUFSPSNBD04 BOEMBUFS ZPVEPOUOFFEUPVOSFHJTUFSBOPCTFSWFSJO JUTEFBMMPDNFUIPE SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOOTOPUJpDBUJPODFOUFS BEEPCTFSWFS MBOHVBHFPCKD
ϦϦʔεϊʔτ /4/PUJpDBUJPO$FOUFS *O049BOEJ04/4/PUJpDBUJPO$FOUFSBOE /4%JTUSJCVUFE/PUJpDBUJPO$FOUFSXJMMOPMPOHFSTFOE OPUJpDBUJPOTUPSFHJTUFSFEPCTFSWFSTUIBUNBZCF EFBMMPDBUFE CMBICMBICMBI SFGTIUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUSFMFBTFOPUFT'PVOEBUJPO3/ 'PVOEBUJPO0MEFS/PUFTJOEFYIUNM9@/PUFT
ϦϦʔεϊʔτ CMBICMBICMBI #MPDLCBTFEPCTFSWFSTWJBUIF</4/PUJpDBUJPO$FOUFS BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDL> NFUIPETUJMMOFFEUPCFVOSFHJTUFSFEXIFOOPMPOHFS JOVTFTJODFUIFTZTUFNTUJMMIPMETBTUSPOHSFGFSFODF UPUIFTFPCTFSWFST SFGTIUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUSFMFBTFOPUFT'PVOEBUJPO3/ 'PVOEBUJPO0MEFS/PUFTJOEFYIUNM9@/PUFT
͋Εʁ
#MPDLCBTFEPCTFSWFSTWJBUIF</4/PUJpDBUJPO$FOUFS BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDL> NFUIPETUJMMOFFEUPCFVOSFHJTUFSFEXIFOOPMPOHFS JOVTFTJODFUIFTZTUFNTUJMMIPMETBTUSPOHSFGFSFODF UPUIFTFPCTFSWFST
ͭ·Γ
J04͔Β/4/PUJpDBUJPO$FOUFS ͷSFNPWF0CTFSWFS͠ͳͯ͘ ྑ͘ͳͬͨ
Ͱͳ͘
J04͔Β/4/PUJpDBUJPO$FOUFSͷ BEE0CTFSWFSSFNPWF0CTFSWFS ͠ͳͯ͘ྑ͘ͳͬͨ
͜ΕΛ;·͑ͯ
ͦͦSFNPWF0CTFSWFS ͠ͳͯ͘Α͍ͬͯྑ͍͜ͱʁ
ϓϩάϥϛϯάͷ͓࡞๏ w ϝϞϦΛ֬อͨ͠Β w ϑΝΠϧΛ։͍ͨΒ w τϥϯβΫγϣϯΛ։࢝ͨ͠Β w 5$1ιέοτΛ։͍ͨΒ
ϓϩάϥϛϯάͷ͓࡞๏ w ϝϞϦΛ֬อͨ͠Βղ์͠ͳ͚ΕͳΒͳ͍ w ϑΝΠϧΛ։͍ͨΒด͡ͳ͚ΕͳΒͳ͍ w τϥϯβΫγϣϯΛ։࢝ͨ͠Βऴྃ͠ͳ͚ΕͳΒͳ͍ w 5$1ιέοτΛ։͍ͨΒด͡ͳ͚ΕͳΒͳ͍
BEESFNPWF0CTFSWFS Ͳ͏Ͱ͠ΐ͏͔ʁ
None
͍͔ͭ͘ͷΫϥεΛ֬ ೝͯ͠Έ·͠ΐ͏
8,)551$PPLJF4UPSF %JTDVTTJPO 5IFDPPLJFTUPSFEPFTOPUNBJOUBJOBTUSPOH SFGFSFODFUPUIFPCTFSWFS:PVBSFSFTQPOTJCMFGPS SFNPWJOHUIFPCTFSWFSCFGPSFJUCFDPNFTJOWBMJE SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOXFCLJUXLIUUQDPPLJFTUPSF BEEPCTFSWFS
"71MBZFS BEE1FSJPEJD5JNF0CTFSWFS'PS*OUFSWBMRVFVFVTJOH#MPDL %JTDVTTJPO :PVNVTUNBJOUBJOBTUSPOHSFGFSFODFUIFSFUVSOFE WBMVFBTMPOHBTZPVXBOUUIFUJNFPCTFSWFSUPCF JOWPLFECZUIFQMBZFS&BDIJOWPDBUJPOPGUIJTNFUIPE TIPVMECFQBJSFEXJUIBDPSSFTQPOEJOHDBMMUP SFNPWF5JNF0CTFSWFS3FMFBTJOHUIFPCTFSWFSPCKFDU XJUIPVUJOWPLJOHSFNPWF5JNF0CTFSWFSXJMMSFTVMUJO VOEFpOFECFIBWJPS
SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBWGPVOEBUJPOBWQMBZFS BEEQFSJPEJDUJNFPCTFSWFSGPSJOUFSW MBOHVBHFPCKD
ϓϩάϥϛϯάͷ͓࡞๏ w SFHJTUFSͨ͠ΒVOSFHJTUFS͠ͳ͚ΕͳΒͳ͍
ͭ·Γ /4/PUJpDBUJPO$FOUFSͷBEE0CTFSWFS SFNPWF0CTFSWFS͠ͳͯ͘ྑ͘ͳ͚ͬͨͲɺϓϩάϥϛ ϯάͷ͓࡞๏ͱͯ͠ྑ͘ͳ͍ʂʂ
/4/PUJpDBUJPO$FOUFS ͦΕҎ֎ͷΫϥε SFNPWF0CTFSWFS͠ͳ͍ ͳ͠ ͋Γ SFNPWF0CTFSWFS͢Δ ͳ͠ ͳ͠ දʹ͢Δͱ
ࢲͨͪͷνʔϜͰ w SFHJTUFSVOSFHJTUFS BEESFNPWF0CTFSWFS ͓࡞๏ w /4/PUJpDBUJPO$FOUFS͚ͩྫ֎ͷঢ়ଶͰΉ͠ΖଞͷΫ ϥεͰؒҧ͑ΔڪΕ͕͋Δ w ͳͷͰSFNPWF0CTFSWFSΛৗʹॻ͘ํʹͱ͍͏͔
BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDLΛ ͏͜ͱʹ
·ͱΊ w "1*ͷΠϯλϑΣʔεͦΕ͚ࣗͩͰͳ͘ଞͷΫϥε ϑϨʔϜϫʔΫ͔ΒܾΊΔ͖ w ͳͷͰɺ͋Δ"1*ͷ༻ํ๏͕มΘ͔ͬͨΒͱ͍ͬͯଞ ͷΫϥεͱͷؔ࿈ʹҙ͖͢ w ͦͷ্ͰࣗͷϓϩδΣΫτʹͲ͏औΓΉ͔ܾΊ·͠ΐ ͏