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
340
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
69
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
280
HIG学習用スライド
yuukiw00w
0
200
FlutterKaigi 2025: What is iOS Assistive Access? UI considerations for Flutter
yuukiw00w
0
63
Swift6.2時代のconcurrencyを考える会
yuukiw00w
2
1.7k
実践!App Intents対応
yuukiw00w
1
500
App Intents再入門
yuukiw00w
0
91
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
290
Other Decks in Programming
See All in Programming
初めてのKubernetes 本番運用でハマった話
oku053
0
120
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
460
自作OSでスライド発表する
uyuki234
1
3.7k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
810
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
440
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
3.4k
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
290
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
300
スマートグラスで並列バイブコーディング
hyshu
0
280
どこまでゆるくて許されるのか
tk3fftk
0
460
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Typedesign – Prime Four
hannesfritz
42
3.1k
Producing Creativity
orderedlist
PRO
348
40k
Navigating Weather and Climate Data
rabernat
0
290
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
190
Building the Perfect Custom Keyboard
takai
2
810
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
The Invisible Side of Design
smashingmag
301
52k
How to Ace a Technical Interview
jacobian
281
24k
What's in a price? How to price your products and services
michaelherold
247
13k
Test your architecture with Archunit
thirion
1
2.3k
RailsConf 2023
tenderlove
30
1.5k
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ʙ