Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
20180619_Roppongi.pdf
sztk1209@gmail.com
June 20, 2018
Programming
1
290
20180619_Roppongi.pdf
sztk1209@gmail.com
June 20, 2018
Tweet
Share
More Decks by sztk1209@gmail.com
See All by sztk1209@gmail.com
Hello, Swift Concurrency world.の振り返り / Looking back on Hello, Swift Concurrency world.
shiz
0
57
Hello, Swift Concurrency world.
shiz
9
3.7k
The First Step of Swift Concurrency
shiz
2
1k
Dependency Injection
shiz
1
51
SOLID and Composition Root
shiz
0
27
Swift Concurrency (随時更新版)
shiz
3
420
Swift Concurrency 3
shiz
1
33
Swift Concurrency Talk 3
shiz
0
150
Swift Concurrency Talk 2
shiz
0
49
Other Decks in Programming
See All in Programming
エンジニアによる事業指標計測のススメ
doyaaaaaken
1
190
React Nativeアプリを DDDで開発している話
nihemak
0
160
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
1
190
#JJUG_CCC 「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -
cdataj
0
430
ES2022の新機能
smt7174
0
270
UI Testing of Jetpack Compose Apps, AppDevCon
alexzhukovich
0
170
大規模プロダクトにLinterを導入し運用している話
hirokiotsuka
0
240
Springin‘でみんなもクリエイターに!
ueponx
0
220
heyにおけるCI/CDの現状と課題
fufuhu
3
560
Cross Deviceチームにおけるスマートテレビアプリ開発ってどんな感じ?
cokaholic
0
120
iOS 16からのロック画面Widget争奪戦に備える
tsuzuki817
0
260
Haskellでオブジェクト指向プログラミング
koheisakata
0
130
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
86
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
950
Web development in the modern age
philhawksworth
197
9.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
15
36k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
Music & Morning Musume
bryan
35
4.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
13k
Statistics for Hackers
jakevdp
781
210k
4 Signs Your Business is Dying
shpigford
169
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.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
༻๏ɾ༻ྔΛकͬͯਖ਼͍͘͠·͠ΐ͏ɻ