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
12
3.6k
設計ナイト2022 トランザクションスクリプト
Shinpei Maruyama
June 14, 2022
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
3
3.9k
Ruby (off|with) the Rails
shinpeim
20
5.2k
綱渡りバッチ脱出大作戦
shinpeim
3
3.7k
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 Programming
See All in Programming
AHC051解法紹介
eijirou
0
640
AIでLINEスタンプを作ってみた
eycjur
1
220
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
210
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
110
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
為你自己學 Python - 冷知識篇
eddie
1
310
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
150
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
130
時間軸から考えるTerraformを使う理由と留意点
fufuhu
3
200
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
180
コンテキストエンジニアリング Cursor編
kinopeee
1
730
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
150
Featured
See All Featured
Done Done
chrislema
185
16k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
500
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Fireside Chat
paigeccino
39
3.6k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Designing Experiences People Love
moore
142
24k
For a Future-Friendly Web
brad_frost
179
9.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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ϨϕϧͰͷϦϑ ΝΫλ͕҆શʹߦ͑Δ
͖ͭͮʢ͋Εʣ σΟεΧογϣϯͰ