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
綱渡りバッチ脱出大作戦
Search
Shinpei Maruyama
January 26, 2019
Technology
3
3.5k
綱渡りバッチ脱出大作戦
Shinpei Maruyama
January 26, 2019
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.6k
設計ナイト2022 トランザクションスクリプト
shinpeim
12
3.5k
Ruby (off|with) the Rails
shinpeim
20
5k
Building native apps with scala.js
shinpeim
2
1.3k
今あえてDRY原則に向き合う
shinpeim
51
560k
Nekogata Drum Sequencer written in Scala.js
shinpeim
2
3.9k
複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ
shinpeim
36
15k
Using Scala.js with the JavaScript ecosystems
shinpeim
0
2.3k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Other Decks in Technology
See All in Technology
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
260
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
590
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
TAMとre:Capセキュリティ編 〜拡張脅威検出デモを添えて〜
fujiihda
2
240
Goで作って学ぶWebSocket
ryuichi1208
0
130
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
530
2.5Dモデルのすべて
yu4u
2
860
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Code Review Best Practice
trishagee
67
18k
Embracing the Ebb and Flow
colly
84
4.6k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
What's in a price? How to price your products and services
michaelherold
244
12k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Why Our Code Smells
bkeepers
PRO
336
57k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Visualization
eitanlees
146
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
CZ͠Μ͍BLBೣܕԻػ ߝΓόον ग़େ࡞ઓ
ࣗݾհ w ͠Μ͍BLBೣܕԻػ w ࣗশϛϡʔδγϟϯ !Ԯۼ BMDBGF w ԻָͰ৯͑ͳ͍ͷͰϓϩάϥϚͱ͠
ͯކޱΛ͠ͷ͍Ͱ͍Δ
ॻ͍ͨΓͨ͠ͷ
ࠓͬͯΔ࿑ಇ w $MBTTJ ג w *$5ͰຊͷڭҭΛม͑Δ w ʮࢠڙͷແݶͷՄೳੑΛղ͖์ͪɺֶͼ ͷܗΛਐԽͤ͞Δʯ
w ڭҭͷʮͲਅΜதʯֶߍʹͬͯΒ͏ γεςϜΛ࡞͍ͬͯΔ
ߝΓόονʁ w όονॲཧʹ͍Ζ͍ΖͱΉ͔ͣ͠ ͍͜ͱ͕͋Δ w Ұൠతͳࣄ w ࣾతͳࣄ
Ұൠతࣄ
ϩάࢹΞϥʔτ w όονδϣϒը໘Λ࣋ͨͳ͍ w Τϥʔ͕ىͬͯ͜Ϣʔβʔ։ൃऀ ʮࢹʯ͠ͳ͍ w ϩάग़͍͍ͤͷͰʁ
ϩά͚ͩͰ͍͍ͷʁ w ϩάΛશ෦औ͓ͬͯ͘ɺϝʔϧͳͲ ͰૹΓ͚ͭΔ w ޭ࣌ͷϩάΛಡΈଓ͚͍ͨͻͱ͍ͳ ͍ w ୭ಡ·ͳ͘ͳΔ w
ࣦഊͨ͠ϩά͕์ஔ͞ΕΔ
Λղ͢Δ w ࣦഊ࣌ͷௐࠪͷͨΊʹɺϩάඞ ཁ w ࣦഊͨ͠ͱ͖ʹΞϥʔτΛग़͍ͨ͠ w ͭ͜͡ͷ;ͨͭผͷؔ৺͝ͱ
ϩάී௨ʹΕΑ͍ w qVFOUEͱ͔ͰɺΞϓϦͷϩάͱ ಉ͡Α͏ʹѻ͍͍͑ w ࣦഊ࣌ͷ௨ΛͲ͏͢Δ͔·ͨߟ ͑Δඞཁ͕͋Δ
ࣦഊ࣌ͷ௨ w 4POHNVIPSFOTP w SFQPSUFS͕ϓϥΨϒϧʹͳͬͯΔόον δϣϒϥούʔ w طଘͷόονδϣϒʹӨڹΛ༩͑ͣʹࣦഊ ޭͷϨϙʔτ͕Ͱ͖Δ w
ΊͪΌΊͪΌศར w 4POHNV
ϩάͷѻ͍ ௨ͷѻ͍ ͍͍ͩͨΫϦΞ
δϣϒͷഉଞ੍ޚ w I͝ͱʹΩοΫ͞ΕΔδϣϒ͕ I͔͔ͬͯͨΒʁ w ଟॏىಈΛ੍͍ͨ͠߹͕͋Δ
Α͋͘Δରࡦ w TFUMPDL͏ w EBFNPOUPPMTଐͷͭ͋Δ ͚ͲɺHPʹQPSU͞Εͨϙʔλϒϧ ͳͭ͋Δ w NP[OJPO
TFUMPDLͷ w ϩʔΧϧͰϩοΫͱΔԽͷ ͛ʹͳΔ w Ҏ্ʹόονδϣϒΛόϥϯγϯάͯ͠ Δ߹ w "ͰϩοΫͱ࣮ͬͯߦ#ͰϩοΫऔͬͯ ࣮ߦ"ऴΘͬͯϩοΫղ์#ऴΘͬ
ͯϩοΫղ์ɺͱͳΓ͔Ͷͳ͍
ഉଞ੍ޚʹ͍ͭͯ ߟ͍͑ͯͨΒ ԽΉ͍ͣ ʹͿͪͨͬͨ
ԽΉ͍ͣ w ͭ͡ഉଞ੍ޚϚωʔδυͳ SFEJTͱ͔EZOBNPͰϩοΫͱΕ ͦ͜·ͰʹͳΒͳ͍ w ഉଞ੍ޚ͚ͩͰͳ͍ w εέδϡʔϥͷԽ͕͋Δ
εέδϡʔϥͷԽ w δϣϒεέδϡʔϥͷރΕ࣮ͨɺ ৴པͱ࣮ͷDSPOE w ·͡ͰΑ͘Ͱ͖͍͗ͯ͢Δ w ࠷ߴͷδϣϒεέδϡʔϥ w ͔͠͠ԽΛߟ͑Δͱ಄௧͍
DSPOE w BDUJWFTUBOECZ w ͩΕ͔͕DSPOαʔόʔͷࢮ׆ࢹͯ͠ɺ ࢮΜͰͨΒTUBOECZͷ΄͏ͷDSPOEΛ BDUJWFʹͯ͠ w ·͡ʁʁʁ
DSPOE w BDUJWFBDUJWF w Ͱಉ࣌ʹδϣϒճͯ͠Ͳ͏͢ΜͶΜ w εέδϡʔϥ֎ʹग़ͯ͠ɺ֎͔ΒLJDL͢ Δʁ w ͡Ό͋ͦͷεέδϡʔϥͲ͏Խ͠Α͏
͔ w ʮʝʝʝʝʯ
ͻͱͭͷղͱͯ͠ w ϑϧϚωʔδυΫϥυαʔϏε͔ͭͬͯ͠ ·͏ͱ͍͏ख͋Δ w ྫͱͯ͠ w શ෦͍Γɿ"84#BUDI&$44IFEVMFE5BTL w εέδϡʔϥɿ$MPVE8BUDI&WFOUT
w δϣϒΩϡʔɿ424 w ϫʔΧʔɿFMBTUJDCFBOTUBMLXPSLFS MBNCEBFUDʜ
Ұൠతࣄ·ͱΊ w ϩά௨ͳͲ w ͍·IPSFOTP͋Δ w Խ w ΫϥυͷϚωʔδυαʔϏε͋Δ w
ഉଞ੍ޚ w άϩʔόϧʹϩοΫͱΕΑ͠
Ұൠతࣄ
ࣾࣄ
ೖࣾͷ࠶ݱ753 w ɹʮΑ͏ͦ͜$MBTTJʂʯ w ɹʮΑΖ͓͘͠Ͷ͕͍͠·͢ʯ w ɹʮͱ͜ΖͰɺ͜͜ʹόοναʔόʔ ͕͋Δ͡ΌΖʁʯ w ɹʮ͍ʯ
ೖࣾͷ࠶ݱ753 w ɹʮVQUJNFΛΈ͍ͯͩ͘͞ʯ w ɹʮޙظߴྸΠϯελϯε͡ΌΜʯ w ɹʮ͜ͷόοναʔόʔ͕མͪΔͱ αʔϏε͕ࢭ·Γ·͢ʯ w ɹʮͳʹͦΕ͜Θ͍ʯ
ೖࣾͷ࠶ݱ753 w ɹʮͦͯ͜͠ͷόοναʔόʔͷߏ ཧεΫϦϓτϝϯς͞ΕͯΔ ͔Ͳ͏͔ෆ໌Ͱ͢ʯ w ɹʮͳʹͦΕ͜Θ͍ʯ
ೖࣾͷ࠶ݱ753 w ɹʮΠϯελϯε͕མͪͨ͋ͱɺ෮ چͤ͞Δํ๏z୭Βͳ͍zʯ w ɹʮ͜Θ͍ͱ͢Βݴ͑ͳ͘ͳ͖ͬͯ ͨʯ
ೖࣾͷ࠶ݱ753 w ɹʮ͋ͱɺ͜ͷΠϯελϯεͰ͢͝ ͍ॏཁͳδϣϒΩϡʔϫʔΧʔಈ ͍ͯΔʯ w ɹʮ·͡ͰݴͬͯΜͰ͔ͦ͢Εʯ
ೖࣾͷ࠶ݱ753 w ɹʮͳ͓όονδϣϒͷςετͳ ͍ͷͰόονδϣϒࣗମΛվम͢Δ ͜ͱͰ͖ͳ͍ʯ w ɹʮʢ͜͜ͰനΛΉ͍ͯաݺٵʹ ؕΔʣʯ
ೖࣾͷ࠶ݱ753 w ɹʮ͠Μ͍͞Μͷ࠷ॳͷࣄɺ ͜ΕΛͲ͏ʹ͔͢Δ͜ͱͰ͢ʯ w ɹʮͲ͏ʹ͔ʜʜʁʯ w ɹʮͲ͏ʹ͔Ͱ͢ʯ w ɹʮӕͰ͠ΐʂʁʯ
͜͜Ͱ$50ͷ ϑΥϩʔ
ؾΛऔΓͯ͠ Λཧͯ͠ΈΔ
ߏཧεΫϦϓτ w ࣮ࡍ·ͬ͞Βͳڥʹ͍ͭ͜Λͯ ͯΈͨΒҟৗऴྃ͠·͘Δ w ʮ͜ΕɺࠓαʔόʔམͪͨΒؒ Ϳͬଓ͚Ͱ෮چ࡞ۀͩͳʝʝʯ
ϩάࢹΞϥʔτ w ͕͢͞ʹϩά͕EFWOVMMʹٵ͍ ࠐ·Ε͍ͯΔͱ͍͏͜ͱͳ͔ͬͨ w ͔͠͠ϝʔϧͰશ෦ඈΜͰ͖ͯΔ w ࣦͬͯഊ͢Δ͍ͭͨ
Խ w ͜Ε͕ϥεϘε w ΫϥυͷϚωʔδυαʔϏεʹҠ ߦʁ w ҰےೄͰ͍͔ͳ͍ෳͷ͕བྷΈ߹ͬ ͍ͯͯɺΉ͔ͣͦ͠͏
ٕज़త w ϚωʔδυαʔϏεɺίϯςφԽ͕લఏͩͬͨΓɺ ͦͷαʔϏεͷʮ͓࡞๏ʯΛकΔඞཁ͕͋Δ w Ұํฐࣾͷόονδϣϒ&$ͷΧελϜ".* ͕࡞ͬͯ͘ΕͯΔڥʹΊͪΌΊͪΌʹґଘͯ͠ ͍Δ w ͋ͱɺϫʔΧʔಉډͯ͠Δ͔ΒͦΕͳΜͱ͔
͠ͳ͍ͱ͍͚ͳ͍
࣏త w ֶߍʹͬͯΒ͏ެతͳੑ֨ͷαʔ Ϗε w ެతॻྨΛ࡞ΔͨΊʹαʔυύʔςΟͷϑΥϯτʹ ґଘ͍ͯ͠Δ͜ͷϥΠηϯε͕ʮ͍͘Βʯ w ج४Λຬͨͨ͢ΊʹαʔυύʔςΟͷΟϧεεΩϟ ϯιϑτʹґଘͯ͠Δ͜ͷϥΠηϯε͕ʮ
͍͘Βʯ w ίϯςφΆΜΆΜཱͯΔΈ͍ͨͳͷ͕Ͱ͖ͳ͍
Ͳ͏ཱ͔ͪ͏͔
Λׂ͢Δ w ߏཧεΫϦϓτ w ϫʔΧʔಉډ w ϥΠηϯε w όονԽ w
δϣϒͷ൱ՄࢹԽ
ґଘؔཧ w ߏཧεΫϦϓτ w ϫʔΧʔಉډ w ϥΠηϯε w όονԽ w
δϣϒͷ൱ՄࢹԽ
ґଘؔΛ ߟ͑ͳ͕Β ʮͻͱͭͣͭʯ ղܾ͍ͯ͘͠
ߏཧεΫϦϓτ w ͍ͬͣͭ͜ɺࣦഊ͢ΔݪҼΛௐࠪ͠ ͯʮΔ͚ͩʯ w ͜Ε͕ղܾ͢ΔͱɺʮμϯλΠϜ ग़Δ͚ͲεΫϦϓτҰൃͰ෮چͰ͖ Δʯʹͳ͍ͬͯͩͿؾָ͕࣋ͪʹͳ Δ
ϫʔΧʔಉډ w ৽͘͠ɺԽ͞ΕͨϫʔΧʔΫϥ ελΛ࡞ͬͯɺͦ͜ʹδϣϒΛಀ͕ ͯ͠Δ w ͜ΕʮΔ͚ͩʯ
ϥΠηϯε w ͦͦ͜͜ϥΠηϯεͷ͕͋Δ͔Β ԽఘΊΔʢਓؒఘΊ͕؊৺ʣ w ͍ɺμϯλΠϜ͕ग़ͯͦ͜·ͰʹͳΒ ͳ͍ͷͩͬͨ w ಉ͘͡ผαʔόʔʹδϣϒΛಀ͢ w
ߏཧͪΌΜͱͬͯɺҰൃͰ෮چͰ͖ΔΑ͏ ʹ͓ͯ͘͠ w ͜ΕʮΔ͚ͩʯ
όονԽ w ϥεϘεʂ w ·ͣߏΛߟ͑Δ
͓͞Β͍ w δϣϒͷίʔυʹखΛೖΕΔͷҰ ୴ݫ͍͠ w ίϯςφԽΉ͔͍ͣ͠ w ϚωʔδυαʔϏεʹҠߦΉ͔ͣͦ͠͏ w &$Λੜ͔͢͜ͱΛલఏͱ͠ͳ͚Εͳ
Βͳ͍
&$ΛԽ w BDUJWFTUBOECZΓͨ͘ͳ͍ w εέδϡʔϥࣗମϚωʔδυͳ $MPVE8BUDI&WFOU͕ଘࡏ͢Δ
Ҋ w εέδϡʔϥɿ$MPVE8BUDI&WFOU w δϣϒΩϡʔɿ424 w δϣϒϫʔΧʔɿ&$ w &$͕424͔ΒEFRVFVF͢Δඞཁ͋Δ w
͚ͦͩ͜ॻ͚ղܾͦ͠͏ʢBUMFBTU PODFTFMPDLߟ͑Δඞཁ͋Γʣ
None
ίϛϡχςΟʹ૬ஊ w )BDIJPKJQNͷTMBDLʹͯʮ͜͏ ͍͏ҊΛߟ͑ͯΔΜ͚ͩͲɺͳΜ͔ࣅ ͨΑ͏ͳࣄྫͱ͔Γ·ͤΜ͔ʯ w NBDPQZʮ͏ͪɺ΄ͱΜͲಉ͡ߏ ͰͬͯͯɺͦΕ༻ͷπʔϧ044 ʹͳͬͯ·͢Αʯ
NBDPQZ
TRTKLS w ·͞ʹߟ͑ͯͨ௨Γͷͭ w 424ͷBUMFBTUPODFʹɺ δϣϒഉଞ੍ޚʹରԠͯ͠Δʂ w ͦͷઅ͋Γ͕ͱ͏͍͟͝·͢ w LBZBD
࠷ऴҊ w εέδϡʔϥɿ$MPVE8BUDI&WFOU w δϣϒΩϡʔɿ424 w δϣϒϫʔΧʔɿ&$ w &$͕424͔ΒEFRVFVF͢Δඞཁ͋Δ w
ͦ͜TRTKLSʹ·͔ͤΔʢଞ࣮ࣾ͋ Δʂʣ
όονԽ w ͋ͱΔ͚ͩ
δϣϒͷ൱ՄࢹԽ w ϩά͍··Ͱ௨Γ w IPSFOTPೖΕࣦͯഊϨϙʔτඈ͢ w ͓·͚ͰδϣϒՄࢹԽαΠτΛख࡞Γͨ͠ w IPSFOTPͰ͜͜ʹʮ։࢝ʯʮޭʯʮࣦഊʯΠϕϯ τඈͯ͠ҰཡදࣔͰ͖ΔΑ͏ʹͨ͠
w ͜Ε݁ߏΑͯ͘ɺʮ͋Εɺ͜ͷδϣϒΊͪΌΊͪΌ ͬͯ͘ͳ͍ʁʯͱ͔ࠓ·Ͱݟ͑ͳ͔ͬͨͷΛ ՄࢹԽͰ͖ͨ
উͬͨʂୈ෦ʂ
ࣗຫ w Ҏ্ͷࣄΛࢼ༻ظؒͷϲ݄ͷؒ ʹୡͨ͠ͷͰ΅͘Ғ͍ͱࢥ͍· ͢
ৼΓฦΓ
Ҡߦʹඞཁͩͬͨ͜ͱ w ෳࡶʹབྷ·ͬͨΛղ͢Δ͜ͱ w ιʔεϦʔσΟϯάྗ w ৺ཧత҆શੑ w ༐ؾʢOPUٕज़ྗʣ w
ίϛϡχςΟͷྗ
ͷղ w བྷ·Γ߹ͬͯखʹෛ͑ͳͦ͏ʹݟ͑ Δɺׂ͢Δͱͻͱͭͻͱͭ ʮΔ͚ͩʯʹͳΔ
ιʔεϦʔσΟϯά w ݱঢ়Λௐࠪ͢ΔͨΊʹઈରʹඞཁ w υΩϡϝϯτॻ͍ͨॠؒʹԽ͕࢝ ·Δ w ίϝϯτਓؒӕΛ͖ͭͨ͘ͳͯ͘ ͍ͭͯ͠·͏ w
ಈ͍͍ͯΔιʔεΛಡΉྗ͕҆શΛੜΉ
৺ཧత҆શੑ w Ғͦ͏ͳ͜ͱݴ͓͖ͬͯͳ͕ΒɺҠ ߦதʹͻͱͭোΛग़ͯ͠͠·ͬͨ w $50ʮͰࣄվળ͍ͯ͠Δɻ͠ Μ͍͞Μ͋Γ͕ͱ͏ʯ w ͜Ε͕͔͋ͬͨΒࢭ·ΒͣʹվળΛ ਐΊΒΕͨ
༐ؾ OPUٕज़ྗ w ʮ͠Μ͍͞Μ͔ͩΒͰ͖Δ͜ͱʯͬ ͯݴͬͯ͘Εͨಉ྅͕͍ͨ w ͚ͲͦΜͳ͜ͱͳ͍ɻӨڹͰ͔͍͚ Ͳʮ͍͜͠ͱʯͻͱͭͯ͠ͳ͍ w ͬͯΔͷଞਓͷٕज़
IPSFOTP TRTKLS "84ʣ
ίϛϡχςΟͷྗ w ίϛϡχςΟʹ૬ஊ͢Δ͜ͱͰΑ͍ղ ܾ͕ੜ·Εͨ w ίϛϡχςΟ͕࡞Γग़ͯ͘͠Ε͍ͯͨ ༷ʑͳϓϩμΫτʹॿ͚ΒΕ͍ͯΔ w ͡Ό͋΅ͤ͘ΊͯࣄྫհΛ͠Α͏ w
ใԸँಙ
$.
Ҡߦͯ͠͏Ε͔ͬͨ͜͠ͱ w فΔ͕࣌ؒݮͬͨɻ͔ΘΓʹɺ UXJUUFSΛ͢Δ͕࣌ؒ૿͑ͨ w ΈΜͳʹ͋Γ͕ͱ͏ͬͯݴͬͯΒ ͑ͨ w ৽͍͠৬ͷؒʹͳΕͨײ
Ҡߦͯ͠͏Ε͔ͬͨ͜͠ͱ w $50ʮz͜Εखʹෛ͑ͳ͍ΑͶzl ͍͠ΑͶʜʜzͱ͍͏ఘΊϜʔυʹ ͳΓ͕͚ͪͩͬͨͲɺ͜ͷҰ݅Ͱͩ ͍Ϳͦ͏͍͏จԽ͕มΘͬͨʯ
+PJOVT w ࣄۀΊͪΌΊͪΌ͏·ͯ͘͠ ͍Δ w ٕज़͕ϘτϧωοΫͦͷଘ ʹΛৼΔ͏͜ͱ͕Ͱ͖·͢ w Ұॹʹղܾ͍͖ͯ͠·ͤΜ͔ʂʁ
2ʁ
࣭ ͜ͷ͋ͱ͔ !TIJOQFJ ·Ͱ