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.7k
綱渡りバッチ脱出大作戦
Shinpei Maruyama
January 26, 2019
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.9k
設計ナイト2022 トランザクションスクリプト
shinpeim
12
3.6k
Ruby (off|with) the Rails
shinpeim
20
5.2k
Building native apps with scala.js
shinpeim
2
1.4k
今あえてDRY原則に向き合う
shinpeim
51
560k
Nekogata Drum Sequencer written in Scala.js
shinpeim
2
4k
複雑な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
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.5k
Engineering Failure-Resilient Systems
infraplumber0
0
120
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
260
[kickflow]20250319_少人数チームでのAutify活用
otouhujej
0
130
20250807 Applied Engineer Open House
sakana_ai
PRO
2
530
JAWS-UG のイベントで使うハンズオンシナリオを Amazon Q Developer for CLI で作ってみた話
kazzpapa3
0
110
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
1.3k
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
760
メルカリIBIS:AIが拓く次世代インシデント対応
0gm
2
380
Exadata Database Service on Dedicated Infrastructure セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
0
290
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
400
Delegate authentication and a lot more to Keycloak with OpenID Connect
ahus1
0
230
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Embracing the Ebb and Flow
colly
86
4.8k
How GitHub (no longer) Works
holman
314
140k
Building Applications with DynamoDB
mza
96
6.5k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Gamification - CAS2011
davidbonilla
81
5.4k
Optimizing for Happiness
mojombo
379
70k
Unsuck your backbone
ammeep
671
58k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
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 ·Ͱ