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
45
つくってあそぼうansible
carotene4035
August 10, 2018
Tweet
Share
More Decks by carotene4035
See All by carotene4035
GraphQLのN+1問題を解決したい
carotene4035
1
220
読者を置き去りにする技術
carotene4035
13
8.2k
Aws is emotional.
carotene4035
2
280
名称未設定.pdf
carotene4035
0
210
migrationツールについて
carotene4035
0
88
AWSネットワーク入門
carotene4035
3
320
adtech history
carotene4035
0
77
ファイルアクセスに関する脆弱性
carotene4035
0
110
僕らだけのアニメを放映する
carotene4035
3
1.4k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Producing Creativity
orderedlist
PRO
348
40k
Faster Mobile Websites
deanohume
310
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
BBQ
matthewcrist
89
9.9k
For a Future-Friendly Web
brad_frost
180
10k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
How GitHub (no longer) Works
holman
315
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
Typedesign – Prime Four
hannesfritz
42
2.9k
Raft: Consensus for Rubyists
vanstee
140
7.2k
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ͷཧͷํ ɹϦϙδτϦϓϩδΣΫτ͝ͱʁ ɹͦΕͱͥΜͿ͍ͬ͠ΐʹͪ͠Ό͏ʁ ɹຊ൪ڥɺςετڥɺ։ൃڥͲ͏Θ͚ͯॻ͘ʁ ͳͲ͠߹͑ͨΒخ͘͠ࢥ͍·͢ɻ