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 ConcurrencyでよりSwiftyに
Search
野瀬田 裕樹
February 22, 2026
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift ConcurrencyでよりSwiftyに
hakodate.swift 登壇資料 #hakodate_swift
https://japan-region-swift.connpass.com/event/371217/
野瀬田 裕樹
February 22, 2026
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
iOS26時代の新規アプリ開発
yuukiw00w
0
250
Human Interface Guidelines 2
yuukiw00w
0
71
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
280
HIG学習用スライド
yuukiw00w
0
200
FlutterKaigi 2025: What is iOS Assistive Access? UI considerations for Flutter
yuukiw00w
0
64
Swift6.2時代のconcurrencyを考える会
yuukiw00w
2
1.8k
実践!App Intents対応
yuukiw00w
1
510
App Intents再入門
yuukiw00w
0
96
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
290
Other Decks in Programming
See All in Programming
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
170
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
270
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
200
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
110
Google Apps Script で Ruby を動かす
kawahara
0
130
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
260
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
130
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
0
110
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
120
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
160
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Un-Boring Meetings
codingconduct
0
360
The Invisible Side of Design
smashingmag
301
52k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
450
Git: the NoSQL Database
bkeepers
PRO
432
67k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Believing is Seeing
oripsolob
1
180
How to Talk to Developers About Accessibility
jct
2
470
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Transcript
4XJGU$PODVSSFODZͰ ΑΓ4XJGUZʹ ాɹ༟थʢ!ZOPTFEBʣ
4XJGUͰॻ͘ͳΒ4XJGUZͳίʔυΛॻ͖͍ͨͰ͢ΑͶʁ
ࠓճͷൃදΛػʹ4XJGUZͳίʔυΛॻ͖·͠ΐ͏ʂ
ͱݴ͍ͭͭ
4XJGUZͳίʔυͬͯԿ
4XJGUZͱ͍͏୯ޠͷҙຯ
4XJGUZͳίʔυ4XJGUΒ͍͠ίʔυ
4XJGUZͳίʔυ㱠4XJGUΒ͍͠ίʔυ
4XJGUZͳίʔυૉૣ͍ίʔυ
4XJGUZͳίʔυΛॻ͜͏ ૉૣ͍ͱݴͬͯ৭Μͳछྨ͕͋Δ w ࣮ߦ͕͍࣌ؒ w Ϗϧυ͕͍࣌ؒ w ཧղʹཁ͢Δ͕͍࣌ؒʢ4XJGUΒ͍͠ίʔυ͔͜͜ʣ
4XJGUZͳίʔυΛॻ͜͏ ૉૣ͍ͱݴͬͯ৭Μͳछྨ͕͋Δ w ࣮ߦ͕͍࣌ؒ w Ϗϧυ͕͍࣌ؒ w ཧղʹཁ͢Δ͕͍࣌ؒʢ4XJGUΒ͍͠ίʔυ͔͜͜ʣ
࣮ߦ͕͍࣌ؒॲཧͷ͓ ͶͷৼಈΛγϛϡϨʔγϣϯͯ͠ΈΑ͏ʂ Fi = k∑ j≠i (xj − xi )
શ݁߹ͯ͠Δόωͷৼಈͷ༷ࢠ
͜͏͍͏ͱ͖
"DDFMFSBUFϑϨʔϜϫʔΫ w $16্Ͱ࣌ؒͷ͔͔Δ৭ʑͳԋࢉΛߦ͏ͨΊͷϑϨʔϜϫʔΫ w ػցֶशɿ#//4 w ը૾ॲཧɿW*NBHF w σδλϧ৴߸ॲཧɿW%41 w
ϕΫτϧɺߦྻͷԋࢉɿW'PSDFʢϕΫτϧʹର͢Δࢉज़ؔӽؔͷ࣮ߦʣ ɹɹɹɹɹɹɹɹɹɹɹTJNEʢখنͳϕΫτϧߦྻͷԋࢉ༻ͷܕͱؔʣ w ઢܗɿ#-"4ʢϕΫτϧͱߦྻͷԋࢉʣ ɹɹɹɹɹ-"1"$,ʢݻ༗ɺಛҟɺߦྻҼղɺઢܗ࿈ཱํఔࣜͳͲʣ ɹɹɹɹɹ4QBSTF4PMWFSTʢߦྻ͕ૄߦྻͰ͋Δ࿈ཱํఔࣜʹର͢Δઢܗԋࢉʣ w ఆੵɿ2VBESBUVSFʢ༗ݶ·ͨແݶͷ۠ؒʹΘͨΔؔͷఆੵͷۙࣅʣ
#-"4 w #BTJD-JOFBS"MHFCSB4VCQSPHSBNTͷུͰɺઢܗԋࢉͷ"1*༷ w ͭͷ-FWFM͕͋Δ w -FWFMɿεΧϥʔԋࢉɺϕΫτϧԋࢉɺϕΫτϧϕΫτϧԋࢉ w -FWFMɿߦྻϕΫτϧԋࢉ w
-FWFMɿߦྻߦྻԋࢉ w ܭࢉͷେ෦Λ#-"4ϧʔνϯʹԡ͠ࠐΊΔ͜ͱͰߴԽͰ͖Δ ʢ͏·͘#-"4Λ͏ܗʹఆࣜԽ͢ΔͱॲཧΛߴԽͰ͖Δʣ
σϞ ύλʔϯ࣮ͯ͠Έͨ w ஞ࣍ॲཧʢ௨ৗͷGPSϧʔϓͰܭࢉʣ w ฒྻॲཧʢ5BTL(SPVQΛ࡞ͬͯฒྻԽͯ͠ܭࢉʣ w #-"4 w #-"4
ฒྻॲཧʢ5BTL(SPVQͰฒྻԽͯ͠ݸผʹ#-"4ར༻ʣ
݁Ռ ࣮ߦ࣌ؒ w /͕খ͍͞ͱ͖ɿஞ࣍ฒྻ#-"4㲈#-"4 ฒྻ w /͕େ͖͍ͱ͖ɿஞ࣍ฒྻ#-"4#-"4 ฒྻ w ฒྻԽΑΓ#-"4ͷޮՌ͕ѹత
w #-"4 ฒྻԽαΠζ͕େ͖͍࣌ͷΈ༗ޮ
#-"4 w $16ͷϕΫτϧॲཧػೳΛ׆༻͢Δߴͳ෦࣮͕ҝ͞Ε͍ͯΔ w ࣮ߦ࣌ʹͦͷϓϩηοαʹ࠷దͳ໋ྩΛબͿΑ͏ʹͳ͍ͬͯΔ w ͜ͷ࠷దԽ͕͔ͳΓޮ͍͍ͯΔͷͰશવԋࢉ͕ҧ͏
ઢܗॲཧΛߴԽ͍ͨ࣌͠ ͳΔ͘"DDFMFSBUFϑϨʔϜϫʔΫΛ͑ΔܗʹఆࣜԽ͢Δ w ͕ૄߦྻͳ࿈ཱํఔࣜΛղ͖͍ͨ߹ˠ4QBSTF4PMWFST w ີߦྻͳઢܗ࿈ཱํఔࣜΛղ͘ͳͲɺ యܕతͳઢܗʹऔΓΈ͍ͨ߹ˠ-"1"$, w ϕΫτϧߦྻͷԋࢉΛ͍ͨ͠߹ˠ#-"4
w ϕΫτϧʹࢉज़ӽؔΛద༻͢Δ߹ˠW'PSDF w %PVCMFཁૉ͕ཁૉҎԼͷϕΫτϧYཁૉҎԼͷߦྻΛॲཧ͍ͨ͠߹ˠTJNE
ઢܗॲཧΛߴԽ͍ͨ࣌͠ ՃͰඞཁͳΒϚϧνεϨουԽ͢Δ w #-"4ͷ෦ฒྻʹͤΔύλʔϯ w ࣗͰखಈฒྻ͢Δύλʔϯ
ઢܗॲཧΛߴԽ͍ͨ࣌͠ ՃͰඞཁͳΒϚϧνεϨουԽ͢Δ w #-"4UISFBEJOH.PEFMʹNVMUJ5ISFBEFEΛઃఆ͢Δ w ʏʹTJOHMF5ISFBEFEΛઃఆͷ্ɺࣗͰϚϧνεϨουԽ͢Δ
ઢܗॲཧΛߴԽ͍ͨ࣌͠ ՃͰඞཁͳΒϚϧνεϨουԽ͢Δ w #-"4UISFBEJOH.PEFMʹNVMUJ5ISFBEFEΛઃఆ͢Δ w ాڥͰ͋·Γ࠷దԽͯ͘͠Εͳ͔ͬͨ w ͭ·Γ࣮αΠζʹΑͬͯޮ͔ͳ͍͜ͱ͕͋ΔͷͰɺཁܭଌ w
ಉ্ʹTJOHMF5ISFBEFEΛઃఆͷ্ɺࣗͰϚϧνεϨουԽ͢Δ
ઢܗॲཧΛߴԽ͍ͨ࣌͠ ՃͰඞཁͳΒϚϧνεϨουԽ͢Δ w #-"4UISFBEJOH.PEFMʹNVMUJ5ISFBEFEΛઃఆ͢Δ w TJOHMF5ISFBEFEΛઃఆͷ্ɺࣗͰϚϧνεϨουԽ͢Δ w 5BTL(SPVQͰෳλεΫΛ࡞Δ w
%JTQBUDI2VFVFDPODVSSFOU1FSGPSN JUFSBUJPOTFYFDVUF ͰฒྻGPSϧʔϓΛ࡞Δ
DPODVSSFOU1MBUGPSNʹ͍ͭͯ w ࢦఆճ JUFSBUJPOT ͚ͩҾͷΫϩʔδϟʔΛ࣮ߦ͢Δؔ w ෳͷίΞΛͬͯޮతͳฒྻGPSϧʔϓͱ࣮ͯ͠ߦͯ͘͠ΕΔ w ಉظॲཧͳͷͰ.BJO"DUPS͔ΒݺͿͱةݥ w
ಉͷॲཧ4XJGU$PODVSSFODZʹͳ͍ʢͷͰࣗ࡞ͷඞཁ͋Γʣ w JUFSBUJPOTΛར༻ՄೳͳίΞͷഒҎ্ʹઃఆ͢Δͷ͕͓͢͢Ί
ͦ͏͍͑ ʮඞཁͳΒϚϧνεϨουԽ͢Δʯ 88%$ͰࣅͨΑ͏ͳΛฉ͖·ͨ͠Ͷ
None
None
None
͡Ό͍͋ͭͲ͏ͬͯฒྻԽ͢Δͷʁ
$PODVSSFODZಋೖखॱ w ϝΠϯͷΞϓϦϞδϡʔϧ6*ϞδϡʔϧͰ %FGBVMU"DUPS*TPMBUJPOΛ.BJO"DUPSʹઃఆ͢Δ ʢ6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPSʣ
$PODVSSFODZಋೖखॱ w 6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPS w ϝΠϯεϨουͷෛՙ͕ߴ͍߹ɺ ฒߦॲཧΛಋೖ͢Δલʹ*OTUSVNFOUTͳͲͰ ϘτϧωοΫΛಛఆͯ͠ղফΛࢼΈΔ ʢϝΠϯεϨουͷෛՙ͕ߴ͍ͳΒ*OTUSVNFOUTͰௐࠪˠղফʣ
$PODVSSFODZಋೖखॱ w 6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPS w ϝΠϯεϨουͷෛՙ͕ߴ͍ͳΒ*OTUSVNFOUTͰௐࠪͯ͠ղফ w ϝΠϯεϨου͔Βग़͍ͨ͠ ʢݺͼग़͠ݩͱҧ͏"DUPSͰಈ࡞͍ͤͨ͞ʣ߹ɺ ؔʹ!DPODVSSFOUΛ༩͢Δ ʢόοΫάϥϯυͰॲཧ͍ͨ͠ͳΒ!DPODVSSFOUʣ
$PODVSSFODZಋೖखॱ w 6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPS w ϝΠϯεϨουͷෛՙ͕ߴ͍ͳΒ*OTUSVNFOUTͰௐࠪͯ͠ղফ w όοΫάϥϯυͰॲཧ͍ͨ͠ͳΒ!DPODVSSFOU w ڞ༗͍ͨ͠εϨουηʔϑͳՄมঢ়ଶ4FOEBCMFΛ͚ͭΔ
$PODVSSFODZಋೖखॱ w 6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPS w ϝΠϯεϨουͷෛՙ͕ߴ͍ͳΒ*OTUSVNFOUTͰௐࠪͯ͠ղফ w όοΫάϥϯυͰॲཧ͍ͨ͠ͳΒ!DPODVSSFOU w ڞ༗͍ͨ͠εϨουηʔϑͳՄมঢ়ଶ4FOEBCMFΛ͚ͭΔ w
ඇ4FOEBCMFͰOPOJTPMBUFEͰࡁΉͳΒOPOJTPMBUFEʹ͢Δ
$PODVSSFODZಋೖखॱ w 6*ϞδϡʔϧͰ%FGBVMU"DUPS*TPMBUJPO.BJO"DUPS w ϝΠϯεϨουͷෛՙ͕ߴ͍ͳΒ*OTUSVNFOUTͰௐࠪͯ͠ղফ w όοΫάϥϯυͰॲཧ͍ͨ͠ͳΒ!DPODVSSFOU w ڞ༗͍ͨ͠εϨουηʔϑͳՄมঢ়ଶ4FOEBCMFΛ͚ͭΔ w
ඇ4FOEBCMFͰOPOJTPMBUFEͰࡁΉͳΒOPOJTPMBUFEʹ͢Δ w සൟͳίϯςΩετεΠον͕ൃੜ͢Δ߹BDUPSͰՄมঢ়ଶΛཧ͢Δ
·ͱΊ
4XJGU$PODVSSFODZͰฒྻԽ͢Δ㱠4XJGUZ ʢԿͰ͔ΜͰฒྻԽ͢Ε͍͍Θ͚͡Όͳ͍ʣ
ஈ֊తʹฒྻԽΛऔΓΉ͜ͱ͕4XJGUZʹܨ͕Δ ·ͣ࠷ॳʹΞϧΰϦζϜඪ४ϥΠϒϥϦͷ׆༻ʹऔΓ͏
ஈ֊తʹฒྻԽΛऔΓΉ͜ͱ͕4XJGUZʹܨ͕Δ ·ͣ࠷ॳʹΞϧΰϦζϜඪ४ϥΠϒϥϦͷ׆༻ʹऔΓ͏ ύϑΥʔϚϯενϡʔχϯάܭଌ͕ඞਢ
ઢܗΛΔͳΒ"DDFMFSBUFϑϨʔϜϫʔΫ͓͢͢ΊͰ͢ʂ
ʙ'JOʙ