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.2k
設計ナイト2022 トランザクションスクリプト
Shinpei Maruyama
June 14, 2022
Tweet
Share
More Decks by Shinpei Maruyama
See All by Shinpei Maruyama
Ruby (off|with) the Rails
shinpeim
20
4.7k
綱渡りバッチ脱出大作戦
shinpeim
3
3.1k
Building native apps with scala.js
shinpeim
2
1.1k
今あえてDRY原則に向き合う
shinpeim
51
550k
Nekogata Drum Sequencer written in Scala.js
shinpeim
2
3.7k
複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ
shinpeim
36
14k
Using Scala.js with the JavaScript ecosystems
shinpeim
0
2.1k
Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
shinpeim
22
31k
あの日見た M V Whateverの Modelを僕たちは まだ知らない
shinpeim
20
6k
Other Decks in Programming
See All in Programming
Docker_OSS_ホスティング入門
satokoki645
0
140
仕様と実装で学ぶOpenTelemetry
drumato
2
1.1k
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
AppRouter Panel Talk
yosuke_furukawa
PRO
1
520
freeeのエンジニアが 就活で出そうな コーディングテストを 解説してみる
freee
1
170
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.8k
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
620
Productivity is Messing Around and Having Fun
hollycummins
1
180
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
How to implement a RubyVM with PHP?
memory1994
PRO
2
540
An adventure of Happy Eyeballs
coe401_
1
240
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
770
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Become a Pro
speakerdeck
PRO
13
4.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Optimizing for Happiness
mojombo
370
69k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
Navigating Team Friction
lara
179
13k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4.1k
Code Reviewing Like a Champion
maltzj
515
39k
Typedesign – Prime Four
hannesfritz
36
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
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ϨϕϧͰͷϦϑ ΝΫλ͕҆શʹߦ͑Δ
͖ͭͮʢ͋Εʣ σΟεΧογϣϯͰ