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
300
0
Share
Ractorを使って超簡易的な 決済電文サーバーを実装してみた
Gotanda.rb#54 で発表した内容です。
nilpoona
September 01, 2023
More Decks by nilpoona
See All by nilpoona
ActiveJob AdapterにSQSを利用してみる
nilpoona
0
58
Other Decks in Programming
See All in Programming
net-httpのHTTP/2対応について
naruse
0
340
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
関係性から理解する"同一性"の型用語たち
pvcresin
2
610
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
AIエージェントの隔離技術の徹底比較
kawayu
0
440
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
970
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
200
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
390
New "Type" system on PicoRuby
pocke
1
360
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3k
誰も頼んでない機能を出荷した話
zekutax
0
150
さぁV100、メモリをお食べ・・・
nilpe
0
110
Featured
See All Featured
Designing for Performance
lara
611
70k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
230
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Curious Case for Waylosing
cassininazir
1
360
Building AI with AI
inesmontani
PRO
1
1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Crafting Experiences
bethany
1
160
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
160
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠