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
320
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
14
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
210
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.4k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
13k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
470
複雑さに立ち向かうためのコードリーディング入門
shiz
35
13k
Swift Observation
shiz
5
800
Swift Reflection
shiz
1
200
Swift Concurrency Next Step
shiz
7
7.8k
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
1.9k
ARA Ansible for the teams
kksat
0
150
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
昭和の職場からアジャイルの世界へ
kumagoro95
1
380
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
WebDriver BiDiとは何なのか
yotahada3
1
140
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
140
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
220
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
100
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
RailsConf 2023
tenderlove
29
1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
A Tale of Four Properties
chriscoyier
158
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
A designer walks into a library…
pauljervisheath
205
24k
Docker and Python
trallard
44
3.3k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Site-Speed That Sticks
csswizardry
4
380
Designing for humans not robots
tammielis
250
25k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
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
༻๏ɾ༻ྔΛकͬͯਖ਼͍͘͠·͠ΐ͏ɻ