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
1
460
addObserver: から考える API インタフェース
NSNotificationCenter の addObserver が iOS9 から removeObserver しなくて良くなったので API の対称性から外れてしまったお話です
KAMEDAkyosuke
December 18, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
240
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
220
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
650
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
1
300
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
490
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
210
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
280
初めてDefinitelyTypedにPRを出した話
syumai
0
240
Outline View in SwiftUI
1024jp
1
300
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
640
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.2k
Click-free releases & the making of a CLI app
oheyadam
2
110
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Navigating Team Friction
lara
183
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
Facilitating Awesome Meetings
lara
50
6.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
400
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
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 ͦͷ্ͰࣗͷϓϩδΣΫτʹͲ͏औΓΉ͔ܾΊ·͠ΐ ͏