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
Ractorを使って超簡易的な 決済電文サーバーを実装してみた
Search
nilpoona
September 01, 2023
Programming
0
240
Ractorを使って超簡易的な 決済電文サーバーを実装してみた
Gotanda.rb#54 で発表した内容です。
nilpoona
September 01, 2023
Tweet
Share
More Decks by nilpoona
See All by nilpoona
ActiveJob AdapterにSQSを利用してみる
nilpoona
0
33
Other Decks in Programming
See All in Programming
Fiber Scheduler vs. General-Purpose Parallel Client
hayaokimura
1
230
Qiita Bash
mercury_dev0517
2
220
Laravel × Clean Architecture
bumptakayuki
PRO
0
130
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
77
19k
The Implementations of Advanced LR Parser Algorithm
junk0612
1
900
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
580
監視 やばい
syossan27
11
10k
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
1
1.6k
The Evolution of the CRuby Build System
kateinoigakukun
1
740
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
190
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
150
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.5k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
810
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Why Our Code Smells
bkeepers
PRO
336
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
680
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Docker and Python
trallard
44
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Embracing the Ebb and Flow
colly
85
4.7k
Transcript
3BDUPSΛͬͯ؆қతͳ ܾࡁిจαʔόʔΛ࣮ͯ͠Έͨ OJMQPPOB
4NBSU#BOL *OD 4PGUXBSF&OHJOFFS ງ๛ !OJMQPPOB ࣗݾհ !OJMQPPOB
࠷ॳʹ ͙̍Β͍લ͔Β3VCZΛॳΊͯ࠷ۙ3BDUPSͷଘࡏΛͬͨͷͰ ࢼ͠ʹ3BDUPSΛͬͯ؆୯ͳܾࡁిจαʔόʔΛॻ͍ͯΈ·ͨ͠ɻ
͓͢Δ༰ w 3BDUPSΛͬͯΈͨࡶײ w ܾࡁిจͷύʔεͷงғؾ
͞ͳ͍͜ͱ w ฒྻॲཧͷৄ͍ٕ͠๏ w ܾࡁωοτϫʔΫͷৄࡉ
3BDUPS w 3VCZͰͷฒྻϓϩάϥϛϯάΛαϙʔτ͢ΔͨΊͷػೳ w ֤3BDUPS̍ͭҎ্ͷεϨουΛ࣋ͭ w 3BDUPSΦϒδΣΫτຖʹ(7-Λ࣋ͭɻ w ڞ༗ՄೳͳΦϒδΣΫτ੍͕ݶ͞Ε͍ͯΔ
w ༷ˠʹॻ͍ͯ͋Γ·͢IUUQTHJUIVCDPNSVCZSVCZCMPCNBTUFSEPDSBDUPSNE
3BDUPSΦϒδΣΫτͷੜ
εϨουηʔϑʹ͢ΔͨΊ֎෦είʔϓ͔Βִ
؆୯ͳܾࡁిจαʔόʔΛॻ͍ͯΈΔ
ܾࡁిจαʔόʔ w ܾࡁిจͷࠃࡍن֨*40Λύʔε͢Δαʔόʔ w τϥϯεϙʔτ5$1 w 5$1αʔόʔͷ੍ޚʹ3BDUPSΛͬͯΈΔ
ܾࡁిจαʔόʔ
*40ͷجຊߏ w .FTTBHF5ZQF .5* ϝοηʔδͷछྨΛද͢ w #JUNBQͲͷ%BUB&MFNFOU͕ଘࡏ͍ͯ͠Δͷ͔Λ͍ࣔͯ͠Δ w %BUB&MFNFOUτϥϯβΫγϣϯͷใΛද͢ݸʑͷϑΟʔϧυ
ిจͷύʔεॲཧʢ؆қ൛ʣ .5*औಘ #JUNBQऔಘ σʔλऔಘ
ిจͷύʔεॲཧʢ؆қ൛ʣ
ిจͷύʔεॲཧʢ؆қ൛ʣ #JUNBQʙলུ
ిจͷύʔεॲཧʢ؆қ൛ʣ
3BDUPSؒͷίϛϡχέʔγϣϯ w 1VTIܕSTFOE PCK 3BDUPSSFDFJWF w 1VMMܕ3BDUPSZJFME PCK SUBLF
3BDUPSؒͰϝοηʔδΛަ͢Δ͜ͱͰɺ࣮ߦͷಉظ͕ͱΕΔɻ
ಉ࣌ଓΛ੍ޚͯ͠ΈΔ ૹ৴͞ΕͨϝοηʔδΛड͚औΔ ίωΫγϣϯͷՃࢉɾݮࢉΛߦ͏ ଓՄೳ͔݁ՌΛ͑Δ
ಉ࣌ଓΛ੍ޚͯ͠ΈΔ ॏ͍ ଓՄೳ͔νΣοΫ
ಉ࣌ଓΛ੍ޚͯ͠ΈΔ "UPNJDʹॲཧ ͞Ε͍ͯͳ͍ͳ͍
3BDUPSؒͷίϛϡχέʔγϣϯ w 45. 4PGUXBSFUSBOTBDUJPOBMNFNPSZ w ͜ΕͰ"UPNJDʹॲཧͰ͖Δڞ༗ՄೳΦϒδΣΫτ͕ੜͰ͖Δ 3BDUPS57BSHFNΛ͍͚͑ͨ
3BDUPSؒͷίϛϡχέʔγϣϯ "UPNJDʹॲཧͰ͖ΔΦϒδΣΫτΛੜ "UPNJDʹՃࢉɾݮࢉ
ࡶײ w 5ISFBE͕ۤखͳ$16όϯυͳॲཧͰϚϧνίΞΛੜ͔ͨ͠ฒྻॲཧ͕Ͱ͖Δͷྑ͍ w 3BDUPSΦϒδΣΫτΛੜ͢Δ͚ͩͰ؆୯ʹฒྻॲཧ͕ॻָ͚͍ͯ͠ w "DUPSϞσϧͬΆ͘ͳ͍QVMMܕͷϝοηʔδަखஈ͕໘ന͍ w ҆શʹϝϞϦڞ༗͢ΔͨΊͷHFNఏڙ͠Ε͘Ε͍ͯΔͷ҆৺
w ύϑΥʔϚϯεʹ՝͕͋ΔΒ͍͕͠ɺͦͷลৄ͘͠ݟΕ͍ͯͳ͍
ίʔυ(JUIVCʹ͋ΔΑ w ຊ͝հͨ͠ίʔυ(JUIVCͰެ։͍ͯ͠·͢ w IUUQTHJUIVCDPNOJMQPPOBJTP@TFSWFS
͋Γ͕ͱ͏͍͟͝·ͨ͠