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
20180619_Roppongi.pdf
Search
[email protected]
June 20, 2018
Programming
1
340
20180619_Roppongi.pdf
[email protected]
June 20, 2018
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
Swift compiler 101 & How async function works
shiz
0
44
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
290
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.8k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
15k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
610
複雑さに立ち向かうためのコードリーディング入門
shiz
35
14k
Swift Observation
shiz
5
850
Swift Reflection
shiz
1
250
Swift Concurrency Next Step
shiz
7
8.4k
Other Decks in Programming
See All in Programming
AI時代に学習する意味はあるのか?
tomoyakamaji
0
110
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
1
200
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
400
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
620
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
4
1.5k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
940
Updates on MLS on Ruby (and maybe more)
sylph01
1
170
速いWebフレームワークを作る
yusukebe
3
1.2k
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
25
9.6k
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
230
ECS初心者の仲間 – TUIツール「e1s」の紹介
keidarcy
0
140
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Code Reviewing Like a Champion
maltzj
525
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
How GitHub (no longer) Works
holman
315
140k
Unsuck your backbone
ammeep
671
58k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
500
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
6*,JUʹΑΔ ύϑΥʔϚϯε্ࢦ ୈ̐ճ30110/(*TXJGU
6*,JUʹΑΔ ύϑΥʔϚϯε্ࢦ #Z"QQMF ୈ̐ճ30110/(*TXJGU
ࣗݾհ w TIJ[!TU[O w ॴͷडୗ։ൃձࣾۈ w 4XJGU "OESPJE LPUMJO +BWBTDSJQU
"OHVMBS OPEFKT $ +BWB 1)1 ཁ͙ͪΌ͙ͪΌ
4FTTJPO1SBDUJDBM"QQSPBDIFTUP(SFBU"QQ1FSGPSNBODF IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED 4FTTJPO*NBHFBOE(SBQIJDT#FTU1SBDUJDFT IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED 4FTTJPO)JHI1FSGPSNBODF"VUP-BZPVU IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED 4FTTJPO8IBUT/FXJO$PDPB5PVDI IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED ࢀߟࢿྉ
J04ͷվળ w 4DSPMMJOH w .FNPSZ w "VUP-BZPVU
4DSPMMJOHͷվળ
ϑϨʔϜམͪ w $FMM'PS3PX"U w MBZPVU4VCWJFXT w ESBX w d)[ඵ dNT
1SFGFUDI w J04Ͱొ w ηϧΛදࣔ͢ΔλΠϛϯάΑΓࣄલʹσʔλΛऔ ಘ w $16༻ͷҰ࣌తͳٸ૿Λ͑Δ IUUQTRJJUBDPNTIJ[JUFNTBFFEEBEGE
J04·Ͱͷ 1SFGFUDI w σʔλΛऔಘ͢ΔλΠϛϯάͱۙͷදࣔରηϧ ͷϩʔυॲཧ͕ॏͳΔ 88%$8IBUT/FXJO$PDPB5PVDI
J04ͷ1SFGFUDI w 1SFGFUDI͕ඃΒͳ͍Α͏ʹεέδϡʔϦϯά 88%$8IBUT/FXJO$PDPB5PVDI
·ͩ͋Δ w όοΫάϥϯυλεΫͳͲԿ͍ͯ͠ͳ͍࣌ʹΑ ΓϑϨʔϜ͕མͪΔ͜ͱ͕͋ͬͨ w $16ͷ্ཱ͕ͪΓ͕࣌ؒݪҼ ,FZOPUFͷ"QQ -BVODI w
Կͯ͠ͳ͍࣌ͳΔ͘$16ͷ༻͘ w ٸʹ্ཱ͕ͪΔ͜ͱͰ͖ͳ͍ ϑϨʔϜͷඳըʹؒ ʹ߹Θͳ͍
·ͩ͋Δ w όοΫάϥϯυλεΫͳͲԿ͍ͯ͠ͳ͍࣌ʹΑ ΓϑϨʔϜ͕མͪΔ͜ͱ͕͋ͬͨ w $16ͷ্ཱ͕ͪΓ͕࣌ؒݪҼ ,FZOPUFͷ"QQ -BVODI w
Կͯ͠ͳ͍࣌ͳΔ͘$16ͷ༻͘ w ٸʹ্ཱ͕ͪΔ͜ͱͰ͖ͳ͍ ϑϨʔϜͷඳըʹؒ ʹ߹Θͳ͍ 88%$8IBUT/FXJO$PDPB5PVDI
SBNQVQͷվળ w ϩʔϨϕϧͷ$16ίϯτϩʔϥʹԿ͕͍ͭى͖Δͷ ͔Λࣄલʹใୡ w $16ίϯτϩʔϥඞཁͳ$16ྔΛਪଌ͓͖ͯ͠ɺ ্ཱͪ͛ʹඋ͑Δɻ$16༻͕ଈ࠲ʹ্͕Δ 88%$8IBUT/FXJO$PDPB5PVDI
.FNPSZͷվળ
#V⒎FS w ࿈ଓͨ͠ϝϞϦྖҬ w ಉ͡αΠζಉ͡෦ߏΛ࣋ͬͨཁૉͷू·Γ 88%$*NBHFBOE(SBQIJDT#FTU1SBDUJDFT
*NBHF#V⒎FS w ͋Δը૾Λදݱͨ͠#V⒎FS w ֤ཁૉ͕̍ϐΫηϧͷಁա৭Λදݱ w αΠζը૾ͷαΠζ 88%$*NBHFBOE(SBQIJDT#FTU1SBDUJDFT
'SBNF#V⒎FS w *NBHF#V⒎FSͷҰछ w ֤7JFXͷϨϯμϦϯά݁ՌΛอ࣋ w ϋʔυΣΞͷը໘ʹd)[ඵͰө 88%$*NBHFBOE(SBQIJDT#FTU1SBDUJDFT
%BUB#V⒎FS w ը૾σʔλͷϝλใΛอ͍࣋ͯ͠Δ#V⒎FS w ը૾αΠζѹॖܗࣜ 1/(+1&(ͳͲ Λอ࣋ 88%$*NBHFBOE(SBQIJDT#FTU1SBDUJDFT
#BDLJOH4UPSF w σίʔυͨ͠*NBHF#V⒎FSΛ෦తʹอ࣋͢ΔྖҬ w อ࣋͢ΔϝϞϦΛফඅ w J04͔Βը૾ʹΘΕ͍ͯΔ৭ͳͲ͔Βඞཁͳα ΠζΛࣗಈܭࢉ ϝϞϦ༻ྔͷݮ
6**NBHF 6**NBHF7JFX ԿΛ͍ͯ͠Δͷ͔ʁ w 6**NBHF ը૾σʔλΛϩʔυ w 6**NBHF *NBHF#V⒎FSσʔλΛσίʔυ w
6**NBHF7JFX *NBHF#V⒎FSΛϨϯμϦϯά͠ɺ'SBNF#V⒎FS 88%$*NBHFBOE(SBQIJDT#FTU1SBDUJDFT
σίʔυ w $16ओಋ w σίʔυͨ͠σʔλ*NBHF#V⒎FSͱͯ͠อ࣋ w Ӭଓతʹେ͖ͳϝϞϦΞϩέʔγϣϯ w ૿͑ͯ͘Δͱ0VU0G.FNPSZʹɻɻɻ
EPXOTBNQMJOH w #V⒎FSʹอ࣋͞ΕΔσʔλͷαΠζΛࣄલͷখ͘͞ ͓ͯ͘͜͠ͱͰɺϝϞϦѹഭΛ͙
None
/%"ͷͨΊআ ࣸਅ͕ฒΜͩαϯϓϧ
None
None
ը૾Ϧιʔε w "TTFUTDBUBMPHͷ*NBHF"TTFUT w #VOEMFͷϑΝΠϧ w %PDVNFOUT$BDIFTσΟϨΫτϦͷϑΝΠϧ w /FUXPSL͔Β%PXOMPBE
ը૾Ϧιʔε w "TTFUTDBUBMPHͷ*NBHF"TTFUT w #VOEMFͷϑΝΠϧ w %PDVNFOUT$BDIFTσΟϨΫτϦͷϑΝΠϧ w /FUXPSL͔Β%PXOMPBE
*NBHF"TTFUT͕࠷ద w ໊લ͕ݕࡧʹ࠷దԽ w Ωϟογϡ͕࠷খ w ΠϯετʔϧσόΠεʹ߹ΘͤͯαΠζΛ࠷దԽ w 7FDUPS"SUXPSL͕׆༻Ͱ͖Δ
$VTUPN6*7JFX
͏͖͔ʁ
ESBXϝιουΛPWFSSJEF͢ ΔΑ͏ͳ$VTUPN7JFX ආ͚ͨํ͕ྑ͍
#BDLJOH4UPSFͷίετ w 6*7JFXESBX#BDLJOH4UPSFΛࣗಈͰར༻ w 7JFXͷ1JYFMαΠζ͕#BDLJOH4UPSFͷେ͖͞ w J04͔Β8JEF$PMPS͕EFGBVMUͰUSVF w J04 $"-BZFSDPOUFOUT'PSNBUͰ8JEF$PMPSΛ
P⒎ʹ͍ͯͨ͠߹ɺJ04Ͱ͜ͷઃఆΛ༻͢Δ ͱ৭ʑͱ࠷దԽ͕ಇ͔ͳ͘ͳΔΒ͍͠
#BDLJOH4UPSFΛখ͘͢͞Δ w େ͖ͳ̍ͭͷ7JFXΛখ͞ͳ7JFXͷ֊ߏ w ESBXΛΘͳ͍ํ๏Λ୳͢ w ը૾σʔλͷॏෳͨ͠ίϐʔΛ͠ͳ͍ w ࠷దԽ͞Εͨ7JFXͷϓϩύςΟͱαϒΫϥε
ESBXΛΘͳ͍ w 6*7JFXCBDLHSPVOE$PMPS'SBNF#V⒎FSʹ ॻ͖ࠐΊΔ w 6**NBHF7JFXͰ༻Ͱ͖ͳ͍͔Λߟ͑Δ w #BDLJOH4UPSFΛΘͳ͍ํ๏Λ୳ͯ͠ΈΔ
.BTLJOH7JFX͔ $PSOFS3BEJVT͔ w 6*7JFXNBTL7JFX$"-BZFSNBTL-BZFSҰ࣌త ʹJNBHFCV⒎FSΛ༻ w .BTLJOH7JFX͕ඞཁͳ߹ɺՄมαΠζͷ*NBHFΛ ࣋ͬͨ6**NBHF7JFXͰ༻Ͱ͖ͳ͍͔Λߟ͑Δ
ը૾σʔλΛ ॏෳͤ͞ͳ͍ w 6**NBHFϞϊΫϩͷը૾ΛΧϥʔʹͰ͖Δ w ࢦఆͨ͠৭'SBNF#V⒎FSʹॻ͖ࠐΊΔ w 6**NBHFXJUI3FOEFSJOH.PEFϝιουͰઃఆɺ· ͨ"TTFUTDBUBMPHͷը૾ͷϞʔυΛ5FNQMBUF .PEF
w ৭ͷࢦఆUJOU$PMPSͰઃఆ
/%"ͷͨΊআ ςϯϓϨʔτϞʔυͷࢦఆ ը૾
࠷దԽ͞Εͨ7JFXͷϓϩύςΟ ͱαϒΫϥεΛར༻͢Δ w 6*MBCFMͰͳΔ͘ϞϊΫϩΧϥʔ ϝϞϦΛ અ w طग़ͷ6**NBHF7JFX࠷దԽ͞Ε͍ͯΔ
ΦϑεΫϦʔϯඳըͷ࠷దԽ w 6*(SBQIJDT*NBHF3FOEFSFSΛ͏ w 6*(SBQIJDT#FHJO*NBHF$POUFYU8JEF$PMPSΛະ αϙʔτ w ը໘ʹදࣔ͢Δࡍ6**NBHF7JFXΛ͏
*NBHF#V⒎FSͷ࠷దԽ w 8JEF$PMPSͷࣗಈαϙʔτ w 6*(SBQIJDT*NBHF3FOEFSFS'PSNBUQSFGFSFT&YUF OEFE3BOHFΛઃఆ͢Δ͜ͱͰαϙʔτΛ0⒎ʹ͢Δ w 6**NBHFJNBHF3FOEFSFS'PSNBUΛઃఆ͢Δ͜ͱͰ ࣄલʹ࠷దͳྖҬ͕֬อͰ͖ΔΑ͏ʹ͢Δ J04৽ػೳ
/%"ͷͨΊআ 6*(SBQIJDT*NBHF3FOEFSF S'PSNBUQSFGFSFT&YUFOEF E3BOHF͕ͳ͔ͥ %FQSFDBUFE
None
"VUP-BZPVUͷվળ
ύϑΥʔϚϯεվળ
/%"ͷͨΊআ ͰͷύϑΥʔϚ ϯεൺֱ ͋·ΓมΘ͍ͬͯͳ͍
/%"ͷͨΊআ JOTUSVNBOUTͰͷ ͷ$16༻ൺֱ ͪΐͬͱͷํ͕͍ؾ ͕͢Δ
"VUP-BZPVUͬͯ Կͯ͠Δͷʁ
88%$)JHI1FSGPSNBODF"VUP-BZPVU
88%$)JHI1FSGPSNBODF"VUP-BZPVU
7JFX
7JFX
8JOEPX 7JFX
8JOEPX 7JFX
8JOEPX 7JFX $POTUSBJOU
8JOEPX 7JFX $POTUSBJOU
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ UFYUNJO9 UFYUXJEUI UFYUNJO9UFYUNJO9
UFYUXJEUI UFYUXJEUI
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ UFYUNJO9 UFYUXJEUI UFYUNJO9UFYUNJO9
UFYUXJEUI UFYUNJO9 UFYUXJEUI
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ UFYUNJO9 UFYUXJEUI UFYUNJO9UFYUNJO9
UFYUXJEUI UFYUNJO9 UFYUXJEUI
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ 7BSJBCMF ϨΠΞτܭࢉ݁Ռ UFYUNJO9
UFYUXJEUI UFYUNJO9UFYUNJO9 UFYUXJEUI UFYUNJO9 UFYUXJEUI
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ 7BSJBCMF ϨΠΞτܭࢉ݁Ռ NJO9
NJO: XJEUI IFJHIU UFYUNJO9 UFYUXJEUI UFYUNJO9UFYUNJO9 UFYUXJEUI UFYUNJO9 UFYUXJEUI
&OHJOF ϨΠΞτܭࢉ 8JOEPX 7JFX $POTUSBJOU &RVBUJPO ϨΠΞτܭࢉલͷঢ়ଶ 7BSJBCMF ϨΠΞτܭࢉ݁Ռ NJO9
NJO: XJEUI IFJHIU UFYUNJO9 UFYUXJEUI UFYUNJO9UFYUNJO9 UFYUXJEUI UFYUNJO9 UFYUXJEUI
7JFX &OHJOF
Կ͔มΘͬͨʁ 7JFX &OHJOF
Կ͔มΘͬͨʁ มΘͬͯΔΑʂ 7JFX &OHJOF
Կ͔มΘͬͨʁ มΘͬͯΔΑʂ ͡Ό͋ʹใࠂ͠Α͏ 4VQFSWJFXTFU/FFET-BZPVU 7JFX &OHJOF
88%$)JHI1FSGPSNBODF"VUP-BZPVU
6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
ͳΜ͚ͩͬʁ 6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
ͳΜ͚ͩͬʁ 6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
ͳΜ͚ͩͬʁ ✖✖Ͱ͢ 6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
ͳΜ͚ͩͬʁ ✖✖Ͱ͢ 6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
ͳΜ͚ͩͬʁ ✖✖Ͱ͢ ࢠʹࢦࣔ͠Α͏ 4VCWJFXTFU#PVOET 4VCWJFXTFU$FOUFS 6*7JFXMBZPVU4VCWJFXT 7JFX &OHJOF
88%$)JHI1FSGPSNBODF"VUP-BZPVU
"QQMF͔Βͷڭ͑ w ܁Γฦ͠ઃఆ͠ͳ͍ w γϯϓϧͳϩδοΫͰ w &OHJOFΩϟογϡͰ͋Γɺ੍ؔͷऀ w ඞཁͳͷʹ͚ͩඞཁͳ੍Λ
σϞ͔Βͷֶͼ w আͯ͠Ճͯ͠ͷ܁Γฦ͠/( ඞཁͳ੍ͷΈೖΕ ସ͑ w JOUSJOTJD$POUFOU4J[F͕ෆཁͳ6*7JFXʹ0WFSSJEFͷ தͰ6*7JFXOP*OUSJOTJD.FUSJDΛ͏ w
&OHJOFΩϟογϡͰ͋Γɺ੍ؔͷऀ w -BZPVU1SPpMFS͍͍Αʂʂ w
σϞ͔Βͷֶͼ w আͯ͠Ճͯ͠ͷ܁Γฦ͠/( ඞཁͳ੍ͷΈೖΕ ସ͑ w JOUSJOTJD$POUFOU4J[F͕ෆཁͳ6*7JFXʹ0WFSSJEFͷ தͰ6*7JFXOP*OUSJOTJD.FUSJDΛ͏ w
&OHJOFΩϟογϡͰ͋Γɺ੍ؔͷऀ w -BZPVU1SPpMFS͍͍Αʂʂ w
J04ͷվળ w 4DSPMMJOH w .FNPSZ w "VUP-BZPVU
·ͱΊ w 6*,JUਐԽ͢Δ ݟ͑ͳ͍ͱ͜ΖͰ w ҙࣝ͢Δͱͬͱྑ͘ͳΔՄೳੑ͕͋Δ w ٯʹؒҧ͑ΔͱѱԽͯ͠͠·͏Մೳੑ͋Δ
·ͱΊ w 6*,JUਐԽ͢Δ ݟ͑ͳ͍ͱ͜ΖͰ w ҙࣝ͢Δͱͬͱྑ͘ͳΔՄೳੑ͕͋Δ w ٯʹؒҧ͑ΔͱѱԽͯ͠͠·͏Մೳੑ͋Δ w
༻๏ɾ༻ྔΛकͬͯਖ਼͍͘͠·͠ΐ͏ɻ