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
いま中途半端なSwift 6対応をするより、Default ActorやApproachabl...
Search
yimajo
October 02, 2025
Programming
2
120
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
https://sansan.connpass.com/event/362403/
yimajo
October 02, 2025
Tweet
Share
More Decks by yimajo
See All by yimajo
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
290
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
260
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.3k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.3k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1k
不安定なテストは200種類あんねん
yimajo
3
1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
1.9k
TCAでViewStoreにKeyPath DynamicMemberLookupが使われてる件
yimajo
0
1.2k
TCAでのClient/Managerの 利用パターンでは副作用のActionやErrorを分離できる
yimajo
0
890
Other Decks in Programming
See All in Programming
CSC305 Lecture 01
javiergs
PRO
1
380
dynamic!
moro
9
4k
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.2k
生成AIを活用した初学者向けPython講座
soogie
1
110
CSC509 Lecture 01
javiergs
PRO
1
430
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.2k
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
150
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
3
900
プログラマのための作曲入門
cheebow
0
490
Reactをクライアントで使わない
yusukebe
7
6.2k
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
400
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
420
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Embracing the Ebb and Flow
colly
88
4.8k
Become a Pro
speakerdeck
PRO
29
5.5k
KATA
mclloyd
32
14k
For a Future-Friendly Web
brad_frost
180
9.9k
Fireside Chat
paigeccino
40
3.7k
How to Ace a Technical Interview
jacobian
280
23k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Transcript
גࣜձࣾΩϡϦΦγςΟιϑτΣΞ!ZJNBKP ͍·த్ͳSwift 6ରԠΛ͢ΔΑΓɺ Default ActorApproachable ConcurrencyΛ ༗ޮʹ͔ͯ͠ΒͰ͍͍Μ͡Όͳ͍ʁ J04ΞϓϦ։ൃΛΞυόΠε͢ΔࣄͰ͖·͢Αɻ 5XJUUFS%.͔ IUUQTDVSJPTJUZDPKQ
ͷ͍߹Θ͔ͤΒ࿈བྷ͍ͩ͘͞
ʮ4XJGUରԠྃ͠·ͨ͠ʁʯ ͱ͍͏Ξϯέʔτ͕͋Γ·ͨ͠Ͷ J04%$ͷΧϯϑΝϨϯεϒʔεͰ
ݱࡏͰͦͷ4XJGUରԠͷྃͬͯ ۩ମతʹԿΛҙຯͯ͠ΔΜͰ͠ΐ͏͔ʁ ͋ͷͰΞϯέʔτͯ͘͠Εͨํʹ ʮϞϠϞϠ͢ΔͶʙͦͷ࣭ɺͳͥͳΒʙʯ ͱͯ͠Γ্͕ͬͨ༰Λൃදࢿྉʹͯ͠Έ·ͨ͠ʂ
લఏͷ֬ೝ
օ͞·͢Ͱʹ4XJGUΛ͍ͬͯΔ w ݄ͷ9DPEFͷ࣌Ͱ4XJGUίϯύΠϥͰ͢ w ͷ9DPEFͷ࣌Ͱ4XJGUίϯύΠϥͰ͢ w ͨͱ͑4XJGUͷਆػೳ4&έπΧϯϚͱͬ͘ʹ͑·͢ w ͷ9DPEFͰ4XJGU͕͑·͢
օ͞·4XJGU-BOHVBHF.PEFWͩͱࢥ͏ w 4XJGU-BOHVBHF.PEF w WͱWΛΓସ͑ΒΕΔ w Wʹ͢Δͱ4XJGUϝδϟʔόʔδϣϯΞοϓͷഁյతมߋΛΖʹड͚Δ w ࢀߟ w
IUUQT[FOOEFWZJNBKPBSUJDMFTDGCCD
4XJGU 4XJGU 9DPEF 9DPEF 4XJGU-BOHVBHF.PEFW 4XJGU-BOHVBHF.PEFW ྫ͑4XJGU͔Βͷ4&έπΧϯϚػೳ ഁյతมߋʂ ޓੑॏࢹ ͑Δ
બ
ͭ·Γ ͍·4XJGUରԠʜͱ͍͏͚Ͳ ͍͍ͨͯօ͞·4XJGUίϯύΠϥΛ͍ͬͯΔͷͰɺ 4XJGU-BOHVBHF.PEFWରԠͷ͜ͱΛݴ͍ͬͯΔʁ
ͬͯ͜ͱͰ ࣌ʹΑͬͯ4XJGUʢ-BOHVBHF.PEFʣରԠ ඍົʹҧ͍ͬͯͯɺ࠷৽ͷ88%$ͰԿ͕͔͋ͬͨΛৼΓฦΓ·͢
w 88%$ 9DPEFd w %FGBVMU"DUPS*TPMBUJPOࢦఆͰ͖Δ͔ΒɺϗετλʔήοτͰ.BJO"DUPS ͱ͔໌ࣔ͠ͳ͍Ͱ͍͍Α w "QQSPBDIBCMF$PODVSSFODZͰ͓͢͢Ίͷ$PODVSSFODZؔ࿈ͷ 6QDPNJOH'FBUVSF'MBHΛ·ͱΊͯΓସ͑ΒΕΔΑ
w ৽نϓϩδΣΫτ࡞࣌ʹ͜ͷ"QQSPBDIBCMF$PODVSSFODZ༗ޮͳͷ Ͱ͜Ε·Ͱͷϑϥά༗ޮͰ࢝ΊΒΕΔΑ
%FGBVMU"DUPS*TPMBUJPOσϑΥϧτ.BJO"DUPSʹઃఆ͞ΕͯΔ
"QQSPBDIBCMF$PODVSSFODZ͕Өڹ͢Δ6QDPNJOH'FBUVSFͨͪ
%JTBCMF0VUXBSE"DUPS*TPMBUJPOJOGFSFODF Կ 4& ϓϩύςΟͷHMPCBM"DUPS͕ܕࣗମͷΞΫλʔΛਪͯ͠͠·͏ɺͷΛΊΔ ͑͛ͭͶʔ هࣄ IUUQT[FOOEFWZJNBKPBSUJDMFTCFFEG
(MPCBM"DUPS*TPMBUFE5ZQFT6TBCJMJUZ Կ 4& HMPCBM"DUPSͳܕͷΞΫλʔִΛ؇ͨ͠ɻ۩ମతʹ֨ೲϓϩύςΟͷ ಡΈऔΓͷ߹ɺ4FOEBCMFͰ͋ͬͨΓ݅ʹͯ·ΕBXBJU͕ෆཁͰऔΓग़ ͤΔ ศརʙ
*OUFS*TPMBUFE$POGPSNBODFT Կ A!.BJO"DUPSDMBTT.Z5ZQF!.BJO"DUPS1\^A͕Ͱ͖ΔΑ͏ʹͳͬͨ ެࣜ IUUQTEPDTTXJGUPSHDPNQJMFSEPDVNFOUBUJPOEJBHOPTUJDTJTPMBUFE DPOGPSNBODFT
*OUFS4FOEBCMFGPS.FUIPETBOE,FZ1BUI-JUFSBMT Կ 4& ,FZ1BUI4XJGUͷ্༷4FOEBCMFͱͳ͍ͬͯΔ͕ɺඞཁͳ࣌ͷΈ ,FZ1BUI4FOEBCMFͱͳΔΑ͏ʹ͢Δɻ ,FZ1BUIΛར༻͢Δࡍඇ4FOEBCMFͳΛΩϟϓνϟ͢Δ͜ͱͪΖ Μ͋Δɻ͠։ൃऀ͕4USJDU$PODVSSFODZରԠ͠Α͏ͱ4USJDU $PODVSSFODZͷϨϕϧΛ্͛Δͱɺඇ4FOEBCMFͳܕΛΩϟϓνϟ͍ͯ͠Δ ,FZ1BUIฒྻॲཧʹͬͯͳͯ͘ܯࠂ͞ΕΔͨΊ։ൃऀࠞཚ͔͠Ͷ ͳ͍
OPOJTPMBUFE OPOTFOEJOH #Z%FGBVMU Կ BTZODͳAOPOJTPMBUFE OPOTFOEJOH Aؔͷݺͼग़͠ݩͷ&YFDVUPSͰॲ ཧ͞ΕΔΑ͏ʹͳͬͨ ͜Εͪΐͬͱ͠ΐ͏͕ͳ͍෦͋Δ͕Α͘ͳͬͨʂ هࣄ
IUUQTRJJUBDPNZJNBKPJUFNTGGFFBDGBB ެࣜ IUUQTEPDTTXJGUPSHDPNQJMFSEPDVNFOUBUJPOEJBHOPTUJDT OPOJTPMBUFEOPOTFOEJOHCZEFGBVMU
ͳΜͱͳ͘ ݴ͍͍ͨ͜ͱҙຯΘ͔Γ·͢ʁ
ͳͥͦͷ6QDPNJOH'FBUVSF'MBH͕͋Δ͔ͱ͍͏ͱɺͦΕ͕ͳ ͍ͱ4USJDUͳ$PODVSSFODZରԠΛ͠Α͏ͱͯ͠ɺܯࠂফͤͳ͍ ͔ɺແཧͳมߋͱͳΔ͠ɺͦͷޙʹ6QDPNJOH'FBUVSF'MBHΛ ༗ޮʹ͢Δͱ༷มߋʹରԠ͢Δ͜ͱʹͳΔΜ͡Όͳ͍ʁ 88%$ 4USJDU$PODVSSFODZ$IFDLJOHΛ DPNQMFUFEʹ͢Δ͔ʔ ͍ɺ͜ΕରԠͰ͖Μͷ͔ʁ 88%$ 88%$
🍎4XJGU-BOHVBHF.PEFͰޓੑอͭΑʂ 🍎6QDPNJOH'FBUVSFΛ༗ޮԽ͚͍͍ͯ͠Αʂ 🍎4XJGU-BOHVBHF.PEFͰ·ͩWͰ͍͍͔Βʂ 🍎%FGBVMU"DUPSศར͔ͩΒʂେ.BJO"DUPSͰ͍͍͔Βʂ 🍎OPOJTPMBUFEͰ&YFDVUPS͕HMPCBM"DUPSʹͳΔͷ͙͔͑ͬͨͶ 6QDPNJOH'FBUVSF'MBH͔ͭͬͯͶ 🍎4USJDU$PODVSSFODZ$IFDLJOHͰ ͋Β͔͡Ίݫີʹίʔυॻ͖͑ͯʂ
ͦͦ 9DPEFͰ4XJGU-BOHVBHF.PEFΛWʹ͠ɺ 4QFFDI'SBNFXPSLͷ 4'4QFFDI3FDPHOJ[FSSFRVFTU"VUIPSJ[BUJPO\ʜ^ Λݺͼग़͢ͱΫϥογϡ͠·ͤΜ͔ʁ ։ൃऀ͕͍·4XJGUରԠΛؤுͬͨઌʹ͋Δͷʜ
ࠓযΜͳ͍͍͍ͯͬͯ͘͏͔ যΔ͘͞ΜͳΜ͡Όͳ͍Ͱ͠ΐ͏͔ʜ զʑϑϥάΛΦϯʹͭͭ͠ਖ਼֬ʹ༷ΛѲ͠ɺ ϢʔβʔͷͨΊʹঃʑʹ҆શͳ4XJGUͷ͍ํΛରԠ͢Ε͍͍ɻ 4USJDU$PODVSSFODZͷϨϕϧ্͚ͩ͛ͯରԠͤͣ ܯࠂΛදࣔ͢Δͷɺ ܯࠂͰຒΕͯϦΞϧλΠϜͳঢ়گѱԽʹؾ͕͚ͭͳ͘ͳΔΑʂ
IUUQTZPVUVCFVS:Q".V4H TJG@CFP2"'O$.%: 88%$4XJGUͷฒߦॲཧͷ׆༻ ࢀߟ