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
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
クラシルを支える技術と組織
rakutek
0
180
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
630
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
200
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
560
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.1k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
370
生成AIを活用した初学者向けPython講座
soogie
1
110
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.2k
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
130
dynamic!
moro
9
4k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
940
Featured
See All Featured
Designing for humans not robots
tammielis
254
25k
Agile that works and the tools we love
rasmusluckow
330
21k
KATA
mclloyd
32
14k
Building Applications with DynamoDB
mza
96
6.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
880
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Become a Pro
speakerdeck
PRO
29
5.5k
The Language of Interfaces
destraynor
162
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
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ͷฒߦॲཧͷ׆༻ ࢀߟ