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
Search
[email protected]
September 07, 2022
Programming
580
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そろそろSwift Concurrency
Talk about Swift Concurrency at TechFeed Experts Night
[email protected]
September 07, 2022
More Decks by
[email protected]
See All by
[email protected]
TSPLのすすめ
shiz
1
320
Swift compiler 101 & How async function works
shiz
0
120
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
370
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
2.4k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
17k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
780
複雑さに立ち向かうためのコードリーディング入門
shiz
35
15k
Swift Observation
shiz
5
950
Swift Reflection
shiz
1
310
Other Decks in Programming
See All in Programming
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
310
継続モナドとリアクティブプログラミング
yukikurage
3
690
「人を評価する AI」の設計と実装
ryoyanara
0
180
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
860
VibeCodingからAgenticWorkflowへ
starfish719
0
320
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
その節約、円になってますか?
isamumumu
1
700
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Marketing to machines
jonoalderson
1
5.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
Build your cross-platform service in a week with App Engine
jlugia
234
19k
A Tale of Four Properties
chriscoyier
163
24k
How to make the Groovebox
asonas
2
2.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
930
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
TIJ[ 5FDI'FFE&YQFSUT/JHIU ͦΖͦΖ4XJGU$PODVSSFODZ
4XJGUݴޠΨΠυຊޠ൛ TXJGUPSH 4XJGUʹ͍ͭͯهࡌ ໊લTIJ[ ͣ͠ J04ΤϯδχΞJOԬ !TU[O
4XJGU$PODVSSFODZ w 4XJGUͰొͨ͠ݴޠػೳ w ඇಉظॲཧΛಉظॲཧͱಉ͡Α͏ͳܗͰѻ͑Δ "TZODBXBJU w ෳͷඇಉظॲཧΛߏԽͯ͠ಉ࣌ฒྻʹ࣮ߦͰ͖Δ 4USVDUVSFE$PODVSSFODZ
w ϚϧνεϨουؒͰͷσʔλڝ߹Λ͛Δ "DUPS
4XJGU$PODVSSFODZͷͭͷجຊػೳ w "TZODBXBJU w 4USVDUVSFEDPODVSSFODZ w "DUPS
"TZODBXBJU "TZODBXBJU
"TZODBXBJUͱʁ w ಉ࣌ฒߦॲཧͷϒϩοΫΛߏங͢Δ w ϒϩοΫ෦ͰॲཧΛதஅͯ͠ผͷඇಉظॲཧΛݺͼग़͢͜ͱ ͕Ͱ͖Δ w ͦΕ·Ͱͷ࣮ߦεϨουΛҰख์͠ɺͦͷεϨουଞͷ ॲཧΛ࣮ߦͰ͖Δ w
ݺͼग़ͨ͠ඇಉظॲཧͷ݁ՌΛػ͔ͯ͠ΒॲཧΛ࠶։͢Δ "TZODBXBJU"TZODBXBJUͱʁ
BTZOD ݺͼग़͠ ਤͰݟΔ"TZODBXBJU "TZODBXBJU εϨου
BTZOD BXBJU BTZOD ݁ՌΛػ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
ଞͷॲཧΛ࣮ߦͰ͖Δ BTZOD BXBJU தஅ BTZOD ݁ՌΛػ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
BTZOD BTZOD BXBJU ݁ՌΛऔಘ BTZOD ࠶։ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
࠶։લͱಉ͡εϨουͱݶΒͳ͍ BTZOD BXBJU BTZOD 㱠 ࠶։ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU ίʔϧόοΫܗࣜ
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
"TZODBXBJU ίʔυͰݟΔ"TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ࣗવͳྲྀΕ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ؔͷείʔϓͰͯ݁͢͢Δ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ؔͷείʔϓͰͯ݁͢͢Δ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ Γ௨ৗͷܕ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
4USVDUVSFE DPODVSSFODZ 4USVDUVSFEDPODVSSFODZ
5BTL w 4XJGU$PODVSSFODZͷॲཧͷجຊ୯Ґ w 5BTL୯ҐͰ࣮ߦঢ়گؔ࿈σʔλΛཧ ϩʔΧϧมɺΩϟϯηϧॲཧɺBTZODίʔυͷ։࢝தஅͳͲ BTZOD BXBJU BTZOD
5BTL BTZOD BXBJU BTZOD 5BTL BTZOD BXBJU BTZOD 5BTL 4USVDUVSFEDPODVSSFODZ5BTL
4USVDUVSFEDPODVSSFODZͱʁ w BTZODBXBJUΛͬͯෳͷॲཧΛಉ࣌ฒྻʹ࣮ߦ͢Δ w 5BTLؒͰ֊ߏΛߏஙͯ͠ɺඇಉظॲཧͷػΩϟϯη ϧॲཧͳͲΛ͜ͷ֊Ͱͯ݁ͤ͢͞Δ BTZOD 5BTL BTZOD 5BTL
5BTL 4USVDUVSFEDPODVSSFODZ4USVDUVSFEDPODVSSFODZͱʁ
BTZODMFU 63-4FTTJPOEBUBϝιου IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOVSMTFTTJPOEBUB 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU BTZODMFUͷӈลʹBXBJUΛ͚ͳ͍߹݁ՌΛػ͠ͳ͍ BXBJU 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU USZBXBJUͰ݁ՌΛػ 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU BTZODMFUͷݺͼग़͠ݩλεΫ BTZODMFU͔Β࡞͞ΕͨλεΫࢠλεΫ ࢠλεΫ͕શ෦ྃ͢Δ·ͰλεΫྃ͠ͳ͍ 4USVDUVSFEDPODVSSFODZBTZODMFU λεΫΛΩϟϯηϧ͢ΔͱࢠλεΫΩϟϯηϧঢ়ଶʹͳΔ ʜͳͲ
֎ଆͷ5BTL͔Βಠཱͨ͠5BTLΛ࡞ 6OTUSVDUVSFEDPODVSSFODZ w पΓͷ5BTL͔Βಠཱͨ͠5BTLΛੜ͢Δ w ݁ՌͷػΩϟϯηϧखಈͰ࣮ߦ͢Δඞཁ͕͋Δ w 5BTLJOJUͱ5BTLEFUBDIFE͕͋Δ ಠཱͷ߹͍͕ҟͳΔ BTZOD
5BTL BTZOD 5BTL 5BTL 4USVDUVSFEDPODVSSFODZ6OTUSVDUVSFEDPODVSSFODZ
"DUPS "DUPS
"DUPSͱʁ w Ұʹͭͷ5BTLͷΈ͕෦ঢ়ଶΛૢ࡞Ͱ͖ΔΑ͏ʹͯ͠ɺෳε Ϩου͔Βͷಉ࣌ಡΈॻ͖ʹΑΔσʔλڝ߹Λ͙ BTZOD 5BTL BDUPS 5BTL 5BTL BTZOD
BTZOD σʔλڝ߹ෳεϨου͔Βಉ͡σʔλಡΈॻ͖Λಉ࣌ʹߦͬͨ݁Ռɺෆਖ਼ͳΛऔಘ͠ ͯ͠·ͬͨΓɺΫϥογϡ͢ΔՄೳੑͷ͋Δঢ়ଶ "DUPS"DUPSͱʁ
DMBTTͰσʔλڝ߹͕ൃੜ͢Δ 4XJGUͷDMBTTࢀরܕ ෦ঢ়ଶෳεϨουʹڞ༗͞ΕΔՄೳੑ͕͋Δ "DUPSσʔλڝ߹
DMBTTͰσʔλڝ߹͕ൃੜ͢Δ λΠϛϯά࣍ୈͰظ͠ͳ͍݁ՌʹͳΔ ग़ྗ݁Ռ
˞5BTLEFUBDIFEͰಠཱͨ͠λεΫΛ࡞͢Δ "DUPSσʔλڝ߹
"DUPSͩͱσʔλڝ߹͕ൃੜ͠ͳ͍ "DUPSσʔλڝ߹
"DUPSͩͱσʔλڝ߹͕ൃੜ͠ͳ͍ ݁Ռৗʹظ௨Γ ग़ྗ݁Ռ "DUPSσʔλڝ߹
"DUPSͷੑ࣭ ෦ঢ়ଶ"DUPSͰकΒΕ͍ͯΔ 📬 🤏 ✉ ✉ ✉ w ҰʹҰͭͷλεΫͷΈ࣮ߦ͢Δ w
"DUPSͦΕͧΕ֎ͷੈք͔Βִ͞Ε͍ͯΔ "DUPS֎ "DUPS "DUPS"DUPSͷੑ࣭
"DUPSؒͷભҠͷίετ "DUPS "DUPS w "DUPSؒͷભҠʹίετ͕͔͔Δ "DUPSҙ 💸
7JFX.BJO"DUPS BDUPS .BJO"DUPS 7JFX 7JFX.PEFM ❌ w 7JFX.PEFMΛBDUPSʹ͢Δͱ"DUPSؒͰͷεΠον͕ൃੜ͢Δ "DUPSҙ 💸
7JFX.PEFMΛ.BJO"DUPSʹ͢Δ w ಉ͡"DUPSͷॲཧʹͳΔ !.BJO"DUPSDMBTT .BJO"DUPS 7JFX 7JFX.PEFM ⭕ "DUPSҙ 🪙
4XJGU$PODVSSFODZ w "TZODBXBJU w 4USVDUVSFEDPODVSSFODZ w "DUPS
͋Γ͕ͱ͏͍͟͝·ͨ͠
ೖʹ͓͢͢Ί88%$ηογϣϯ w 4XJGU$PODVSSFODZղઆηογϣϯ .FFUBTZODBXBJUJO4XJGU🌟Ұ൪࠷ॳʹݟΔͷʹ͓͢͢Ί &YQMPSFTUSVDUVSFEDPODVSSFODZJO4XJGU 1SPUFDUNVUBCMFTUBUFXJUI4XJGUBDUPST w
ΑΓ෦ͷΈΛΔηογϣϯ 4XJGUDPODVSSFODZ#FIJOEUIFTDFOFT w ҰॹʹαϯϓϧΛϦϑΝΫλϦϯά͠ͳ͕ΒֶΔηογϣϯ 4XJGUDPODVSSFODZ6QEBUFBTBNQMFBQQ🌟طଘίʔυ͔ΒͷมΛҰาҰาֶΔ w ଞͷ'SBNFXPSLͱͷ࿈ܞํ๏ΛΔηογϣϯ #SJOH$PSF%BUBDPODVSSFODZUP4XJGUBOE4XJGU6* %JTDPWFSDPODVSSFODZJO4XJGU6* .BLFCMB[JOHGBTUMJTUTBOEDPMMFDUJPOWJFXT 6**NBHFͷ/FX"1*