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
implementation_for_promise_using_nested_generics
Search
hirose yudai
April 28, 2017
1
920
implementation_for_promise_using_nested_generics
Swift愛好会
#18の登壇内容です
Promiseを実装して見たらこういう風に実装できるね
という流れを説明した資料になります
hirose yudai
April 28, 2017
Tweet
Share
More Decks by hirose yudai
See All by hirose yudai
Write swift macros
bannzai
1
270
Figma => SwiftUI
bannzai
0
180
爆速でクソリプを送る技術
bannzai
1
55
Tsukimi
bannzai
0
68
iOSDC_Reject_Conference_Day1
bannzai
0
240
iOSDC-2019.pdf
bannzai
0
1.3k
ios-de-kanpai
bannzai
0
64
waiwai-swiftc.pdf
bannzai
0
150
iosdcrc-conv.pdf
bannzai
4
610
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Why Our Code Smells
bkeepers
PRO
336
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
GitHub's CSS Performance
jonrohan
1031
460k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Transcript
4XJGUѪձ 4XJGU OFTUFEHFOFSJDTͰ1SPNJTFΛ࣮ͯ͠ΈΑ͏
"HFOEB ࣗݾհ લஔ͖ ޤ৯λΠϜ ຊฤ 1SPNJTF࣮͍͔ͯ͘͠ ͓·͚
ࣗݾհ ໊લኍ༤େ ৬छJ04&OHJOFFS Α͘ษڧձͰࣗ࡞044ʹ͍ͭͯ ͯ͠·͢ɻ໊͍ͭͨ͋ͩ4UBSޤ৯ Ͱ͢ɻ4UBS͍ͩ͘͞ɻ HJUIVCIUUQHJUIVCDPNCBOO[BJ
ޤ৯λΠϜ IUUQTHJUIVCDPNCBOO[BJ,VSJ ,VSJ͍ͬͯ͏ϥΠϒϥϦͷWFSTJPO Λެ։ͨ͠ͷͰҰॠ͚ͩσϞ ͦͬͱελʔ͍ͩ͘͞
ͦΕͰ͓·͚ͱͯ͠
/FTUFEHFOFSJDTΛ༻ͯ͠
1SPNJTF࣮͍͖͠·͠ΐ͏
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
/FTUFEHFOFSJDTͱ 4XJGU͔Βͷػೳ OFTUͨ͠UZQF DMBTT TUSVDU FOVN ʹ (FOFSJDTΛOFTUͯ͠ద༻Ͱ͖Δ ৄࡉͪ͜ΒIUUQT XXXIBDLJOHXJUITXJGUDPNTXJGU
None
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
1SPNJTFͱʁ ฒߦॲཧɾඇಉظॲཧΛΑΓ؆୯ʹ͔͚Δ σβΠϯύλʔϯͷҰͭͰ͢ Ұͭ՝Λఏࣔͯͦ͠ΕΛྫʹͯ͠આ໌͠·͢ ৄࡉA1SPNJTF'VUVSFAͰάά͍ͬͯͩ͘͞
ղܾ͍ͨ͠՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ
None
None
None
None
None
None
None
None
1SPNJTFͰ࣮ݱ͍ͨ͜͠ͱ ՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ ˠϝιουνΣΠϯͰ͔͋ͨಉظతʹ࣮ߦ ͍ͯ͠ΔΑ͏ʹॻ͘͜ͱͰՄಡੑΛ͋͛Δ
1SPNJTFͰ࣮ݱ͍ͨ͜͠ͱ ՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ ˠϝιουνΣΠϯͰ͔͋ͨಉظతʹ࣮ߦ ͍ͯ͠ΔΑ͏ʹॻ͘͜ͱͰՄಡੑΛ͋͛Δ
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
ҙࣄ߲ 1SPNJTF -JLF ͷϥΠϒϥϦ৭ʑͱ͋Γ· ͢ɻ ࠓ͔Β࣮͢Δͷ؆қతͰػೳ͕গͳ͍ ͷΛ࣮͍ͯ͘͠ͷͰɺ͜ͷஊٛͰհ͢Δ ͷ1SPNJTFͷҰ෦ͷಛͱ͍͏͜ͱΛ಄ʹ ஔ͍͓͍͍ͯͯͩ͘͞
None
·ͣҰͭͷྲྀΕ͔Β
ϝιουνΣΠϯΛ࣮ݱ͠Α͏
͜͏͢ΕͰ͖Δ
1SPNJTFͱ͍͏֓೦ΛՃͯ͠
$MPTVSFΛҾʹͱͬͯ 1SPNJTFΛฦͤ
ͱΓ͋͑ͣܨ͍Ͱ͔͚ͨ
ͱΓ͋͑ͣܨ͍Ͱ͔͚ͨ
$MPTVSFʹҾ͕͋Δ
(FOFSJDTʹΑΓ ҾͷܕΛܾΊΔ
࣮ࡍʹΛग़ྗ͍ͨ͠
ϓϩύςΟͰอ࣋ͯ͠
Λͯ͠$MPTVSFΛ࣮ߦ
None
͔͠͠ɺ͜ͷ··ͩͱ Τϥʔͷ࣮࣌ߦͰ͖ͯ͠·͏
ޭͷ࣌ݺΔ
ͳΜ͔ࣄނΓͦ͏
ͲͪΒ͔͚࣮ͩߦ͍ͨ͠
Կ࣮ߦ͞Εͨ͘ͳ͍
None
ͱΓ͋͑ͣࠓ͕ Ͳ͏͍͏ঢ়ଶ͔อ͍࣋ͨ͠
GN
͜ΕͰ͍͚ͦ͏
͏Ұݸ$MPTVSFͰแΜͰ͋͛Δ K K K
SFTPMWFEͷ͚࣮࣌ͩߦ K K K
ͲͪΒ͔͕࣮ߦ͞ΕͨΒྻΛফ͢ K
Ұ࣮ߦͨ͠ޙʹશͯফͯ͠͠·͏ K
࣮ߦ
Α͠
͜ΕͰ͍͍Μ͚ͩͲ
ϦϑΝΫλϦϯά͠Α͏
͕͍͚ͯ͜͜ͳ͍ K
ͦ͜Ͱ
Α͏͓͘લͷग़൪ͩ
ʊਓਓਓਓਓਓਓਓਓʊ ʼɹ/FTUFE(FOFSJDTɹʻ ʉ:?:?:?:?:?:?:?:ʉ
ͷ(FOFSJDTॻ͘
͖ͭ&OVNʹอ࣋
ແཧͳ͘औΓग़ͤΔ
(FOFSJD$BDIF YED DZDMJDNFUBEBUBEFQFOEFODZ EFUFDUFE BCPSUJOH
͋ͱ॥ࢀর͍ͯ͠ΔͷͰXFBLʹ
࣮ߦ
None
ࠓճ͜͜·Ͱ ͪΐͬͱࢿྉ࡞Δ࣌ؒஊٛͷ࣌ؒΓͳ͔ͬͨͷͰࠓճ͜͜ ͰऴΘΒ͍͖ͤͯͨͩ·͢ ΩϞͷ෦આ໌ͨ͠ͷͰޙ AUIFOAϝιουͱ࣮ࡍʹ63-4FTTJPOΛͬͯͲ͏ॻ͚Δ͔Λݴ͑ ͨΒΑ͔ͬͨͳ͋ͱࢥ͍ͬͯ·͢ આ໌͢Δ༧ఆͩͬͨίʔυ(JU)VCʹ্͍͛ͯΔͷͰΑ͔ͬͨΒͦ ͪΒΛݟ͍ͯͩ͘͞ IUUQTHJUIVCDPNCBOO[BJ1SPNJTF%FNP
·ͱΊ OFTUFEHFOFSJDTͷ͍ํͷҰྫͱͯ͠ൃද͠·ͨ͠ɻ ·ͨɺ1SPNJTFͷ෦తͳಈ࡞Λগ͠Ͱ૾͢͠ ͘ͳͬͨͷͰͳ͍Ͱ͠ΐ͏͔ ͱʹ͔͘ͷϦϙδτϦશ෦ʹશͯ4UBS͍ͩ͘͞ IUUQHJUIVCDPNCBOO[BJ
͓͠·͍