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
450
いま中途半端な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
300
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
270
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: 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
900
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
CSC305 Lecture 10
javiergs
PRO
0
220
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
320
SODA - FACT BOOK(JP)
sodainc
1
8.6k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
470
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
350
AI Agent 時代的開發者生存指南
eddie
4
2k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
870
Developer Joy - The New Paradigm
hollycummins
1
330
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
526
40k
Optimizing for Happiness
mojombo
379
70k
It's Worth the Effort
3n
187
28k
GraphQLとの向き合い方2022年版
quramy
49
14k
Bash Introduction
62gerente
615
210k
Typedesign – Prime Four
hannesfritz
42
2.8k
Speed Design
sergeychernyshev
32
1.2k
Why Our Code Smells
bkeepers
PRO
340
57k
Unsuck your backbone
ammeep
671
58k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
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ͷฒߦॲཧͷ׆༻ ࢀߟ