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
210
Ractorを使って超簡易的な 決済電文サーバーを実装してみた
Gotanda.rb#54 で発表した内容です。
nilpoona
September 01, 2023
Tweet
Share
More Decks by nilpoona
See All by nilpoona
ActiveJob AdapterにSQSを利用してみる
nilpoona
0
30
Other Decks in Programming
See All in Programming
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.7k
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
1.4k
情報漏洩させないための設計
kubotak
5
1.3k
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
functionalなアプローチで動的要素を排除する
ryopeko
1
210
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.2k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.3k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Building Applications with DynamoDB
mza
93
6.2k
Producing Creativity
orderedlist
PRO
343
39k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Code Review Best Practice
trishagee
65
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Designing for Performance
lara
604
68k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠