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
260
Ractorを使って超簡易的な 決済電文サーバーを実装してみた
Gotanda.rb#54 で発表した内容です。
nilpoona
September 01, 2023
Tweet
Share
More Decks by nilpoona
See All by nilpoona
ActiveJob AdapterにSQSを利用してみる
nilpoona
0
44
Other Decks in Programming
See All in Programming
Advance Your Career with Open Source
ivargrimstad
0
330
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
520
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
450
CSC305 Lecture 02
javiergs
PRO
1
260
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
600
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
520
Le côté obscur des IA génératives
pascallemerrer
0
120
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
230
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
Featured
See All Featured
Side Projects
sachag
455
43k
Automating Front-end Workflow
addyosmani
1371
200k
Embracing the Ebb and Flow
colly
88
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
GitHub's CSS Performance
jonrohan
1032
460k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
How GitHub (no longer) Works
holman
315
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
KATA
mclloyd
32
15k
Producing Creativity
orderedlist
PRO
347
40k
Designing for humans not robots
tammielis
254
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.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
͋Γ͕ͱ͏͍͟͝·ͨ͠