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
490
いま中途半端な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
310
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
270
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.4k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.3k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1k
不安定なテストは200種類あんねん
yimajo
3
1.1k
TCA v0.19.0からのSwitchStore/CaseLetが良い
yimajo
0
2k
TCAでViewStoreにKeyPath DynamicMemberLookupが使われてる件
yimajo
0
1.2k
TCAでのClient/Managerの 利用パターンでは副作用のActionやErrorを分離できる
yimajo
0
910
Other Decks in Programming
See All in Programming
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
130
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
360
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
260
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
400
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
240
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
120
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5.9k
Inside of Swift Export
giginet
PRO
1
530
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
2
540
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
150
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
260
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
6
3.4k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
960
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Fireside Chat
paigeccino
41
3.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
The Language of Interfaces
destraynor
162
25k
The Invisible Side of Design
smashingmag
302
51k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Pragmatic Product Professional
lauravandoore
36
7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
KATA
mclloyd
PRO
32
15k
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ͷฒߦॲཧͷ׆༻ ࢀߟ