Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
複雑さに立ち向かうための ソフトウェア開発入門
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
[email protected]
August 23, 2024
Programming
2.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
複雑さに立ち向かうための ソフトウェア開発入門
iOSDC Japan 2024 発表資料
[email protected]
August 23, 2024
Transcript
165 slides
2024/08/23 iOSDC J a p a n 2024 shiz ෳࡶ͞ʹཱ͔ͪ͏ͨΊͷ
ιϑτΣΞ։ൃೖ
໊લTIJ[ ͣ͠ J04ΤϯδχΞJOԬ TU[O ࣗݾհ 4XJGUݴޠΨΠυຊޠ൛ 4XJGU.JHSBUJPO(VJEFຊޠ൛ !TU[O
ຊͷ༰ •ΤϯδχΞͷλεΫ •ෳࡶ͞ͷਖ਼ମ •ৗʹજΉෳࡶ͞ͱͦͷରࡦ • ࣄྫ1: ใ͕ݟ͔ͭΒͳ͍ʂ ରࡦ: ૣΊͷҰखɺΈԽ •
ࣄྫ2: Δ͜ͱ͕ଟ͗͢Δʂ ରࡦ: ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ
͜ͷൃදͰ ͞·͟·ͳݚڀ݁Ռʹج͍ͮͨ ߟ͑ςΫχοΫͷҰ෦Λհ ҙ
2023/09/03 iOSDC J a p a n 2023 shiz ෳࡶ͞ʹཱ͔ͪ͏ͨΊͷ
ίʔυϦʔσΟϯάೖ 01 010 0101 0 01 010 0101 0 લճͷ͋Β͢͡
ΤϯδχΞͷλεΫ りんごげーむ ϓϩάϥϛϯά
りんごげーむ ΤϯδχΞͷλεΫ ϓϩάϥϛϯά γεςϜઃܭ όάͷσόοάɾमਖ਼ ཁ݅ఆٛ υΩϡϝϯτͷ࡞ɾཧ ϛʔςΟϯάͷࢀՃ UI/UXσβΠϯ ౷߹ςετ
ίʔυϨϏϡʔ ηΩϡϦςΟςετ όʔδϣϯཧ εέδϡʔϧཧ ݟੵΓ ίʔσΟϯάنͷࡦఆ ໘ 1on1 ৽͍ٕ͠ज़ͷशಘ ϦϦʔεͷܭըɾ࣮ࢪ ূ໌ॻͷཧ ϑΟʔνϟʔϑϥάͷཧ CI/CDύΠϓϥΠϯͷཧ σόΠεͷཧ ٕज़ελοΫͷબఆ ෛՙςετ ύϑΥʔϚϯενϡʔχϯά ΠϯγσϯτରԠ ϩάࢹ σʔλόοΫΞοϓ ϓϩϞʔγϣϯ४උ ࣾษڧձͷ։࠵ Test fl ight ϚχϡΞϧ࡞ ଞଟ γεςϜϝϯςφϯε ਐḿཧ DBઃܭ Ϟδϡʔϧઃܭ
ͦͯ͠ෳࡶ… ΤϯδχΞͷλεΫ
…ෳࡶʁ ෳࡶ͞ͷਖ਼ମ
ෳࡶ͞ͱʁ ෳࡶ͞ͷਖ਼ମ
ෳࡶ͞ͷਖ਼ମ •ೝϦιʔε •ϫʔΩϯάϝϞϦ •ೝෛՙ ෳࡶ͞ͷਖ਼ମ
ෳࡶ͞ͷਖ਼ମ •ೝϦιʔε •ϫʔΩϯάϝϞϦ •ೝෛՙ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
͕ใΛॲཧ͠ɺ λεΫΛߦ͢ΔͨΊʹ༻͢Δ ೳྗΤωϧΪʔ ೝϦιʔε ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
ೝϦιʔε ूதྗ ҙྗ ੍ࣗ৺ هԱྗ ॊೈੑ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε …
ूதྗ ҙྗ ੍ࣗ৺ هԱྗ ॊೈੑ … ͩΜͩΜݮ͍ͬͯ͘ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
ೝϦιʔε༗ݶͰ ݮ͍ͬͯ͘ ϙΠϯτ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
ෳࡶ͞ͷਖ਼ମ •ೝϦιʔε •ϫʔΩϯάϝϞϦ •ೝෛՙ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ
ೝϦιʔεͷҰͭ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ ೝϦιʔε ϫʔΩϯάϝϞϦ ूதྗ ҙྗ هԱྗ
ϫʔΩϯάϝϞϦ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ ใΛҰ࣌తʹอ࣋͠ ͦΕΛૢ࡞ͯ͠ॲཧΛߦ͏ೳྗ
ྫ: ಄ͷதͰϧʔϓॲཧΛ࣮ߦ͢Δ var t = 0 for i in 0...9
{ t = t * i } ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ i = 0 → t = 0 i = 1 → t = 2 … ϫʔΩϯάϝϞϦ
ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ Λղܾ ͢Δ ظܭըΛ ཱͯΔ ֶश͢Δ ΑΓߴͳػೳΛࢧ͑Δ ʴ
ଞͷػೳ ଞͷػೳ ଞͷػೳ ଞͷػೳ ଞͷػೳ ଞͷػೳ ʹ ʹ ʹ … ϫʔΩϯάϝϞϦ
Ͳ͏ͩʂ ϫʔΩϯάϝϞϦ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ
ଞͷػೳ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ ζϧζϧ… ϫʔΩϯάϝϞϦ Λղ ܾ͢Δ ظܭը ΛཱͯΔ
ֶश͢Δ … ͋ʔ͏ແཧ… ෛͷ࿈
ݶք͕͋Δ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ ӽ͑ΒΕͳ͍น ϫʔΩϯάϝϞϦ
༰ྔͷݶք ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք
༰ྔͷݶք ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք Ұʹ ̐±̍
༰ྔͷݶք ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք Ұʹ ̐±̍ ൈ͚Δ
༰ྔͷݶք ❌ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք Ұʹ ̐±̍ ൈ͚Δ
ೖΒͳ͍
༰ྔͷݶք ❌ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք Ұʹ ̐±̍ ൈ͚Δ
ೖΒͳ͍ ࠞ͟Δ
༰ྔͷݶք ❌ ෳࡶ͞ͷਖ਼ମ > ϫʔΩϯάϝϞϦ > ༰ྔͷݶք Ұʹ ̐±̍ ※
୯७ͳݸͰͳ͍ ൈ͚Δ ೖΒͳ͍ ࠞ͟Δ
ϫʔΩϯάϝϞϦॏཁ͚ͩͲ ༰ྔʹݶք͕͋Δ ϙΠϯτ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
ෳࡶ͞ͷਖ਼ମ •ೝϦιʔε •ϫʔΩϯάϝϞϦ •ೝෛՙ ෳࡶ͞ͷਖ਼ମ > ೝෛՙ
1ͭͷλεΫΛߦ͢ΔͨΊʹ ඞཁͳೝϦιʔε ೝෛՙ ෳࡶ͞ͷਖ਼ମ > ೝෛՙ
ෳࡶ͞ͷਖ਼ମ > ೝෛՙ ೝϦιʔε 40/100
ೝෛՙΛߴΊΔཁҼ •ใͷྔ(ྫ: ࣈΛ100ݸ֮͑Δ) •ใͷෳࡶ͞(ྫ: ΞϓϦͷઃܭΛߟ͑Δ) •৽͍͠ใܦݧ(ྫ: ϓϩάϥϛϯάݴޠΛֶश͢Δ) •ϚϧνλεΩϯά(ྫ: ձٞதʹίʔυϨϏϡʔΛ͢Δ) •…
ෳࡶ͞ͷਖ਼ମ > ೝෛՙ
ೝෛՙ͕ߴ͍ͱ ೝϦιʔεΛେ͖͘ফඅ͢Δ ϙΠϯτ ෳࡶ͞ͷਖ਼ମ > ೝϦιʔε
ෳࡶ͞ͷਖ਼ମ •ೝϦιʔε •ϫʔΩϯάϝϞϦ •ೝෛՙ ෳࡶ͞ͷਖ਼ମ
ϙΠϯτ·ͱΊ •ೝϦιʔε༗ݶͰݮ͍ͬͯ͘ •ϫʔΩϯάϝϞϦ༰ྔͷݶք͕͋Δ •ೝෛՙߴ →ೝϦιʔεফඅେ ෳࡶ͞ͷਖ਼ମ
ෳࡶ͞ͷਖ਼ମ or ೝෛՙ ೝϦιʔεͷྔ ϫʔΩϯάϝϞϦͷ ༰ྔͷݶք ≒ ෳࡶ͞
ෳࡶ͞ʹཱ͔ͪ͏ ͨΊʹʁ ෳࡶ͞ʹཱ͔ͪ͏
ೝϦιʔε͕Γͳ͍߹ ෳࡶ͞ʹཱ͔ͪ͏ > ೝϦιʔε͕Γͳ͍ ਭ ৯ࣄ ٳܜ Ϙʙ… ೝϦιʔε 100/100
ϫʔΩϯάϝϞϦͷ༰ྔͷݶքʹ͍ۙͮͨ߹ ෳࡶ͞ʹཱ͔ͪ͏ > ϫʔΩϯάϝϞϦͷ༰ྔͷݶքʹۙͮ͘ ϫʔΩϯ άϝϞϦ ͏ແཧ ·ͩ༨༟ͳΜ͚ͩͲͳ͋… ೝϦιʔε 80/100
❌
ϫʔΩϯάϝϞϦ૿ͤΔʁ ༗ࢎૉӡಈ ಡॻ ҉ه ेͳਭ ྉཧ ϚΠϯυϑϧωε ҉ࢉ ෳࡶ͞ʹཱ͔ͪ͏ >
ϫʔΩϯάϝϞϦͷ༰ྔͷݶքʹۙͮ͘ … ݈߁తͳ৯ࣄ ϫʔΩϯάϝϞϦ τϨΞϓϦ ϘʔυήʔϜ ݴޠֶश ָثԋ 3ϲ݄ 1 … ͪΐͬͱ૿͑Δ…͔ʁ
ೝෛՙ ෳࡶ͞ʹཱ͔ͪ͏ > ೝෛՙʹ
ෳࡶ͞ʹཱ͔ͪ͏ > ೝෛՙʹ •ΞʔΩςΫνϟΛߟ͑Δ •ϞδϡʔϧΫϥεͷɺґଘؔΛཧղ͢ΔɺΠϯλʔϑΣΠεΛఆ ٛ͢Δɺ… •όάΛमਖ਼͢Δ •Λཧղ͢ΔɺϩάΛղੳ͢ΔɺݪҼΛ୳͢ɺղܾࡦΛཱͯΔɺमਖ਼ ֬ೝΛ͢Δɺ… •υΩϡϝϯτΛॻ͘
•ॻ͘༰Λཧ͢ΔɺߏΛߟ͑Δɺଞͱͷ߹ੑΛ֬ೝ͢Δɺ… •৽͍ٕ͠ज़ͷֶश •…
ຊʹͦΜͳʹ ೝෛՙ͕ߴ͍ͷ͔ʁ ෳࡶ͞ʹཱ͔ͪ͏ > ೝෛՙʹ
ෳࡶ͞ʹཱ͔ͪ͏ > ೝෛՙʹ ඞཁͳෛՙ ༨ܭͳෛՙ ༨ܭͳෛՙ άάά…
ෳࡶ͞ʹཱ͔ͪ͏ > ೝෛՙʹ ඞཁͳෛՙ ༨ܭͳෛՙ ༨ ܭ ͳ ෛ ՙ
ϙϯοʂ
ೝෛՙΛԼ͛Δ ೝෛՙΛԼ͛Δ ςʔϚ
•ใ͕ݟ͔ͭΒͳ͍ʂ •Δ͜ͱ͕ଟ͗͢Δʂ ೝෛՙΛԼ͛Δ > ࣄྫհ
ใ͕ݟ͔ͭΒͳ͍ʂ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
৽͍͠ػೳΛ࣮͢Δͧ ͘Μ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
ଞνʔϜͷػೳ public func doSuperMagic ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
Ͳ͏͏ΜͩΖ͏ʁ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ public func doSuperMagic ଞνʔϜͷػೳ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ Wiki
·ͩΘ͔Μͳ͍ͳʔ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ SuperMagicػೳ ߋ৽: 2019/7/15
: Super Magicػೳͷʓʓʹ ͍࣭͍ͭͯͤͯͩ͘͞͞ ୲ ऀ ೝෛՙΛԼ͛Δ > ࣄྫհ
> ใ͕ݟ͔ͭΒͳ͍ʂ
୲ ऀ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ : Super
Magicػೳͷʓʓʹ ͍࣭͍ͭͯͤͯͩ͘͞͞ :͜ͷ݅Ͳ͏Ͱ͠ΐ͏͔ʁ
खۭ͍ͨ͠ɺΔ͔ʔ 🐛όάमਖ਼ ν έ τ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
͞Βʹޙ... Ұ୴อཹ ୲ ऀ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
:͓ख伱ͷࡍʹͰ🙏 ୲ऀ: ͓ͨͤ͠·ͨ͠ɻͦ ΕͰ͢Ͷ…
Α͠ɺΘ͔ͬͨͧʂ εοΩϦ public func doSuperMagic SuperMagicػೳ ߋ৽: 2019/7/15 ୲
ऀ શͳใ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
完 ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > Ͳ͜ʹ͕ ͋ͬͨͰ͠ΐ͏͔ʁ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > •࡞ۀ͕ਐ·ͳ͍ •ใΛ୳͢ख͕͔͔ؒΔ
༨ܭͳೝෛՙ͕ ͍ͬͺ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
•͚ܽͨใͷ༧ଌ •λεΫͷΓସ͑ •அ͞Εͨใͷ౷߹ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
⚠⚠
•͚ܽͨใͷ༧ଌ •λεΫͷΓସ͑ •அ͞Εͨใͷ౷߹ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
⚠⚠
ͨͿΜ͋Ε͔ͳʁ ͔Βग़ͨ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > >
͚ܽͨใͷ༧ଌ ʁ ʁ ʁ ʁ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > > ͚ܽͨใͷ༧ଌ ετϨε
ෆ҆ ͔Βग़ͨ ḉ ❌ Ḋ 🟢 ೝෛՙ
•͚ܽͨใͷ༧ଌ •λεΫͷΓସ͑ •அ͞Εͨใͷ౷߹ •… ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
> λεΫͷΓସ͑ ⚠⚠
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > > λεΫͷΓସ͑ खۭ͍ͨ͠ɺΔ͔ʔ
🐛όάमਖ਼ ν έ τ Ұ୴อཹ ୲ ऀ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > > λεΫͷΓସ͑ ৽͍͠λεΫ
͜Ε·Ͱͷ λεΫ ύνϯʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > > λεΫͷΓସ͑ ύνϯʂ
৽͍͠λεΫ ͜Ε·Ͱͷ λεΫ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > > λεΫͷΓସ͑ ύνϯʂ
͋ΕʁԿͯͨ͠Μ͚ͩͬʁ ৽͍͠λεΫ ͜Ε·Ͱͷ λεΫ ʁ
•͚ܽͨใͷ༧ଌ •λεΫͷΓସ͑ •அ͞Εͨใͷ౷߹ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
> அ͞Εͨใͷ౷߹ ⚠⚠
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ public func doSuperMagic SuperMagicػೳ ߋ৽:
2019/7/15 શͳใ ߹ମʂ ୲ ऀ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ ͜͜ͱ͜͜ Ͳ͏ܨ͕Δͷ͔ͳʁ அย அย அย
•͚ܽͨใΛ༧ଌ͢Δඞཁ͕͋Δ •λεΫͷΓସ͑ •அ͞ΕͨใΛ౷߹͢Δඞཁ͕͋Δ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ >
⚠⚠
์ஔ͞Ε͕ͪ ͕࣌ؒͳ͍ʂ ࣍ͩʂ࣍ʂ ݟ͔ͭͬͨ͠ ·͍͍͔͋ʂ ϙπϯ… ೝෛՙΛԼ͛Δ > ࣄྫհ
> ใ͕ݟ͔ͭΒͳ͍ʂ >
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > લಉ͜͡ͱ͕ ͋ͬͨΑ͏ͳ… 1ޙ…
ʁ લಉ͜͡ͱ͕ ͋ͬͨΑ͏ͳ… 2ޙ… ʁ લಉ͜͡ͱ͕ ͋ͬͨΑ͏ͳ… 3ޙ… ʁ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ Ͳ͏͢Δʁ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ ୲ ऀ
υΩϡϝϯτ ߋ৽ ν έ τ ίʔυίϝϯτ Ճ ν έ τ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ ୲ ऀ
υΩϡϝϯτ ߋ৽ ν έ τ ίʔυίϝϯτ Ճ ν έ τ STOP
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ લͷ࣮ ୲
ऀ ΜʔͳΜ͚ͩͬͨͬ…ʁ public func doSuperMagic SuperMagicػೳ ߋ৽: 2019/7/15
ରࡦ •ૣΊͷҰख •ΈԽ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ
ରࡦ •ૣΊͷҰख •ΈԽ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ
> ૣΊͷҰख
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख શͳใ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख ͜ͷใ͕͋ͬͨΒ
Θ͔Γ͍͔͢ʂ ͋ͷใ͕ Γͳͦ͞͏ͩͳ SuperMagicػೳ ߋ৽: 2019/7/15 public func doSuperMagic શͳใ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख ʁ
public func doSuperMagic // ʓʓΛ××͢Δ // ৄࡉ: https://wiki/supermagic ೝෛՙΛԼ͛Δ >
ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख public
func doSuperMagic // ʓʓΛ××͢Δ // ৄࡉ: https://wiki/supermagic
υΩϡϝϯτߋ৽ - ʓʓͷઆ໌ΛՃ - ʓʓͷྫΛՃ ν έ τ SuperMagicػೳ ߋ৽:
2019/7/15 νέοτϦϯΫ ϦϯΫ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ૣΊͷҰख
ࠓ 3ϲ݄ޙ ޙ 1ޙ ೝෛՙ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ
> ରࡦ > ૣΊͷҰख
ରࡦ •ૣΊͷҰख •ΈԽ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ
> ΈԽ
QVCMJDͳ"1*ʹ υΩϡϝϯτΛ͚ͭΔ ϧʔϧ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ
> ΈԽ
SwiftLint ΧελϜ εΫϦϓτ CI/CD Git Hooks Ϗϧυπʔϧ ϓϥάΠϯ build commit
push PR × τϦΨʔ ࣗಈνΣοΫ ϧʔϧ × … … ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ΈԽ
ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ > ΈԽ public
func doSuperMagic ίϝϯτγςω ໌ͳ࣮ͷهԱ ʂ
ରࡦ •ૣΊͷҰख •ΈԽ ೝෛՙΛԼ͛Δ > ࣄྫհ > ใ͕ݟ͔ͭΒͳ͍ʂ > ରࡦ
ใ͕ݟ͔ͭΒͳ͍ʂ ऴ
Δ͜ͱ͕ଟ͗͢Δʂ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ζϥϦ… 🔳Ϣʔβͷঢ়ଶ - ϩάΠϯ͍ͯ͠Δ -
ಛผձһ - ͜Ε·ͰҰׂҾΩϟϯϖʔϯʹࢀՃͨ͜͠ͱ͕ͳ͍ 🔳Δ͜ͱ - ࠷ޙʹΛߪೖͨ͠ - 1Ҏ্લ - ׂҾηʔϧͷҊΛτοϓϖʔδͷόφʔͱϓογϡ௨ Ͱߦ͏ɻΛߪೖͤͣʹϢʔβ͕όφʔΛ10ճݟͨΒඇද ࣔʹ͢Δ - 1ະຬΑΓલ - ظؒݶఆׂҾηʔϧͷҊΛτοϓϖʔδͰόφʔͱϓο γϡ௨Ͱߦ͏ɻϢʔβ͕࠷ॳʹόφʔΛݟ͔ͯΒΛߪ ೖͤͣʹ1िؒܦաͨ͠Βඇදࣔʹ͢Δ - ະຬ - ϨϏϡʔΛॻ͍ͨΒׂҾ݊ϓϨθϯτΩϟϯϖʔϯͷҊΛ τοϓϖʔδͷόφʔͱϓογϡ௨Ͱߦ͏ɻҙͷλΠϛ ϯάͰON/OFFΛΓସ͑ΒΕΔΑ͏ʹ͢Δ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ࣝ εΩϧ
TrueͳΒDΛͯ͠ɺ ͕࣍FalseͳΒAʹͬͯ… ͜ͷ߹ϥΠϒϥϦͷ͜ͷAPI ΛಡΜͰɺॻ͖ํ͑ʔͬͱ.. ऴΘΒͳͦ͞͏ɻͲ͏͠Α͏… ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
ࠓͷԿ৯Α͏ʁ (ݱ࣮ಀආ)
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ
ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ·ͨͬͪ·ͬͨʂ public func executo() public
func fecthResuorce() public func handleErorr() typoͩΒ͚…
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ใ
ใ ใ ใ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
Mission Complete ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ εοΩϦ εʙ... ࣝ εΩϧ ࣝ
εΩϧ ࣝ εΩϧ
完 ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
Ͳ͜ʹ͕ ͋ͬͨͰ͠ΐ͏͔ʁ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
⚠⚠ •ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ
>
•ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
⚠⚠
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > > ͭ·Βͳ͍ϛεΛ܁Γฦ͢ ݅ذ
৽͍͠API εςοϓ ίʔυͷॻ͖ํ public func executo() public func fecthResuorce() public func handleErorr() typoͩΒ͚… ҙྗ ूதྗ …
•ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
> ΕͬΆ͘ͳΔ ⚠⚠
ʁ ใ ใ ใ ใ ೝෛՙΛԼ͛Δ > ࣄྫհ
> Δ͜ͱ͕ଟ͗͢Δʂ > > ΕͬΆ͘ͳΔ ❌ ൈ͚Δ ೖΒͳ͍ ࠞ͟Δ ෮श͍ͨ͠ਓ ͜͜ΛΫϦοΫ ϫʔΩϯάϝϞϦͷ ༰ྔͷݶք ใ ใ ใ ใ ใ
•ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
> ർΕՌͯΔ ⚠⚠
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > > ർΕՌͯΔ ৗʹશྗ࣬
ೝϦιʔε 5/100
•ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
> ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ⚠⚠
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > > ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ظهԱ
ΑΓӬଓతʹใΛอଘͰ͖Δػೳ ಄ͷதͷ σʔλϕʔεతଘࡏ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > > ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ϫʔΩϯάϝϞϦ
ظهԱ ࣝ εΩϧ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > > ֶΜͩ͜ͱ͕ʹ͔ͳ͍
ࣝ ε Ω ϧ ϫʔΩϯάϝϞϦ ֶश: 20 ৸Δ: 0 ೳྗ ೝϦιʔε 5/100 ظهԱ อଘͰ͖ͣ…
•ͭ·Βͳ͍ϛεΛ܁Γฦ͢ •ΕͬΆ͘ͳΔ •ർΕՌͯΔ •ֶΜͩ͜ͱ͕ʹ͔ͳ͍ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
⚠⚠
Ͳ͏͢Δʁ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ͓ΊͰͱ͏ ͓ΊͰͱ͏ ͓ΊͰͱ͏
͓ΊͰͱ͏ ͋Γ͕ͱ͏
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ
·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ ͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ࣝ εΩϧ ࣝ εΩϧ ࣝ εΩϧ
ෳࡶ͞Λճආ͢Δ 3ͭͷ๏ଇ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ Θ͚Δ ͩ͢ ͨΑΔ
Θ͚Δ ͩ͢ ͨΑΔ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ
> Θ͚Δ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ ใ
ใ খ͚ ใ ใ ใ ใ ใ ใ ใ ใ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ AΛ࣮ߦ͢Δɻ
B͕ʓʓͷ߹ CΛ࣮ߦ͢Δɻ B͕ʓҎ֎ͷ߹ DΛ࣮ߦ͢Δɻ E͕ʓʓͷ߹ AʹΔɻ E͕ʓҎ֎ͷ߹ ॲཧΛऴྃ͢Δɻ
Eͷ݅ذ ν έ τ AΛ࣮ߦ͢Δɻ B͕ʓʓͷ߹ CΛ࣮ߦ͢Δɻ B͕ʓҎ֎ͷ߹ DΛ࣮ߦ͢Δɻ E͕ʓʓͷ߹
AʹΔɻ E͕ʓҎ֎ͷ߹ ॲཧΛऴྃ͢Δɻ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ Aͷॲཧ ν έ τ Bͷ݅ذ ν έ τ Cͷॲཧ ν έ τ Dͷॲཧ ν έ τ શମͷॲཧ ν έ τ ʹ + + + +
+αޮՌ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ
༰ྔͷݶք ❌ Ұʹ ̐±̍ ൈ͚Δ ೖΒͳ͍ ࠞ͟Δ ೝෛՙΛԼ͛Δ > ࣄྫհ
> Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ ෮श͍ͨ͠ਓͪ͜Β
νϟϯΫ ؔ࿈͢ΔใΛ·ͱΊͯ Ұͭͷҙຯͷ͋Δ୯Ґʹͨ͠ͷ ྫ: ΞϧϑΝϕοτCɺAɺT → CAT 09012345678 → ి൪߸
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ νϟϯΫ
νϟϯΫ νϟϯΫ νϟϯΫ ϫʔΩϯάϝϞϦ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ …
λεΫ λεΫ λεΫ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ νϟϯΫ
ใ ใ ใ ϫʔΩϯάϝϞϦ ͜͜Ͱ׆༂ʂ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ ϫʔΩϯάϝϞϦ
ͪΐ͏Ͳ͍͍ εϖʔε͕͋Δͧ νϟϯΫ ※࣮ࡍʮεΩʔϚʯͱݺΕΔߏͷҰ෦ ͱͯ͠อଘ͞Ε͍ͯΔ ظهԱ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ ϫʔΩϯάϝϞϦ
͍ νϟϯΫ ظهԱ ଞͷใ ଞͷใ ଞͷใ ଞͷใ ͍
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > Θ͚Δ ೝෛՙ
ظهԱ ϫʔΩϯάϝϞϦ ·ͩ·͍͚ͩΔ ඞཁͳͱ͖ʹ ใΛऔΓग़͢ ؔ࿈ใΛ·ͱΊ νϟϯΫͰอ࣋͢Δ νϟϯΫ νϟϯΫ νϟϯΫ νϟϯΫ
Θ͚Δ ͩ͢ ͨΑΔ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ
> ͩ͢
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͩ͢ ϝϞா
ϝϞΞϓϦ ϫʔΩϯάϝϞϦ νϟϯΫ νϟϯΫ νϟϯΫ νϟϯΫ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͩ͢ •fetchલ:
state = .loading error = nil •fetchޙ: state = .error error = InvalidParam ঢ়ଶભҠਤ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͩ͢ ϑϩʔνϟʔτ
AΛ࣮ߦ͢Δɻ B͕ʓʓͷ߹ CΛ࣮ߦ͢Δɻ B͕ʓҎ֎ͷ߹ DΛ࣮ߦ͢Δɻ E͕ʓʓͷ߹ AʹΔɻ E͕ʓҎ֎ͷ߹ ॲཧΛऴྃ͢Δɻ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͩ͢ ϑϩʔνϟʔτ
ଞͷใ ଞͷใ ଞͷใ ଞͷใ •fetchલ: state = .loading error = nil •fetchޙ: state = .error error = InvalidParam ঢ়ଶભҠਤ ϫʔΩϯάϝϞϦ ͪΐͬͱݟͤͯ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͩ͢ ύνϯʂ
͜Ε·Ͱͷ λεΫ ৽͍͠λεΫ ·Ͱ λ ·Ͱ λ
Θ͚Δ ͩ͢ ͨΑΔ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ
> ͨΑΔ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ ڠྗ
ೝෛՙ ೝෛՙ ೝ ෛՙ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ ❤
❗ 👍 σΟεΧογϣϯ ϖΞϓϩάϥϛϯά
ç√ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ
ίϛϡχςΟ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ AI
͔Βग़ͨḉͱ Ͳ͏͍͏ҙຯͰ͔͢ʁ ʮ͔Βग़ͨḉʢ͞ʣʯͱ͍͏දݱɺʮ͔Βग़ͨḊʢ͞ͼʣʯͷݴ༿༡ͼͷ ҰछͰ͢ɻಛʹ۩ମతͳҙຯ͕͋ΔΘ͚Ͱ͋Γ·ͤΜ͕ɺݴ༿༡ͼͱͯ͠ΘΕ Δ͜ͱ͕͋Γ·͢ɻͨͱ͑ɺྉཧڕʹؔ࿈͢ΔͷதͰɺஊͱͯ͠ʮ͔ Βग़ͨḉʯͱݴ͏͜ͱͰস͍Λ༠͏͜ͱ͕Ͱ͖·͢ɻ ※ChatCPTͷճΑΓҰ෦ൈਮ
ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ ಀ͛ͪΌμϝͩ
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ
͖ͬ͞ௐͨͷ Կ͚ͩͬʁ ʁ ·ͨͬͪ·ͬͨʂ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ >
ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ > ͨΑΔ Ͳ͏ͨ͠ʁ େৎʁ ͔͚ ❗ ❗
ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ > ෳࡶ͞Λճආ͢Δ3ͭͷ๏ଇ Θ͚Δ ͩ͢ ͨΑΔ
Δ͜ͱ͕ଟ͗͢Δʂ ೝෛՙΛԼ͛Δ > ࣄྫհ > Δ͜ͱ͕ଟ͗͢Δʂ ऴ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
·ͱΊ •ΤϯδχΞʹͨ͘͞ΜͷෳࡶͳλεΫ͕͋Δ •ෳࡶ͞: ೝෛՙ ≒ ೝϦιʔεྔ or ɹɹɹɹɹɹɹɹ ϫʔΩϯάϝϞϦͷ༰ྔͷݶք •ෳࡶ͞ʹཱ͔ͪ͏ͨΊʹೝෛՙΛԼ͛Δͷ͕ޮՌత
•ೝෛՙΛԼ͛ΔରࡦʹೝෛՙΛ͔͚ͳ͍Λ • ෳࡶ͗͢Δͱײͨ͡ΒʮΘ͚Δʯʮͩ͢ʯʮͨΑΔʯΛ࣮ફ ·ͱΊ
ײँʂ ͋Γ͕ͱ͏͍͟͝·ͨ͠ ϑΟʔυόοΫ͓͍ͪͯ͠·͢
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
370
Swift compiler 101 & How async function works
shiz
0
160
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
400
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
17k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
830
複雑さに立ち向かうためのコードリーディング入門
shiz
35
15k
Swift Observation
shiz
5
970
Swift Reflection
shiz
1
320
Swift Concurrency Next Step
shiz
7
9.5k
Other Decks in Programming
See All in Programming
SODA - FACT BOOK(EN)
sodainc
1
230
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
650
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
GraphQL の onError と Nullability のこれから
quramy
0
210
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
260
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
330
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
Performance Optimization With LLMs
xleitix
0
250
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
450
Making Projects Easy
brettharned
120
6.9k
Deep Space Network (abreviated)
tonyrice
0
410
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
470
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
940
Docker and Python
trallard
47
4.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k