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.4k
綱渡りバッチ脱出大作戦
Shinpei Maruyama
January 26, 2019
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.4k
設計ナイト2022 トランザクションスクリプト
shinpeim
11
3.4k
Ruby (off|with) the Rails
shinpeim
20
4.9k
Building native apps with scala.js
shinpeim
2
1.2k
今あえて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.2k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Other Decks in Technology
See All in Technology
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
AIチャットボット開発への生成AI活用
ryomrt
0
170
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
Terraform Stacks入門 #HashiTalks
msato
0
360
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
TypeScript、上達の瞬間
sadnessojisan
46
13k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Code Review Best Practice
trishagee
64
17k
A designer walks into a library…
pauljervisheath
204
24k
The Language of Interfaces
destraynor
154
24k
Automating Front-end Workflow
addyosmani
1366
200k
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 ·Ͱ