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
つくってあそぼうansible
Search
carotene4035
August 10, 2018
0
40
つくってあそぼうansible
carotene4035
August 10, 2018
Tweet
Share
More Decks by carotene4035
See All by carotene4035
GraphQLのN+1問題を解決したい
carotene4035
1
190
読者を置き去りにする技術
carotene4035
13
8.1k
Aws is emotional.
carotene4035
2
270
名称未設定.pdf
carotene4035
0
200
migrationツールについて
carotene4035
0
77
AWSネットワーク入門
carotene4035
2
300
adtech history
carotene4035
0
66
ファイルアクセスに関する脆弱性
carotene4035
0
100
僕らだけのアニメを放映する
carotene4035
3
1.3k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Facilitating Awesome Meetings
lara
51
6.2k
Why Our Code Smells
bkeepers
PRO
335
57k
RailsConf 2023
tenderlove
29
970
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Optimizing for Happiness
mojombo
376
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Typedesign – Prime Four
hannesfritz
40
2.5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Done Done
chrislema
182
16k
Transcript
ୈճ BOTJCMFษڧձ !DBSPUFOF
෭ ॱ൪ʹ૿֮ͯ͑͠ΔBOTJCMF
લճͷϋΠϥΠτ ̍ͭͷαʔόʹ গ͠ͷλεΫʢOHJOYಋೖʣΛ ࣮ߦͨ͠Α ˞Ұݴʹ·ͱΊͯ͠·͍͢Έ·ͤΜɻɻ
લճ͔Β ͍Ζ͍Ζ૿͠·͢ ࠓΔ͜ͱ
w ෳͷαʔόʹগ͠ͷλεΫ w ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ w ෳͷαʔόʹͨ͘͞ΜͷλεΫˑˑˑ ࠓΔ͜ͱ
ͪΐͬͱͣͭ૿͍ͯ͘͠Α ࠓΔ͜ͱ
ߏʹඞཁͳใʢ͓͞Β͍ʣ w Ͳ͜ʹ w ͳʹΛ w ͲͷΑ͏ʹ
BOTJCMFQMBZCPPLJ<JOWFOUPSZ><QMBZCPPL> ߏʹඞཁͳใʢ͓͞Β͍ʣ BOTJCMFQMBZCPPLͷ࣮ߦίϚϯυ
BOTJCMFQMBZCPPLJ<JOWFOUPSZ><QMBZCPPL> Ͳ͜ʹ ͳʹΛ ͲͷΑ͏ʹ ߏʹඞཁͳใʢ͓͞Β͍ʣ BOTJCMFQMBZCPPLͷ࣮ߦίϚϯυ
ෳͷαʔόʹ গ͠ͷλεΫ
<αʔό> ϩʔυόϥϯα "QQαʔό̍ "QQαʔό̎ %#αʔό ෳͷαʔόʹগ͠ͷλεΫ
<λεΫ> αʔό໊Λఆٛʢ͢Δ͚ͩʣ ෳͷαʔόʹগ͠ͷλεΫ
ʮͲ͜ʹʯΛࢦఆ͢Δ *OWFOUPSZ'JMFͷॻ͖ํΛ֬ೝ ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ *OWFOUPSZ'JMF͕͔͚ͨͷͰɺૄ௨֬ೝɻ ͯ͢ͷϗετʹରͯ͠QJOHΛૹ৴ɻ
ෳͷαʔόʹগ͠ͷλεΫ BOTJCMFBMMJIPTUTNQJOH
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ ͨͷ͍͠ʂ ✌ Т✌ ࡾ✌ Т ✌ࡾ ✌Т ✌
ࠓճ࣮ߦ͢ΔQMBZCPPL TJUFZNM ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ
࣮ߦ͢Δ BOTJCMFQMBZCPPLJIPTUTTJUFZNM A
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ ✌ Т✌ ࡾ✌ Т ✌ࡾ ✌Т ✌
ෳͷαʔόʹগ͠ͷλεΫ ༨ஊ
ෳͷαʔόʹগ͠ͷλεΫ NBD͕ՐΛਧ͖·ͨ͠
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ
ෳͷαʔόʹগ͠ͷλεΫ BOTJCMF@DMJ BQQ BQQ MPBE EC
ෳͷαʔόʹগ͠ͷλεΫ BOTJCMF@DMJ BQQ BQQ MPBE EC
ෳͷαʔόʹগ͠ͷλεΫ HPPHMFݕࡧɹաੵࡌ
ෳͷαʔόʹগ͠ͷλεΫ BOTJCMF@DMJ BQQ BQQ MPBE EC ŠƁŢũʜŠƁŢũʜ
ෳͷαʔόʹগ͠ͷλεΫ EPDLFS͓ SZ
̍ͭͷαʔόʹ ͨ͘͞ΜͷλεΫ
<αʔό> "QQαʔό ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
IPTU໊ॻ͖͑ UJNF[POFॻ͖͑ MJCTFMJOVYQZUIPOಋೖ OUQಋೖ ݴޠઃఆ άϧʔϓͷՃ TVEPϢʔβՃ 30ϢʔβՃ 4'51ϢʔβՃ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
DPNQPTFSಋೖ HJUಋೖ WJNಋೖ SFNJϦϙδτϦՃ FQFMϦϙδτϦՃ QIQJOTUBMM QIQϞδϡʔϧΛݸ΄ͲՃ QIQJOJϑΝΠϧΛઃஔ QIQGQNJOJͷઃఆ <λεΫ>
ͱΓ͋͑ͣQMBZCPPL TJUFZNM Λ ॻ͍ͯΈΔ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ ͏ͪΐͬͱ͚ͩ ଓ͘Μ͡Ό
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ ͏ͪΐͬͱͩL
‧▓▒░ bТ ░▒▓‧ ͏Θ͋͋͋͋͋͋͋͋͋͋͋ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
͍ɻɻ ͪ͝Όͪ͝Όͯ͠ݟʹ͍͘ɻɻ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
ͦ͜ͰϩʔϧԽ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
None
None
None
None
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ CFGPSFBGUFS
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
None
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ εοΩϦ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ ࣮ࡍͷσΟϨΫτϦ͜Μͳײ͡
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ TJUFZNM SPMFT
ϩʔϧԽͷԸܙଞʹ͋Δ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
QMBZCPPLΛॻ͘ͷָ͕ʹͳΔ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
None
None
ϩʔϧσΟϨΫτϦͷதΛ ΈͯΈ·͢ தΛΈΔͱ͍ͬͯͳ͍ʣ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ UFNQMBUFT ઃఆϑΝΠϧܥΛஔ͘ॴ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ UFNQMBUFT ઃఆϑΝΠϧܥΛஔ͘ॴ KJOHBͱ͍͏ϑΝΠϧܗࣜͰɺ ɹ\\^^Ͱͬͨ͘͘෦ʹม͕ೖΔ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ WBST มΛஔ͘ॴ EFGBVMUT ɹมΛஔ͘ॴ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ WBST มΛஔ͘ॴ EFGBVMUT ɹมΛஔ͘ॴ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ pMFT ɹϗετʹ্͛ΔϑΝΠϧΛஔ͍͓ͯ͘ॴ ɹʢྫɿHJUIVCͱͷ௨৴༻ൿີ伴ͳͲʣ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ UBTLT λεΫ͕ॻ͔Ε͍ͯΔϑΝΠϧΛஔ͘ॴ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ UBTLT λεΫ͕ॻ͔Ε͍ͯΔϑΝΠϧΛஔ͘ॴ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ UFTUT ϩʔϧ୯ମͰςετΛ͢Δͱ͖ʹ༻͢Δ ɹςετΛద༻͢ΔϗετΛࢦఆ͢ΔͨΊͷ JOWFOUPSZϑΝΠϧΛ͓͘
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ IBOEMFST ɹϦϩʔυ࠶ىಈܥͷॲཧΛ͓͘ ɹʢԆ࣮ߦܥͱ͍͏Β͍͠ɻɻ ɹɹڭ͑ͯ୭͔ʣ ɹUBTLͱಉ͡Α͏ʹॻ͍ͯɺ ɹUBTLTNBJOZNMʹͯOPUJGZϞδϡʔϧΛ ͬͯλεΫݺͼग़͠Λ͢Δ
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ NFUB SPMFͷґଘؔΛهड़͢Δ ɹͭ·Γɺϩʔϧͷத͔ΒଞͷϩʔϧΛಡΈ ࠐΉॲཧ͕͔͚Δ EFQFOEFODJFT \SPMFDPNNPO TPNF@QBSBNFUFS^ \SPMFBQBDIF
BQBDIF@QPSU^
̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ NFUB ಡΈࠐ·Εͨϩʔϧɺ ಡΈࠐΜͰ͍ΔϩʔϧΑΓઌʹ࣮ߦ͞ΕΔɻ ಉ͡ϩʔϧ͕Ҏલʹ࣮ߦ͞Ε͍ͯͨ߹ͦ ͷϩʔϧ࣮ߦ͞Εͳ͍ɻ
BOTJCMFHBMBYZJOJUJOJUQBUIlSPMFTz<SPMF> SPMFͷܗΛੜ͢ΔίϚϯυ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
ɹɹɹɹɹɹࣗಈͰ͜Ε͕Ͱ͖·͢ ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ
Џ ʀТʆ" Ųŏʜ
ෳͷαʔόʹ ͨ͘͞ΜͷλεΫ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ <αʔό> ϩʔυόϥϯα "QQαʔό̍ "QQαʔό̎ %#αʔό
ෳͷαʔόʹͨ͘͞ΜͷλεΫ *OWFOUPSZ'JMF
ෳͷαʔόʹͨ͘͞ΜͷλεΫ QMBZCPPL SPMFʹ͚ͯɺ TJUFZNMʹάϧʔϓ͝ͱʹSPMF Λهड़͢Δ͚ͩ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ QMBZCPPL
ෳͷαʔόʹͨ͘͞ΜͷλεΫ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ ͪΐͬͱ·ͬͨ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ ϗετݻ༗ͷมͲ͏͢Δͷʁ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ IPTU@WBSTͱ͍͏ σΟϨΫτϦΛ༻ҙ͢Δ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ ɹΠϯϕϯτϦͰࢦఆͨ͠ϗετ໊ͱ ɹಉ໊͡લͷϑΝΠϧΛ༻ҙ͢Δ͜ͱͰɺ ͦͷϗετʹରͯ͠λεΫ͕࣮ߦ͞ΕΔࡍɺ ɹࣗಈͰಡΈࠐ·ΕΔ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ ɹத͜Μͳײ͡ɻ ɹϗετݻ༗ͷઃఆΛཏྻ͢Δɻ ʢڥมͱͯ͠ཧͨ͠΄͏͕ྑ͍ɻ ɹ͋͘·Ͱྫʣ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ άϧʔϓݻ༗ͷมͲ͏͢Δͷʁ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ HSPVQ@WBSTͱ͍͏ σΟϨΫτϦΛ༻ҙ͢Δ
ෳͷαʔόʹͨ͘͞ΜͷλεΫ ɹΠϯϕϯτϦͰࢦఆͨ͠άϧʔϓ໊ͱ ɹಉ໊͡લͷϑΝΠϧΛ༻ҙ͢Δ͜ͱͰɺ ͦͷάϧʔϓʹରͯ͠λεΫ͕࣮ߦ͞ΕΔࡍɺ ɹࣗಈͰಡΈࠐ·ΕΔ
·ͱΊ w ෳͷαʔόʹগ͠ͷλεΫ w ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ w ෳͷαʔόʹͨ͘͞ΜͷλεΫˑˑˑ
·ͱΊ w ෳͷαʔόʹগ͠ͷλεΫ ɹ*OWFOUPSZ'JMFͷॻ͖ํΛ֮͑Εେৎ
·ͱΊ w ̍ͭͷαʔόʹͨ͘͞ΜͷλεΫ ɹSPMFͷΘ͚ํΛ֮͑Εେৎ
·ͱΊ w ෳͷαʔόʹͨ͘͞ΜͷλεΫ ɹมͷಡΈࠐΈํΛ֮͑Εେৎ
·ͱΊ w SPMFΛॻ͚ॻ͘΄ͲɺQMBZCPPLΛॻ͘ͷ ָ͕ʹͳΔ
·ͱΊ w "OTJCMFͨͷ͍͠ΑͶɹͱ͍͏Ͱͨ͠
ٞ w "OTJCMFQMBZCPPLͷཧͷํ ɹϦϙδτϦϓϩδΣΫτ͝ͱʁ ɹͦΕͱͥΜͿ͍ͬ͠ΐʹͪ͠Ό͏ʁ ɹຊ൪ڥɺςετڥɺ։ൃڥͲ͏Θ͚ͯॻ͘ʁ ͳͲ͠߹͑ͨΒخ͘͠ࢥ͍·͢ɻ