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
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
Building Products in the LLM Era
ymatsuwitter
10
5.5k
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
710
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
230
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
370
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
Culture Deck
optfit
0
430
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
150
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Rails Girls Zürich Keynote
gr2m
94
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Done Done
chrislema
182
16k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
For a Future-Friendly Web
brad_frost
176
9.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing for humans not robots
tammielis
250
25k
Writing Fast Ruby
sferik
628
61k
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 ·Ͱ