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
370
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 野瀬田 裕樹
uhooiさん発ランダムタスクにチャレンジしよう!
yuukiw00w
0
31
ViewModelって200種類あんねん
yuukiw00w
0
40
Validate your App Intents adoption with AppIntentsTesting
yuukiw00w
0
39
App Intentsを実装しよう
yuukiw00w
0
34
iOS26時代の新規アプリ開発
yuukiw00w
0
260
Human Interface Guidelines 2
yuukiw00w
0
81
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
290
HIG学習用スライド
yuukiw00w
0
210
FlutterKaigi 2025: What is iOS Assistive Access? UI considerations for Flutter
yuukiw00w
0
65
Other Decks in Programming
See All in Programming
Oxlintはいいぞ(続)
yug1224
1
410
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.1k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
360
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
VibeCodingからAgenticWorkflowへ
starfish719
0
810
プロポーザルを書いてもらう
pvcresin
0
580
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
2
960
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
510
メールのエイリアス機能を履き違えない
isshinfunada
0
250
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
1.8k
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
600
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
400
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
GraphQLとの向き合い方2022年版
quramy
50
15k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
Documentation Writing (for coders)
carmenintech
77
5.5k
Are puppies a ranking factor?
jonoalderson
2
3.8k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
First, design no harm
axbom
PRO
2
1.3k
Practical Orchestrator
shlominoach
191
12k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
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ʙ