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
設計ナイト2022 トランザクションスクリプト
Search
Shinpei Maruyama
June 14, 2022
Programming
11
3.4k
設計ナイト2022 トランザクションスクリプト
Shinpei Maruyama
June 14, 2022
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.5k
Ruby (off|with) the Rails
shinpeim
20
5k
綱渡りバッチ脱出大作戦
shinpeim
3
3.4k
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.2k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
32k
Other Decks in Programming
See All in Programming
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Recoilを剥がしている話
kirik
5
6.6k
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
事業成長を爆速で進めてきたプロダクトエンジニアたちの成功談・失敗談
nealle
3
1.4k
快速入門可觀測性
blueswen
0
330
useSyncExternalStoreを使いまくる
ssssota
6
1k
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Automating Front-end Workflow
addyosmani
1366
200k
Bash Introduction
62gerente
608
210k
Site-Speed That Sticks
csswizardry
2
190
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Speed Design
sergeychernyshev
25
670
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Building Your Own Lightsaber
phodgson
103
6.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Transcript
!TIJOQFJ ʮ%%%ͱ͔ΫϦʔϯΞʔΩςΫνϟͱ͔ϚΠΫϩαʔ Ϗεͱ͔Ͳ͏Ͱ͍͍͔Βͱʹ͔͘ϩάݟͯTFOUSZݟ ͯEBUBEPHݟͯཉ͍͠ʯ !POJHSB@ ɹΛཱͤ͞Δ !ઃܭφΠτʮτϥϯβΫγϣϯεΫϦϓτʯ
IUUQTUXJUUFSDPNPOJHSB@TUBUVT ಉ྅ͷπΠʔτ
ࣗݾհ w ຊۀࣗশϛϡʔδγϟϯͷޙஉੑ w ϑϧλΠϜͷ෭ۀͰ$MBTTJͱ͍͏ձࣾͷ71P5 w 4DBMB͖ w σʔλϞσϦϯά͖ w
υϝΠϯϞσϦϯά͖
"ύʔτ
IUUQTUXJUUFSDPNPOJHSB@TUBUVT
Θ͔Δ ઃܭτʔΫ͔ͬΓͬͯͳ͍Ͱ γεςϜΛӡ༻͠Ζ ʢઃܭφΠτͱͳΜͩͬͨͷ͔ʣ
2 Ͳ͏Ͱ͍͍ͬͯͨ͋͜ͳ͍ͩΖ
" ͦΕͦ͏͕ͩ ʮͲ͏Ͱ͍͍ʯ ͬͯݴ͑Δ͕݅͋Δ
2 ͡Ό͋݅Λຬͨͨ͠Β τϥϯβΫγϣϯεΫϦϓτͰ͑͑Μ͔ʁ
" ͑͑ ͦͷ݅ͱʁ
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQUͱ%PNBJO.PEFMΑ͘ೋ߲ରཱͱͯ͠ѻΘΕΔɻ w ͜͜Ͱݴ͏%PNBJO.PEFMͬͯͷ͍ΘΏΔ%%%จ຺ͷͭͰ w %#͔Βಠཱͯͯ͠ w ϏδωεϩδοΫʢʁʣΛ00Ͱʢʁʣදݱͨ͠ͷ w
͔͠͠ຊʹ͜ΕΒೋ߲ରཱ͔ʁ5Y4DSJQUѱͳͷ͔ʁ w ࠓ͜ͷΜͬ͘͡Γߟ͍͑ͨ w ·ͣͦΕͧΕͷಛΛ͓͞Β͍
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU w Ϣʔβʔ͔ΒͷΞΫγϣϯͱରԠͨ͠ϩδοΫ w %#ΞΫηεϏδωεϩδοΫʢʁʣόϦσʔγϣϯʢʁʣશ෦Δ w ͏શ෦͍͋ͭҰਓͰ͍͍Μ͡Όͳ͍͔ͳ
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM w ϢʔβʔͷΞΫγϣϯͱରԠͰͳ͍ w %#ΞΫηε͠ͳ͍ w όϦσʔγϣϯʢʁʣ͠ͳ͍ w
"MXBZT7BMJE%PNBJO.PEFMͬͯͭͶ w ͱ͍͑ʮಥ͖߹ΘͤΤϥʔʯͬͯͭ"MXBZT7BMJEʹͰ͖ΜͷΑ w ࠓճ͜ͷείʔϓʹೖΕͳ͍
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU 3FRVFTU 5Y4DSJQU 3FTQPOTF 7BMJEBUJPO %# "DDFTT #VTJOFTT
-PHJD %# "DDFTT
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM 3FRVFTU 6TFDBTF 3FTQPOTF 3FQPTJUPSZ &OUJUZ %# "DDFTT
#VTJOFTT -PHJD 0SDIFTUSBUF 7BMVF0CKFDU #VTJOFTT -PHJD %PNBJO4FSWJDF #VTJOFTT -PHJD
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU 3FRVFTU 5Y4DSJQU 3FTQPOTF 7BMJEBUJPO %# "DDFTT #VTJOFTT
-PHJD %# "DDFTT FBTZͰ͏Ε͍͠
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM 3FRVFTU 6TFDBTF 3FTQPOTF 3FQPTJUPSZ &OUJUZ %# "DDFTT
#VTJOFTT -PHJD 0SDIFTUSBUF 7BMVF0CKFDU #VTJOFTT -PHJD %PNBJO4FSWJDF #VTJOFTT -PHJD TJNQMFʹ Ͱ͖ͯ͏Ε͍͠ʂʂ
IUUQTUXJUUFSDPNLBXBTJNBTUBUVT
None
LBXBTJNB͞Μ͕ͥΜͿॻ͍ͯͨ
"ύʔτ·ͱΊ w 5Y4DSJQUJTFBTZCVUTPNFUJNFTDPNQMFY w 5Y4DSJQUɺѱऀʹ͞Ε͕͚ͪͩͲɺৗʹ5Y4DSJQU͕ѱͳΘ͚Ͱͳ͍ɻ w ेʹ4JNQMFͳϢʔεέʔεͰɺ5Y4DSJQUͰ4JNQMF &BTZ͕࣮ݱͰ͖ͯ͏ Ε͍͠ w
ٯʹ4JNQMFͳͷʹυϝΠϯΦϒδΣΫτಋೖͨ͠ΒDPNQMJDBUFEʹͳͬͯ͠ ·͏Α w ΈΜͳେ͖'J[[#V[[&OUFSQSJTF&EJUJPO
#ύʔτ
%PNBJO.PEFMʮநग़ʯ͢Δͷ w %PNBJO.PEFMҭͯΔͷʢཁग़యʣͰ͋Δ w ͔࣮ͨ͠ફ%%%ʹͦΜͳ͜ͱॻ͍ͯ͋ͬͨؾ͕͢ΔʢͪΐͬͱௐΔ࣌ؒ ͕ͳ͔ͬͨʣ w ͭ·Γɺ࠷ॳͷ͏ͪͲΜͳυϝΠϯϞσϧΛݟग़͍͍͔ͤΘ͔Βͳ͍ ͜ͱ͕ଟ͍ w
ϓϩμΫτΛఏڙ͠ଓ͚Δ͏ͪʹΑΓྑ͍υϝΠϯϞσϧ͕ݟ͔ͭΓ࢝ΊΔ
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU 3FRVFTU 5Y4DSJQU 3FTQPOTF 7BMJEBUJPO %# "DDFTT #VTJOFTT
-PHJD %# "DDFTT
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU 3FRVFTU 5Y4DSJQU 3FTQPOTF 7BMJEBUJPO %# "DDFTT #VTJOFTT
-PHJD %# "DDFTT ͜ΕΛ
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM 3FRVFTU 6TFDBTF 3FTQPOTF 3FQPTJUPSZ &OUJUZ %# "DDFTT
#VTJOFTT -PHJD 0SDIFTUSBUF 7BMVF0CKFDU #VTJOFTT -PHJD %PNBJO4FSWJDF #VTJOFTT -PHJD
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM 3FRVFTU 6TFDBTF 3FTQPOTF 3FQPTJUPSZ &OUJUZ %# "DDFTT
#VTJOFTT -PHJD 0SDIFTUSBUF 7BMVF0CKFDU #VTJOFTT -PHJD %PNBJO4FSWJDF #VTJOFTT -PHJD ঃʑʹ͜͏͢Δ
ͦΜͳ͜ͱ͕Մೳͳͷ͔ʂʁ
5Y4DSJQU74%PNBJO.PEFMʁ w 5Y4DSJQU 3FRVFTU 5Y4DSJQU 3FTQPOTF 7BMJEBUJPO %# "DDFTT #VTJOFTT
-PHJD %# "DDFTT
5Y4DSJQU74%PNBJO.PEFMʁ w %PNBJO.PEFM 3FRVFTU 6TFDBTF 3FTQPOTF 3FQPTJUPSZ &OUJUZ %# "DDFTT
#VTJOFTT -PHJD 0SDIFTUSBUF 7BMVF0CKFDU #VTJOFTT -PHJD %PNBJO4FSWJDF #VTJOFTT -PHJD
֎͔ΒΈΔͱಉ͡
IUUQTUXJUUFSDPNLBXBTJNBTUBUVT
LBXBTJNB͞Μ͕ͥΜͿॻ͍ͯͨ
5Y4DSJQUJTB6TFDBTF w 5Y4DSJQUϨϕϧͰͷ6OJU5FTU͕ॻ͔Ε͍ͯΕɺͦΕͦͷ··6TFDBTFϨ ϕϧͷ6OJU5FTUʹͳΔ w ͜ͷςετΛյ͞ͳ͍6TFDBTFϨϕϧͰͷڍಈ͕୲อ͞Ε͍ͯΔ w օ͞Μେ͖ϦϑΝΫλϦϯάͷ͓࣌ؒͰ͢ w 7BMVF0CKFDUͷநग़ͱ͔ΊͬͪΌίετͦ͘ΕͳΓʹޮՌ͕͋Δخ͠
͍ͭ w %%%ͬͯ݁ہී௨ͷ00ͩΑͶͬͯͷ͜͜ͷ
#ύʔτ·ͱΊ w 5Y4DSJQUͱ%PNBJO.PEFMೋ߲ରཱͰͳͯ͘ϨΠϠʔ͕ҟͳΔ w 5Y4DSJQUͱಉ͡ϨΠϠʔʹ͍Δͷ6TFDBTF w 5Y4DSJQUΛ͖ͪΜͱςετͰक͓ͬͯ͘͜ͱͰஈ֊తʹ5Y4DSJQU͔Β%PNBJO .PEFMͷநग़͕Մೳ w ͭ·ΓͪΌΜͱςετॻ͍ͯ͋Ε5Y4DSJQUͰ͑͑
མͪึर͍ w 6TFDBTFϨϕϧͷςετॻ͍ͱ͘ͱɺ5Y4DSJQU͕$PNQMFYʹͳ͖ͬͯͨͱ͖ ʹͭΒ͘ͳΓ·͢ w $PNQMFY4JNQMFCVUTPNFUJNFTDPNQMJDBUFEͷ͖͔͚͔ͬͭΊ Δ w $PNQMJDBUFE͡Όͳͨ͘͢Ίʹ00ྗʢʁʣ͕ඞཁͳͷ͡Όʜʜ
IUUQTUXJUUFSDPNPOJHSB@TUBUVT 6TFDBTFϨϕϧͷςετॻ͍ͯཉ͍͠
·ͱΊ w ʮ%%%ͱ͔ΫϦʔϯΞʔΩςΫνϟͱ͔ϚΠΫϩαʔϏεͱ͔Ͳ͏Ͱ͍͍ ʢ5Y4DSJQUͰ͍͍ʣ͔Βͱʹ͔͘ϩάݟͯTFOUSZݟͯEBUBEPHݟͯཉ͍͠ʯ͕ ཱ͢ΔͨΊʹ w Ϣʔεέʔε͕ेʹγϯϓϧͰ͋Γɺ5Y4DSJQUͰ4JNQMF͔ͭ&BTZ͕࣮ݱ Ͱ͖Δ w 03"/%
w 5Y4DSJQUʹରͯ͠Ϣχοτςετ͕ॻ͔Ε͓ͯΓɺ6TFDBTFϨϕϧͰͷϦϑ ΝΫλ͕҆શʹߦ͑Δ
͖ͭͮʢ͋Εʣ σΟεΧογϣϯͰ