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
35
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
270
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.7k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
14k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
570
複雑さに立ち向かうためのコードリーディング入門
shiz
35
14k
Swift Observation
shiz
5
830
Swift Reflection
shiz
1
240
Swift Concurrency Next Step
shiz
7
8.3k
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
240
Select API from Kotlin Coroutine
jmatsu
1
220
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
460
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
460
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
170
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
260
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
670
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
260
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
140
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
720
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
A Tale of Four Properties
chriscoyier
160
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
The World Runs on Bad Software
bkeepers
PRO
69
11k
The Language of Interfaces
destraynor
158
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Building Applications with DynamoDB
mza
95
6.5k
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
༻๏ɾ༻ྔΛकͬͯਖ਼͍͘͠·͠ΐ͏ɻ